<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_精灵化石</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/76934/rss</id><updated>2012-02-09T07:14:01Z</updated><author><name>精灵化石</name><uri>http://www.cnblogs.com/116913829/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/116913829/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/76934/rss"/><entry><id>http://www.cnblogs.com/116913829/archive/2012/02/09/2343996.html</id><title type="text">Ubuntu 10.10 与 华为C8650 手机搭建Android 真机开发调试环境</title><summary type="text">学习了半个月的Android，一直都是在虚拟平台上调试，今天想在真实的机子里面跑跑自己写的程序与在虚拟平台上有什么不同，为了学习Android，自己可是特别的买了个Android的手机，华为的C8650，这个手机什么都好，就是只能用电信的东西不爽，而且也是由于这个问题，害我在Ubuntu里面配置真机开发环境的时候吃尽了苦头。 按照Android developer网站上说的一样，在Linux环境下Android的真机调试不能想Windows 一样装个驱动什么的就得了，在Linux里需要建立一个.rules文件，告诉Linux在Android手机的USB插入电脑的时候执行的规则。具体步骤如...</summary><published>2012-02-09T07:14:00Z</published><updated>2012-02-09T07:14:00Z</updated><author><name>精灵化石</name><uri>http://www.cnblogs.com/116913829/</uri></author><link rel="alternate" href="http://www.cnblogs.com/116913829/archive/2012/02/09/2343996.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/116913829/archive/2012/02/09/2343996.html"/><content type="html">&lt;p&gt;学习了半个月的Android，一直都是在虚拟平台上调试，今天想在真实的机子里面跑跑自己写的程序与在虚拟平台上有什么不同，为了学习Android，自己可是特别的买了个Android的手机，华为的C8650，这个手机什么都好，就是只能用电信的东西不爽，而且也是由于这个问题，害我在Ubuntu里面配置真机开发环境的时候吃尽了苦头。&lt;br /&gt;按照Android developer网站上说的一样，在Linux环境下Android的真机调试不能想Windows 一样装个驱动什么的就得了，在Linux里需要建立一个.rules文件，告诉Linux在Android手机的USB插入电脑的时候执行的规则。具体步骤如下：&lt;/p&gt;&lt;p&gt;打开etc目录下的/etc/udev/rules.d文件夹，然后在这个文件夹中建立一个名为51-&lt;br /&gt;android.rules的文件，使用命令：&lt;br /&gt;sudo gedit 51-android.rules&lt;br /&gt;打开文件，输入内容如下：&lt;br /&gt;SUBSYSTEM=="usb",ATTR{idVendor}=="12d1",MODE="0666"&lt;br /&gt;SUBSYSTEM=="usb",EVN{DEVTYPE}=="usb_device",MODE="0666"&lt;br /&gt;这里需要说明一下ATTR{idVendor}=="12d1"，这里填入的12d1是因为我用的是华为的手机，在google的Android文档中华为的手机使用的就是12d1的代号。每个品牌的手机都有其特殊的代号，这个可以到google的网站去查询，或者在系用中使用lsusb命令，同样也可以看到手机对应的代号。配置完成后，使用命令来到SDK说在的文件夹，打开/platform-tools文件夹，分别执行如下的命令：&lt;br /&gt;sudo ./adb kill-server&lt;br /&gt;sudo ./adb start-server&lt;br /&gt;sudo ./adb devices&lt;br /&gt;按照道理来说，应该出现手机的型号信息了，可是，我的华为手机就是没有出现。查询了很多网友的帖子，都说的和上面的差不多，可是我的问题还是没有解决，尝试了所有找到的方法，可是就是死活不出现。&lt;br /&gt;这时我想是不是手机设置的什么原因，于是搜索了一下华为C8650手机的一些信息，终于在一位网友的帖子中说道了C8650，原来加载不了不是我的rules文件的问题，而是C8650的问题。C8650是电信的定制机，也就是因为这样，华为弄出了一个自己的USB的链接方式，主要是为了可以实现电信的一些什么天翼的业务，所以在链接电脑的时候使用的不是google模式，而是华为默认的为电信开发的自己的Normal模式，而使用这种模式，Ubuntu却不认识天翼的那些鬼东西，所以也就是出现了为什么电脑明明可以看得到华为的手机了，但是在eclipse里面却怎么页看不见，出现的全是？？？？？？？？，解决这个问题的方法就是把手机USB的接入模式修改为google的模式即可，步骤如下：&lt;br /&gt;1 使用电话拨打*#*#2846579#*#*&lt;br /&gt;2 这时会出现一个菜单，选择projectMenu&lt;br /&gt;3 接着选择后台设置&lt;br /&gt;4 接着选择USB模式&lt;br /&gt;5 选择Google模式&lt;br /&gt;选择好后，重新启动机子，当再次链接Ubuntu时，手机自动的弹出了USB调试，在控制台中使用./adb devices 页可以看得到机子了，eclipse也可以部署程序到手机上运行了。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/116913829/aggbug/2343996.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/116913829/archive/2012/02/09/2343996.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/116913829/archive/2012/02/09/2343964.html</id><title type="text">Android 国际化</title><summary type="text">Android 手机开发软件，因为不同区域人的使用需要一个国际化的过程。在Android手机开发中，国际话的非常的简单，主要还是在res的文件中下功夫。 在android的项目文件中的res文件夹下，默认生成了软件在手机环境为任何情况下显示的文字鱼图片，而如果我们需要当用户修改了手机的语言环境下自动加载对应的语言的资源文件，只需要创建该语言对应的文件夹和文件即可，比如我们使用的文字，Android默认文字的资源存放在values文件的string.xml文件中，如果我们需要一个中文与英文的文字的资源文件，只需要在res文件夹中创建一个名为values-zh和values-en的文件夹，然后在文</summary><published>2012-02-09T07:00:00Z</published><updated>2012-02-09T07:00:00Z</updated><author><name>精灵化石</name><uri>http://www.cnblogs.com/116913829/</uri></author><link rel="alternate" href="http://www.cnblogs.com/116913829/archive/2012/02/09/2343964.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/116913829/archive/2012/02/09/2343964.html"/><content type="html">&lt;p&gt;Android 手机开发软件，因为不同区域人的使用需要一个国际化的过程。在Android手机开发中，国际话的非常的简单，主要还是在res的文件中下功夫。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 在android的项目文件中的res文件夹下，默认生成了软件在手机环境为任何情况下显示的文字鱼图片，而如果我们需要当用户修改了手机的语言环境下自动加载对应的语言的资源文件，只需要创建该语言对应的文件夹和文件即可，比如我们使用的文字，Android默认文字的资源存放在values文件的string.xml文件中，如果我们需要一个中文与英文的文字的资源文件，只需要在res文件夹中创建一个名为values-zh和values-en的文件夹，然后在文件夹中创建对应的string.xml文件即可。这样当用户手机的语言环境设定为中文时，Android会自动的加载res文件夹中values-zh文件夹中的string.xml文件，然后显示在手机上，其他的语言也是如此。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/116913829/aggbug/2343964.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/116913829/archive/2012/02/09/2343964.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/116913829/archive/2012/02/09/2343960.html</id><title type="text">Android Activity 生命周期与音乐播放器</title><summary type="text">Android 手机开发过程中，理解好Activity的生命周期以及某种状态执行那一个方法在开发中有着事半功倍的作用。Activity 的生命周期可以主要是从创建，暂停，挂起，销毁的过程，如下图：下面通过一个音乐播放器的例子加深自己的记忆。音乐播放器界面：布局的代码如下：&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout</summary><published>2012-02-09T06:59:00Z</published><updated>2012-02-09T06:59:00Z</updated><author><name>精灵化石</name><uri>http://www.cnblogs.com/116913829/</uri></author><link rel="alternate" href="http://www.cnblogs.com/116913829/archive/2012/02/09/2343960.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/116913829/archive/2012/02/09/2343960.html"/><content type="html">&lt;p&gt;Android 手机开发过程中，理解好Activity的生命周期以及某种状态执行那一个方法在开发中有着事半功倍的作用。Activity 的生命周期可以主要是从创建，暂停，挂起，销毁的过程，如下图：&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/163778/2012020914543192.png" alt="" /&gt;&lt;/p&gt;&lt;p&gt;下面通过一个音乐播放器的例子加深自己的记忆。&lt;/p&gt;&lt;p&gt;音乐播放器界面：&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/163778/2012020915050369.png" alt="" /&gt;&lt;/p&gt;&lt;p&gt;布局的代码如下：&lt;/p&gt;&lt;div class="cnblogs_Highlighter"&gt;&lt;pre class="brush:html;collapse:true;;gutter:false;"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&amp;lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" &amp;gt;    &amp;lt;TextView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="@string/filename" /&amp;gt;        &amp;lt;EditText         android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="If I Let You Go.mp3"        android:id="@+id/filename"        /&amp;gt;        &amp;lt;LinearLayout     android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:orientation="horizontal" &amp;gt;        &amp;lt;Button         android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="@string/play"    android:id="@+id/play"    /&amp;gt;        &amp;lt;Button         android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="@string/pause"    android:id="@+id/pause"    /&amp;gt;        &amp;lt;Button         android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="@string/reset"    android:id="@+id/reset"    /&amp;gt;        &amp;lt;Button         android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="@string/stop"    android:id="@+id/stop"    /&amp;gt;    &amp;lt;/LinearLayout&amp;gt;&amp;lt;/LinearLayout&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;首先，当我们运行音乐播放器时，activity被创建，代码如下：&lt;/p&gt;&lt;div class="cnblogs_Highlighter"&gt;&lt;pre class="brush:java;gutter:false;"&gt;private static final String TAG = "AudioPlayerActivity";//音乐文本框输入的值private EditText filenameText;//音乐播放器private MediaPlayer mediaPlayer;//音乐名称private String filename;//音乐播放位置private int position;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);            filenameText = (EditText)this.findViewById(R.id.filename);        mediaPlayer = new MediaPlayer();                ButtonClickListener listener = new ButtonClickListener();        Button play = (Button)this.findViewById(R.id.play);        Button pause = (Button)this.findViewById(R.id.pause);        Button reset = (Button)this.findViewById(R.id.reset);        Button stop = (Button)this.findViewById(R.id.stop);                play.setOnClickListener(listener);        pause.setOnClickListener(listener);        reset.setOnClickListener(listener);        stop.setOnClickListener(listener);    }/** * 按钮单击方法 * @author wmh * */private final class ButtonClickListener implements View.OnClickListener{@Overridepublic void onClick(View v) {Button button = (Button)v;filename = filenameText.getText().toString();try {switch (v.getId()) {case R.id.play:play();break;case R.id.pause:if(mediaPlayer.isPlaying()){mediaPlayer.pause();button.setText(R.string.continuePlay);}else{mediaPlayer.start();button.setTag(R.string.pause);}break;case R.id.reset:if(mediaPlayer.isPlaying()){mediaPlayer.seekTo(0);}else {play();}break;case R.id.stop:if(mediaPlayer.isPlaying()){mediaPlayer.stop();}break;}} catch(IOException e) {Log.e(TAG , e.toString());}}        }/** * 音乐播放函数方法 * @throws IOException */private void play() throws IOException {File audiofile = new File(Environment.getExternalStorageDirectory() , filename);mediaPlayer.reset();mediaPlayer.setDataSource(audiofile.getAbsolutePath());mediaPlayer.prepare();mediaPlayer.start();}&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;当手机在播放音乐的时候，手机有电话播入，这时，需要暂停音乐播放器，那么Activity此时就需要暂停了，那么就会执行Activity的onPause方法了，代码如下：&lt;/p&gt;&lt;div class="cnblogs_Highlighter"&gt;&lt;pre class="brush:java;gutter:false;"&gt;@Overrideprotected void onPause() {super.onPause();if(mediaPlayer.isPlaying()){position = mediaPlayer.getCurrentPosition();mediaPlayer.stop();}}&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;当电话拨打结束后，重新开始播放音乐，此时Activity就被&lt;span style="text-decoration: underline;"&gt;Resume&lt;/span&gt;&lt;span style="text-decoration: underline;"&gt;了，执行的代码的如下：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class="cnblogs_Highlighter"&gt;&lt;pre class="brush:java;gutter:false;"&gt;@Overrideprotected void onResume() {super.onResume();if(position &amp;gt; 0 &amp;amp;&amp;amp; filename != null){try {play();} catch (IOException e) {Log.e(TAG, e.toString());}mediaPlayer.seekTo(position);position = 0;}}&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;当音乐播放器由于某种原因意外关闭了，Activity需要保存当前的状态，以便重新打开时可以使用结束时的状态，代码如下：&lt;/p&gt;&lt;div class="cnblogs_Highlighter"&gt;&lt;pre class="brush:java;gutter:false;"&gt;/** * 当手机意外停止Activity时，保存当前播放音乐的状态 */@Overrideprotected void onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);outState.putString("filename", filename);outState.putInt("position", position);}/** * 当手机内存不足强制关闭Activity时，重新执行Activity时恢复上次意外中断时的状态 */@Overrideprotected void onRestoreInstanceState(Bundle savedInstanceState) {this.filename = savedInstanceState.getString("filename");this.position = savedInstanceState.getInt("position");super.onRestoreInstanceState(savedInstanceState);}&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;这样，音乐播放器就完成了。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/116913829/aggbug/2343960.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/116913829/archive/2012/02/09/2343960.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/116913829/archive/2012/01/08/2316665.html</id><title type="text">Android 操作XML的几种方式</title><summary type="text">最近在学习Android的开发知识。今天在看传智博客黎老师的视频刚好看到了关于xml文件操作的知识，自己在之前的学习使用中基本都是使用DOM的方式操作XML的文件，今天知道了其他的方式总结记录下来方便后面自己使用。Android里面操作xml文件主要有三种方式：SAX方式，DOM方式，PULL方式。据说因为DOM的方式比较耗内存，而手机最纠结的就是存储空间小的问题，所以在Android里面不提倡使用DOM的方式。而SAX方式和PULL方式的思想比较的相似，原理似乎是同出一则的，实现的思想好像是读取字符串的每一个单词一样，每读取一段就判断读取的是什么内容然后执行相应的方法，直至文件的结尾。xml</summary><published>2012-01-08T14:19:00Z</published><updated>2012-01-08T14:19:00Z</updated><author><name>精灵化石</name><uri>http://www.cnblogs.com/116913829/</uri></author><link rel="alternate" href="http://www.cnblogs.com/116913829/archive/2012/01/08/2316665.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/116913829/archive/2012/01/08/2316665.html"/><content type="html">&lt;p&gt;最近在学习Android的开发知识。今天在看传智博客黎老师的视频刚好看到了关于xml文件操作的知识，自己在之前的学习使用中基本都是使用DOM的方式操作XML的文件，今天知道了其他的方式总结记录下来方便后面自己使用。&lt;/p&gt;&lt;p&gt;Android里面操作xml文件主要有三种方式：&lt;/p&gt;&lt;p&gt;SAX方式，DOM方式，PULL方式。据说因为DOM的方式比较耗内存，而手机最纠结的就是存储空间小的问题，所以在Android里面不提倡使用DOM的方式。而SAX方式和PULL方式的思想比较的相似，原理似乎是同出一则的，实现的思想好像是读取字符串的每一个单词一样，每读取一段就判断读取的是什么内容然后执行相应的方法，直至文件的结尾。&lt;/p&gt;&lt;p&gt;xml文件内容：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;pre&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;xml version="1.0" encoding="UTF-8"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;persons&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;person &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="30"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;liming&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;age&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;30&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;age&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;person&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;person &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="23"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;limei&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;age&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;20&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;age&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;person&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;persons&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;下面是三种方式读取xml文件内容的方式：&lt;/p&gt;&lt;p&gt;SAX实现xml文件内容的读取：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('c651478f-6469-418a-8fc3-fd42e37e5c22')"&gt;&lt;img id="code_img_closed_c651478f-6469-418a-8fc3-fd42e37e5c22" class="code_img_closed" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt="" /&gt;&lt;img id="code_img_opened_c651478f-6469-418a-8fc3-fd42e37e5c22" class="code_img_opened" style="display: none;" onclick="cnblogs_code_hide('c651478f-6469-418a-8fc3-fd42e37e5c22',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt="" /&gt;&lt;div id="cnblogs_code_open_c651478f-6469-418a-8fc3-fd42e37e5c22" class="cnblogs_code_hide"&gt;&lt;pre&gt;&lt;span style="color: #0000ff;"&gt;package&lt;/span&gt; cn.edu.gxnu.Service;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; java.io.InputStream;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; java.util.ArrayList;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; java.util.List;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; javax.xml.parsers.SAXParser;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; javax.xml.parsers.SAXParserFactory;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; org.xml.sax.Attributes;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; org.xml.sax.SAXException;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; org.xml.sax.helpers.DefaultHandler;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; cn.edu.gxnu.Domian.Person;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; SAXPersonService {&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: #008000;"&gt;/**&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;     * SAX方式获取XML文件的内容&lt;br /&gt;     * &lt;/span&gt;&lt;span style="color: #808080;"&gt;@param&lt;/span&gt;&lt;span style="color: #008000;"&gt; inStream&lt;br /&gt;     * &lt;/span&gt;&lt;span style="color: #808080;"&gt;@return&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;     * &lt;/span&gt;&lt;span style="color: #808080;"&gt;@throws&lt;/span&gt;&lt;span style="color: #008000;"&gt; Throwable&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; List&amp;lt;Person&amp;gt; getPersons(InputStream inStream) &lt;span style="color: #0000ff;"&gt;throws&lt;/span&gt; Throwable{&lt;br /&gt;        SAXParserFactory factory = SAXParserFactory.newInstance();&lt;br /&gt;        SAXParser parser = factory.newSAXParser();&lt;br /&gt;        PersonParser personparser = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; PersonParser();&lt;br /&gt;        parser.parse(inStream, personparser);&lt;br /&gt;        inStream.close();&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; personparser.getPersons(); &lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: #008000;"&gt;/**&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;     * &lt;br /&gt;     * &lt;/span&gt;&lt;span style="color: #808080;"&gt;@author&lt;/span&gt;&lt;span style="color: #008000;"&gt; wmh&lt;br /&gt;     *&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;final&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; PersonParser &lt;span style="color: #0000ff;"&gt;extends&lt;/span&gt; DefaultHandler {&lt;br /&gt;        &lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; List&amp;lt;Person&amp;gt; persons = &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; Person person = &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;        &lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; String tag = &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; List&amp;lt;Person&amp;gt; getPersons() {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; persons;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #008000;"&gt;/**&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;         * 读取XML至文件开始时方法&lt;br /&gt;         &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;        @Override&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; startDocument() &lt;span style="color: #0000ff;"&gt;throws&lt;/span&gt; SAXException {&lt;br /&gt;            persons = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; ArrayList&amp;lt;Person&amp;gt;();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #008000;"&gt;/**&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;         * 读取XML的元素节点的方法&lt;br /&gt;         &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;        @Override&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; startElement(String uri, String localName, String qName,Attributes attributes) &lt;span style="color: #0000ff;"&gt;throws&lt;/span&gt; SAXException {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;("person".equals(localName)){&lt;br /&gt;                person = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Person();&lt;br /&gt;                person.setId(&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Integer(attributes.getValue(0)));&lt;br /&gt;            }&lt;br /&gt;            tag = localName;&lt;br /&gt;        }&lt;br /&gt;        &lt;br /&gt;        &lt;span style="color: #008000;"&gt;/**&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;         * 读取XML的文本内容时的方法&lt;br /&gt;         &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;        @Override&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; characters(&lt;span style="color: #0000ff;"&gt;char&lt;/span&gt;[] ch, &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; start, &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; length) &lt;span style="color: #0000ff;"&gt;throws&lt;/span&gt; SAXException {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;(tag != &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;){&lt;br /&gt;                String data = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; String(ch , start , length);&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;("name".equals(tag)){&lt;br /&gt;                    person.setName(data);&lt;br /&gt;                }&lt;span style="color: #0000ff;"&gt;else&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;("age".equals(tag)) {&lt;br /&gt;                    person.setAge(&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Short(data));&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        &lt;br /&gt;        &lt;span style="color: #008000;"&gt;/**&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;         * 读取到元素节点结束时的方法&lt;br /&gt;         &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;        @Override&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; endElement(String uri, String localName, String qName) &lt;span style="color: #0000ff;"&gt;throws&lt;/span&gt; SAXException {&lt;br /&gt;            &lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;("person".equals(localName)){&lt;br /&gt;                persons.add(person);&lt;br /&gt;                person = &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;br /&gt;            tag = &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;&lt;br /&gt;        }&lt;br /&gt;        &lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;DOM实现xml文件内容的读取：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('2a1d356f-292f-46a5-a707-bd662bc421fd')"&gt;&lt;img id="code_img_closed_2a1d356f-292f-46a5-a707-bd662bc421fd" class="code_img_closed" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt="" /&gt;&lt;img id="code_img_opened_2a1d356f-292f-46a5-a707-bd662bc421fd" class="code_img_opened" style="display: none;" onclick="cnblogs_code_hide('2a1d356f-292f-46a5-a707-bd662bc421fd',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt="" /&gt;&lt;div id="cnblogs_code_open_2a1d356f-292f-46a5-a707-bd662bc421fd" class="cnblogs_code_hide"&gt;&lt;pre&gt;&lt;span style="color: #0000ff;"&gt;package&lt;/span&gt; cn.edu.gxnu.Service;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; java.io.InputStream;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; java.util.ArrayList;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; java.util.List;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; javax.xml.parsers.DocumentBuilder;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; javax.xml.parsers.DocumentBuilderFactory;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; org.w3c.dom.Document;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; org.w3c.dom.Element;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; org.w3c.dom.Node;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; org.w3c.dom.NodeList;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; cn.edu.gxnu.Domian.Person;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; DOMPersonService {&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: #008000;"&gt;/**&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;     * 使用DOM获取XML文件的内容&lt;br /&gt;     * &lt;/span&gt;&lt;span style="color: #808080;"&gt;@param&lt;/span&gt;&lt;span style="color: #008000;"&gt; inStream&lt;br /&gt;     * &lt;/span&gt;&lt;span style="color: #808080;"&gt;@return&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;     * &lt;/span&gt;&lt;span style="color: #808080;"&gt;@throws&lt;/span&gt;&lt;span style="color: #008000;"&gt; Throwable&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; List&amp;lt;Person&amp;gt; getPersons(InputStream inStream) &lt;span style="color: #0000ff;"&gt;throws&lt;/span&gt; Throwable{&lt;br /&gt;        List&amp;lt;Person&amp;gt; persons = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; ArrayList&amp;lt;Person&amp;gt;();&lt;br /&gt;        &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;DOM文件创建工厂&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();&lt;br /&gt;        &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;DOM创建对象&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;        DocumentBuilder builder = factory.newDocumentBuilder();&lt;br /&gt;        &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;获取XML的DOM&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;        Document document = builder.parse(inStream);&lt;br /&gt;        &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;获取XML文件的内容&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;        Element root = document.getDocumentElement();&lt;br /&gt;        &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;获取XML文件的节点&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;        NodeList personNode = root.getElementsByTagName("person");&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;for&lt;/span&gt;(&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; i = 0 ; i &amp;lt; personNode.getLength() ; i++){&lt;br /&gt;            Person person = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Person();&lt;br /&gt;            Element personElemt = (Element)personNode.item(i);&lt;br /&gt;            person.setId(&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Integer(personElemt.getAttribute("id")));&lt;br /&gt;            &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;获取当前节点的字节点&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;            NodeList personChildNode = personElemt.getChildNodes();&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;for&lt;/span&gt;(&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; y = 0 ; y &amp;lt; personChildNode.getLength() ; y++){&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;(personChildNode.item(y).getNodeType() == Node.ELEMENT_NODE){&lt;br /&gt;                    Element childElent = (Element)personChildNode.item(y);&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;("name".equals(childElent.getNodeName())){&lt;br /&gt;                        person.setName(childElent.getFirstChild().getNodeValue());&lt;br /&gt;                    }&lt;span style="color: #0000ff;"&gt;else&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;("age".equals(childElent.getNodeName())){&lt;br /&gt;                        person.setAge(&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Short(childElent.getFirstChild().getNodeValue()));&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            persons.add(person);&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; persons; &lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;PULL实现xml文件内容的读取：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('ac00d34d-7b5c-4556-918e-0079a1f9aa48')"&gt;&lt;img id="code_img_closed_ac00d34d-7b5c-4556-918e-0079a1f9aa48" class="code_img_closed" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt="" /&gt;&lt;img id="code_img_opened_ac00d34d-7b5c-4556-918e-0079a1f9aa48" class="code_img_opened" style="display: none;" onclick="cnblogs_code_hide('ac00d34d-7b5c-4556-918e-0079a1f9aa48',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt="" /&gt;&lt;div id="cnblogs_code_open_ac00d34d-7b5c-4556-918e-0079a1f9aa48" class="cnblogs_code_hide"&gt;&lt;pre&gt;&lt;span style="color: #0000ff;"&gt;package&lt;/span&gt; cn.edu.gxnu.Service;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; java.io.InputStream;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; java.io.OutputStream;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; java.io.Writer;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; java.util.ArrayList;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; java.util.List;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; org.xmlpull.v1.XmlPullParser;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; org.xmlpull.v1.XmlSerializer;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; android.util.Xml;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; cn.edu.gxnu.Domian.Person;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; PULLPersonService {&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: #008000;"&gt;/**&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;     * PULL方式获取XML文件内容&lt;br /&gt;     * &lt;/span&gt;&lt;span style="color: #808080;"&gt;@param&lt;/span&gt;&lt;span style="color: #008000;"&gt; inStream&lt;br /&gt;     * &lt;/span&gt;&lt;span style="color: #808080;"&gt;@return&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;     * &lt;/span&gt;&lt;span style="color: #808080;"&gt;@throws&lt;/span&gt;&lt;span style="color: #008000;"&gt; Throwable&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; List&amp;lt;Person&amp;gt; getPersons(InputStream inStream) &lt;span style="color: #0000ff;"&gt;throws&lt;/span&gt; Throwable{&lt;br /&gt;        List&amp;lt;Person&amp;gt; persons =  &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;&lt;br /&gt;        Person person = &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;&lt;br /&gt;        XmlPullParser parser = Xml.newPullParser();&lt;br /&gt;        parser.setInput(inStream, "UTF-8");&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; eventType = parser.getEventType();&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;while&lt;/span&gt;(eventType != XmlPullParser.END_DOCUMENT){&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;判断文件是否是文件的结尾，END_DOCUMENT文件结尾常量&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;            &lt;span style="color: #0000ff;"&gt;switch&lt;/span&gt;(eventType){&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; XmlPullParser.START_DOCUMENT:&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;文件开始，START_DOCUMENT文件开始开始常量&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                persons = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; ArrayList&amp;lt;Person&amp;gt;();&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;break&lt;/span&gt;;&lt;br /&gt;                &lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; XmlPullParser.START_TAG:&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;元素标签开始，START_TAG标签开始常量&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                String name = parser.getName();&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;("person".equals(name)){&lt;br /&gt;                    person = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Person();&lt;br /&gt;                    person.setId(&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Integer(parser.getAttributeValue(0)));&lt;br /&gt;                }&lt;br /&gt;                &lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;(person != &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;){&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;("name".equals(name)){&lt;br /&gt;                        person.setName(parser.nextText());&lt;br /&gt;                    }&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;("age".equals(name)){&lt;br /&gt;                        person.setAge(&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Short(parser.nextText()));&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;break&lt;/span&gt;;&lt;br /&gt;                &lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; XmlPullParser.END_TAG:&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;元素标签结束，END_TAG结束常量&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;("person".equals(parser.getName())){&lt;br /&gt;                    persons.add(person);&lt;br /&gt;                    person = &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;&lt;br /&gt;                }&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;break&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;获取当前元素标签的类型&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;            eventType = parser.getEventType();&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; persons;&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;而构造XML的方式页比较好理解，PULL的方式提供了构造文件，节点开始和结束的方法，只需要调用特定的方法传入特定的内容即可完成XML文件的构造&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('5fec8cdf-b495-4357-a4ee-6dded26299f6')"&gt;&lt;img id="code_img_closed_5fec8cdf-b495-4357-a4ee-6dded26299f6" class="code_img_closed" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt="" /&gt;&lt;img id="code_img_opened_5fec8cdf-b495-4357-a4ee-6dded26299f6" class="code_img_opened" style="display: none;" onclick="cnblogs_code_hide('5fec8cdf-b495-4357-a4ee-6dded26299f6',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt="" /&gt;&lt;div id="cnblogs_code_open_5fec8cdf-b495-4357-a4ee-6dded26299f6" class="cnblogs_code_hide"&gt;&lt;pre&gt;&lt;span style="color: #0000ff;"&gt;package&lt;/span&gt; cn.edu.gxnu.Service;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; java.io.InputStream;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; java.io.OutputStream;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; java.io.Writer;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; java.util.ArrayList;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; java.util.List;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; org.xmlpull.v1.XmlPullParser;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; org.xmlpull.v1.XmlSerializer;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; android.util.Xml;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt; cn.edu.gxnu.Domian.Person;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; PULLPersonService {&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: #008000;"&gt;/**&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;     * OputStram方式生成XML文件&lt;br /&gt;     * &lt;/span&gt;&lt;span style="color: #808080;"&gt;@param&lt;/span&gt;&lt;span style="color: #008000;"&gt; persons&lt;br /&gt;     * &lt;/span&gt;&lt;span style="color: #808080;"&gt;@param&lt;/span&gt;&lt;span style="color: #008000;"&gt; outStream&lt;br /&gt;     * &lt;/span&gt;&lt;span style="color: #808080;"&gt;@throws&lt;/span&gt;&lt;span style="color: #008000;"&gt; Throwable&lt;br /&gt;     &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; save(List&amp;lt;Person&amp;gt; persons , OutputStream outStream) &lt;span style="color: #0000ff;"&gt;throws&lt;/span&gt; Throwable{&lt;br /&gt;        XmlSerializer serializer = Xml.newSerializer();&lt;br /&gt;        serializer.setOutput(outStream, "UTF-8");&lt;br /&gt;        serializer.startDocument("UTF-8", &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;);&lt;br /&gt;        &lt;br /&gt;        serializer.startTag(&lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;, "persons");&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;for&lt;/span&gt;(Person person : persons){&lt;br /&gt;            serializer.startTag(&lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;, "person");&lt;br /&gt;            serializer.attribute(&lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;, "id", person.getId().toString());&lt;br /&gt;            &lt;br /&gt;            serializer.startTag(&lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;, "name");&lt;br /&gt;            serializer.text(person.getName());&lt;br /&gt;            serializer.endTag(&lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;, "name");&lt;br /&gt;            &lt;br /&gt;            serializer.startTag(&lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;, "age");&lt;br /&gt;            serializer.text(person.getAge().toString());&lt;br /&gt;            serializer.endTag(&lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;, "age");&lt;br /&gt;            &lt;br /&gt;            serializer.endTag(&lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;, "person");&lt;br /&gt;        }&lt;br /&gt;        serializer.endTag(&lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;, "persons");        &lt;br /&gt;        serializer.endDocument();&lt;br /&gt;        outStream.flush();&lt;br /&gt;        outStream.close();&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;这样，就可以构造一个XML文件了，每个节点都是一对一对的出现的。&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/116913829/aggbug/2316665.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/116913829/archive/2012/01/08/2316665.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/116913829/archive/2012/01/01/2309514.html</id><title type="text">java MD5 密码加密例子</title><summary type="text">最近在做一个新闻发布系统，收到最近网络上不断的泄密的影响。自己页想使用下加密的算法对用户的密码进行简单的加密，作为自己学习的记录。自己在网络上寻找了一些实例，发现目前介绍的基本都是MD5和SHA-1的算法的居多，这里使用的是MDS的加密算法，代码如下： public String md5Digest(String src) throws Exception { // 定义数字签名方法, 可用：MD5, SHA-1 MessageDigest md = MessageDigest.getInstance("MD5"); byte[...</summary><published>2012-01-01T08:46:00Z</published><updated>2012-01-01T08:46:00Z</updated><author><name>精灵化石</name><uri>http://www.cnblogs.com/116913829/</uri></author><link rel="alternate" href="http://www.cnblogs.com/116913829/archive/2012/01/01/2309514.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/116913829/archive/2012/01/01/2309514.html"/><content type="html">&lt;pre&gt;&lt;span style="color: #000000;"&gt;最近在做一个新闻发布系统，收到最近网络上不断的泄密的影响。自己页想使用下加密的算法对用户的密码进行简单的加密，作为自己学习的记录。&lt;br /&gt;自己在网络上寻找了一些实例，发现目前介绍的基本都是MD5和SHA-1的算法的居多，这里使用的是MDS的加密算法，代码如下：&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;pre&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; String md5Digest(String src) &lt;span style="color: #0000ff;"&gt;throws&lt;/span&gt; Exception {  &lt;br /&gt;         &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; 定义数字签名方法, 可用：MD5, SHA-1  &lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;         MessageDigest md = MessageDigest.getInstance("MD5");  &lt;br /&gt;         &lt;span style="color: #0000ff;"&gt;byte&lt;/span&gt;[] b = md.digest(src.getBytes("utf-8"));  &lt;br /&gt;             &lt;br /&gt;         &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.byte2HexStr(b);  &lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;     &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; String byte2HexStr(&lt;span style="color: #0000ff;"&gt;byte&lt;/span&gt;[] b) {  &lt;br /&gt;         StringBuilder sb = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; StringBuilder();  &lt;br /&gt;         &lt;span style="color: #0000ff;"&gt;for&lt;/span&gt; (&lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; b.length; i++) {  &lt;br /&gt;             String s = Integer.toHexString(b[i] &amp;amp; 0xFF);  &lt;br /&gt;             &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (s.length() == 1) {  &lt;br /&gt;                  sb.append("0");  &lt;br /&gt;             }  &lt;br /&gt;                   &lt;br /&gt;             sb.append(s.toUpperCase());  &lt;br /&gt;          }  &lt;br /&gt;               &lt;br /&gt;          &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; sb.toString();  &lt;br /&gt;     } &lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;img src="http://www.cnblogs.com/116913829/aggbug/2309514.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/116913829/archive/2012/01/01/2309514.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/116913829/archive/2011/11/09/2242234.html</id><title type="text">MySql 中文问题的处理</title><summary type="text">昨天在写一个新闻系统，在向Mysql 数据库中存入中文的字符时，发现存进数据库中的数据全是乱码，当时我以为只是数据库里解析字符集解析出错，读出来应该不会有事的，但是我错了，从数据库中读取出来的数据同样是乱码，自己检查了自己的程序字符集，发现都使用了utf-8了。 查看了下mysql的字符集，发现不是utf-8，自己以为是这个问题，于是自己将数据库的字符集改成了utf8，在测试，发现还是出错。找了很多的帖子，发现问题都不能被解决。 自己想了下，应该是字符编码的问题导致的问题，回想了自己在建立数据库的时候没有设置默认的字符编码，是不是这个原因造成的呢？自己在数据库中重新建立了一个新的数据库，不过.</summary><published>2011-11-09T03:15:00Z</published><updated>2011-11-09T03:15:00Z</updated><author><name>精灵化石</name><uri>http://www.cnblogs.com/116913829/</uri></author><link rel="alternate" href="http://www.cnblogs.com/116913829/archive/2011/11/09/2242234.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/116913829/archive/2011/11/09/2242234.html"/><content type="html">&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 昨天在写一个新闻系统，在向Mysql 数据库中存入中文的字符时，发现存进数据库中的数据全是乱码，当时我以为只是数据库里解析字符集解析出错，读出来应该不会有事的，但是我错了，从数据库中读取出来的数据同样是乱码，自己检查了自己的程序字符集，发现都使用了utf-8了。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 查看了下mysql的字符集，发现不是utf-8，自己以为是这个问题，于是自己将数据库的字符集改成了utf8，在测试，发现还是出错。找了很多的帖子，发现问题都不能被解决。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 自己想了下，应该是字符编码的问题导致的问题，回想了自己在建立数据库的时候没有设置默认的字符编码，是不是这个原因造成的呢？自己在数据库中重新建立了一个新的数据库，不过与之前不同的是，这次自己在建立的时候设定了默认的编码格式，同样，在建表的时候自己也同样的设定了默认的编码格式，并且是与我程序代码一样的编码格式。具体如下：&lt;/p&gt;&lt;p&gt;create database 'Article' default character set utf8;&lt;/p&gt;&lt;p&gt;建立数据表时：&lt;/p&gt;&lt;p&gt;create table Banner(...数据项&lt;/p&gt;&lt;p&gt;)ENGINE=MyISAM AUTO_INCREMENT = 1 DEFAULT CHARSET=utf8;&lt;/p&gt;&lt;p&gt;建立完数据库后，我在链接数据库的字符串中加入了字符集的信息，在测试的时候，发现中文问题没有了!!在数据库中也能正常的显示，读取出来的数据也是正常的。我自己想是不是Mysql在建立数据库的时候是不是如果不指定字符的编码格式，而当我们后面在修改数据库的字符编码格式的时候是不是出错了，导致我们无法解决问题...？？？&lt;/p&gt;&lt;img src="http://www.cnblogs.com/116913829/aggbug/2242234.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/116913829/archive/2011/11/09/2242234.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/116913829/archive/2011/11/05/2236846.html</id><title type="text">Ubuntu 桌面图标不见，鼠标右键的问题</title><summary type="text">昨天在Ubuntu 里面搭建J2EE的开发环境，不知道怎么回事，装着装着软件发现自己的鼠标的右键开始不行了，然后自己的文件也开始打不开图标也不见了？我当时以为是装了什么导致桌面或者文件的图标没法加载，于是重新启动了以下，结果进去后发现整个桌面都是一个颜色-蓝色的！！而且上面的问题还是一样的存在，这下把我急得....我花了好长的时间才装好的环境啊！！ 开始在Google里面去找答案，但是很多的帖子的方法都没有解决，今天早上过来又捣鼓了以下，还是不行，在Google，这时看到了一个帖子，与我遇到的问题一样，于是我也照着做了一下，终于自己的文件系统可以打开了...主要步骤：1 终端运行：sudo .</summary><published>2011-11-05T01:28:00Z</published><updated>2011-11-05T01:28:00Z</updated><author><name>精灵化石</name><uri>http://www.cnblogs.com/116913829/</uri></author><link rel="alternate" href="http://www.cnblogs.com/116913829/archive/2011/11/05/2236846.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/116913829/archive/2011/11/05/2236846.html"/><content type="html">&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 昨天在Ubuntu 里面搭建J2EE的开发环境，不知道怎么回事，装着装着软件发现自己的鼠标的右键开始不行了，然后自己的文件也开始打不开图标也不见了？我当时以为是装了什么导致桌面或者文件的图标没法加载，于是重新启动了以下，结果进去后发现整个桌面都是一个颜色-蓝色的！！而且上面的问题还是一样的存在，这下把我急得....我花了好长的时间才装好的环境啊！！&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 开始在Google里面去找答案，但是很多的帖子的方法都没有解决，今天早上过来又捣鼓了以下，还是不行，在Google，这时看到了一个帖子，与我遇到的问题一样，于是我也照着做了一下，终于自己的文件系统可以打开了...&lt;/p&gt;&lt;p&gt;主要步骤：1 终端运行：sudo apt-get install nautilus&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 终端运行：sudo nautilus&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 虽然自己的文件系统是可以打得了，但是自己的系统选线的图标还是没有出来，又找了很多的帖子问题还是没解决，突然自己想是不是主题设置的问题，于是，自己去设置了以下电脑的主题。终于，自己的系统图标又出现了..&lt;/p&gt;&lt;p&gt;主要步骤：&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 System-&amp;gt;Preferences-&amp;gt;Appearance.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 在Background中选择背景图片，在Theme选项卡中选择主题&lt;/p&gt;&lt;p&gt;就这样，我的Ubuntu 终于又回来了....&lt;/p&gt;&lt;img src="http://www.cnblogs.com/116913829/aggbug/2236846.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/116913829/archive/2011/11/05/2236846.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/116913829/archive/2011/10/08/2202415.html</id><title type="text">个人实习总结</title><summary type="text">个人实习总结——基于SilverLight荣光游戏项目开发 秋风吹拂，不知不觉，自己来到北京已经三个月了。回想7月考完试的第三天，自己便收拾了简单的行李踏上了开往北京的火车，经过30多哥小时的颠簸，带着憧憬，带着向往，同样带着不安的我来到了北京市。经过一天的休整，7月12号，我开始了自己的实习生活。 在刚到公司的第一个星期里，自己实践了几个小的游戏，虽然做的很烂，但是也总算是慢慢的找回了大部分的SilverLight知识。自己在2010年的暑假和覃旋老师学习过一阵后就在也没有接触SilverLight了，可想而知知识也会随着时间的推移而慢慢的被遗忘，不过还好，经过几个小游戏的实践，自己也找回了</summary><published>2011-10-08T10:52:00Z</published><updated>2011-10-08T10:52:00Z</updated><author><name>精灵化石</name><uri>http://www.cnblogs.com/116913829/</uri></author><link rel="alternate" href="http://www.cnblogs.com/116913829/archive/2011/10/08/2202415.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/116913829/archive/2011/10/08/2202415.html"/><content type="html">&lt;p class="MsoNormal" align="center"&gt;&lt;span style="font-family: 华文中宋; font-size: 22pt;"&gt;个人实习总结&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="right"&gt;&lt;span style="font-family: 华文中宋; font-size: 15pt;"&gt;&amp;mdash;&amp;mdash;基于&lt;span lang="EN-US"&gt;SilverLight&lt;/span&gt;荣光游戏项目开发&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="font-family: Calibri;" face="Calibri"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;"&gt;秋风吹拂，不知不觉，自己来到北京已经三个月了。回想&lt;span lang="EN-US"&gt;7&lt;/span&gt;月考完试的第三天，自己便收拾了简单的行李踏上了开往北京的火车，经过&lt;span lang="EN-US"&gt;30&lt;/span&gt;多哥小时的颠簸，带着憧憬，带着向往，同样带着不安的我来到了北京市。经过一天的休整，&lt;span lang="EN-US"&gt;7&lt;/span&gt;月&lt;span lang="EN-US"&gt;12&lt;/span&gt;号，我开始了自己的实习生活。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;"&gt;在刚到公司的第一个星期里，自己实践了几个小的游戏，虽然做的很烂，但是也总算是慢慢的找回了大部分的&lt;span lang="EN-US"&gt;SilverLight&lt;/span&gt;知识。自己在&lt;span lang="EN-US"&gt;2010&lt;/span&gt;年的暑假和覃旋老师学习过一阵后就在也没有接触&lt;span lang="EN-US"&gt;SilverLight&lt;/span&gt;了，可想而知知识也会随着时间的推移而慢慢的被遗忘，不过还好，经过几个小游戏的实践，自己也找回了大部分的知识。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 黑体; font-size: 14pt;"&gt;工作的内容&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;"&gt;或许是巧合，也或许就像李总说的那样是神的安排，来到公司的第二个星期，我开始接触和负责李总的荣光在线游戏的开发。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;"&gt;荣光游戏是李总基于《圣经》的知识设计出来的三个寓教于乐的小游戏，通过游戏学习课本无法学习的知识。三个小游戏，每个游戏分为四个等级，每个等级包含不同的动画，布局，和与玩家的交互动画。同时，对游戏声音大小的控制，声音的开关&lt;span lang="EN-US"&gt;,&lt;/span&gt;接着的是游戏背景知识的嵌套等功能的实现。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;"&gt;完成三个小游戏，接着是开发了一个配套的游戏管理系统，同时将游戏和系统架设到现有的空间平台上保证游戏的正常运行。游戏的管理系统的功能非常的简单，只是简单的收集会员的资料，也就是提供会员注册的功能，由于游戏是付费制的游戏，所以在游戏的管理系统中集成了支付宝的功能，并且提供游戏的购买功能。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;"&gt;在实习的三个月的时间里，自己主要就是负责完成上述工作，在实习结束的前期，我成功的将完成的系统和游戏架设到了空间上，现在已经可以正常的访问。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 黑体; font-size: 14pt;"&gt;实习心得&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;"&gt;在实习的三个月时间里，自己独自一月远离同学，老师，家人来到北京，经历这许多以前没有经历过的事，体会到了只有走出远门才能体会到的辛酸。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;"&gt;独自一人在外，自己第一次体会到了衣食住行的重要性。北京的高消费，快节奏的生活模式让自己的每一天都过得很充实，但是换来的就是自己每一天都很累。人在孤单和脆弱的时候总是特别的思念家人和朋友，总想和朋友唠叨唠叨，和家人抱怨抱怨。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;"&gt;说完了生活方面的，还是说说实习内容方面的体会吧。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;"&gt;在实习的工作内容上，或许是得益于自己平时在学校的许多的小的信息管理系统的开发经历，当然还有在公司的同事的帮助，自己在开发上遇到的问题或者困难自己都能很好的很快的解决。同时，自己的知识也在项目的进展中得到了很大的补充，而自己的能力也得到了很大的提升。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 黑体; font-size: 14pt;"&gt;经验和教训&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;"&gt;在这次的开发过程中，由于项目的前期我是与李总公司的同事直接的接触获取需求分析的，然而，或许是信息传达和个人理解的差异的原因，第一次完成的游戏基本没有符合李总的要求，而在接下来剩余的时间，我与李总直接面对面的交流获取功能的需求，最终做的符合了李总的设想。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;"&gt;通过这次的事件，给我在将来的项目开发中多了一次经验，在没有完整的做好项目的需求分析之前不要急于的开始编写我们的代码，往往需求分析没有完全做好而编写的代码到项目的后期几乎都要重新编写。所以，做好了需求分析和设计才开始我们程序的编码。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 黑体; font-size: 14pt;"&gt;成绩与不足&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;"&gt;本次的实习，自己完成了杨总交代的任务，完成了李总的三个游戏的开发和架设。当然自己也存在许多不足的地方，沉默寡言一直是自己的一个毛病，运到问题不主动的说出来给项目的进度造成了很大的阻碍。同时，自己在技术，编码上还有非常多的路要走，程序的运行效率一直制约着真个项目的效率。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 黑体; font-size: 14pt;"&gt;建议&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;"&gt;我不能判断自主实习与学院安排的统一实习的优劣，从某种程度上说我有时感觉自己没能参与学院的统一实习而感到遗憾。我能说的只是自己出来独自生活了三个月后的一些感想，独自生活了三个月，发觉自己成长了许多许多，不在那么的天真，以前很多的毛病都得到了改正，以前直接不想面对的苦难自己现在必需去面对，最主要的是，自己有了非常多提升自己的机会，在北京的这段时间，自己参加了百度世界&lt;span lang="EN-US"&gt;2011&lt;/span&gt;，快乐技术沙龙，微软&lt;span lang="EN-US"&gt;2012&lt;/span&gt;北大校园宣讲会，这些都是自己之前在学校不敢奢望的，与同是&lt;span lang="EN-US"&gt;IT&lt;/span&gt;业的别人交流，吸取别人好的方法和工作的经验，让自己受益良多。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;"&gt;我仍然希望我们能多到外面走走，多去见识外面的世界，发现自己的差距，并且努力的缩小差距。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" align="left"&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;" lang="EN-US"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt; mso-ascii-theme-font: minor-fareast; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast;"&gt;在学校期间，我们不能荒废我们的学业，立志从事&lt;span lang="EN-US"&gt;IT&lt;/span&gt;行业的同学应该抓住尽可能的机会去提升自己的能力和技术水平，只有这样，无论在哪里，我们都能泰然处之。&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/116913829/aggbug/2202415.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/116913829/archive/2011/10/08/2202415.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/116913829/archive/2011/03/29/1999263.html</id><title type="text">2011-03-29-日记</title><summary type="text">到今天为止，自己参与STOA的会员模块开发快一个月了，在这个月结束前总结一下自己这个月做过的事情。 在STOA开始的时候，我们进行了模块任务的分配，我负责了STOA的会员模块。自己将会员模块分成了三部分，一个普通的会员，一个社团的管理，还有一个管理员。 普通会员实现了添加自己的详细信息，申请加入社团，查看自己加入社团的列表，社团管理部分有添加社团年度的信息，管理社团的成员，为新成员注册。而管理员有增加社团和管理社团。 在这个月中，自己学会了MVc的基础开发，数据库的增删查改，实现了数据的分页，做了验证码的功能，虽然很多的功能采用了一些非常不友好的实现方式，但是具体的还是实现了计划的功能。 在.</summary><published>2011-03-29T14:31:00Z</published><updated>2011-03-29T14:31:00Z</updated><author><name>精灵化石</name><uri>http://www.cnblogs.com/116913829/</uri></author><link rel="alternate" href="http://www.cnblogs.com/116913829/archive/2011/03/29/1999263.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/116913829/archive/2011/03/29/1999263.html"/><content type="html">&lt;p&gt;到今天为止，自己参与STOA的会员模块开发快一个月了，在这个月结束前总结一下自己这个月做过的事情。&lt;/p&gt;&lt;p&gt;在STOA开始的时候，我们进行了模块任务的分配，我负责了STOA的会员模块。自己将会员模块分成了三部分，一个普通的会员，一个社团的管理，还有一个管理员。&lt;/p&gt;&lt;p&gt;普通会员实现了添加自己的详细信息，申请加入社团，查看自己加入社团的列表，社团管理部分有添加社团年度的信息，管理社团的成员，为新成员注册。而管理员有增加社团和管理社团。&lt;/p&gt;&lt;p&gt;在这个月中，自己学会了MVc的基础开发，数据库的增删查改，实现了数据的分页，做了验证码的功能，虽然很多的功能采用了一些非常不友好的实现方式，但是具体的还是实现了计划的功能。&lt;br /&gt;在数据的操作上，自己遇到了关于多表查询的问题，在帮助下，最后的结果也完成了。&lt;/p&gt;&lt;p&gt;在功能的实现上，自己了解了更多的实现方式，在于其他队友的交流中，自己也从中懂得了自己不会的实现方式。&lt;/p&gt;&lt;p&gt;目前的会员模块已经可以正常的运行，在经过了英文改中文，UI合理化的修改后，现在基本能正常的工作和运行了。具体还出现的问题等到测试的时候出现在处理。&lt;/p&gt;&lt;p&gt;现在还有一个搜索的功能还没有实现，实现方式自己已经有了想法，就是不知道实现起来会不会遇到问题，总之，明天试了再说。&lt;/p&gt;&lt;p&gt;等完成了基本的功能后，自己打算在上面加入一些友好性的操作方式，加入一些javascript的时间选择，Linqtoxml的数据读取等等。&lt;/p&gt;&lt;p&gt;革命尚未成功，同志仍需努力.....&lt;/p&gt;&lt;img src="http://www.cnblogs.com/116913829/aggbug/1999263.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/116913829/archive/2011/03/29/1999263.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/116913829/archive/2011/03/18/1988020.html</id><title type="text">STOA-diary-20110317-完成的任务</title><summary type="text">今天做了什么 1 今天基本完成了所有action简单的功能的实现。2 今天任务的完成情况 2 基本功能实现了，但是有些信息还需要转换。3 遇到了哪些困难 思考了一下会员模块的整体实现。发现社团的管理和ADmin的管理的权限问题，如何正确的进入页面和保留进入页面的信息。4 如何解决遇到的困难 等待整体讨论。5 明天的计划 将说有的管理页面用框架也实现。</summary><published>2011-03-18T05:43:00Z</published><updated>2011-03-18T05:43:00Z</updated><author><name>精灵化石</name><uri>http://www.cnblogs.com/116913829/</uri></author><link rel="alternate" href="http://www.cnblogs.com/116913829/archive/2011/03/18/1988020.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/116913829/archive/2011/03/18/1988020.html"/><content type="html">&lt;div&gt;&lt;ol&gt;&lt;li&gt;今天做了什么 &lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;p&gt;1 今天基本完成了所有action简单的功能的实现。&lt;/p&gt;&lt;p&gt;2 今天任务的完成情况 &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 基本功能实现了，但是有些信息还需要转换。&lt;/p&gt;&lt;p&gt;3 遇到了哪些困难&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 思考了一下会员模块的整体实现。发现社团的管理和ADmin的管理的权限问题，如何正确的进入页面和保留进入页面的信息。&lt;/p&gt;&lt;p&gt;4 如何解决遇到的困难 &lt;/p&gt;&lt;p&gt;等待整体讨论。&lt;/p&gt;&lt;p&gt;5 明天的计划 &lt;/p&gt;&lt;p&gt;　 将说有的管理页面用框架也实现。&lt;/p&gt;&lt;script type="text/javascript"&gt;&lt;/script&gt;&lt;img src="http://www.cnblogs.com/116913829/aggbug/1988020.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/116913829/archive/2011/03/18/1988020.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
