<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_game-over</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/29306/rss</id><updated>2012-03-11T14:09:06Z</updated><author><name>Game_over</name><uri>http://www.cnblogs.com/game-over/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/game-over/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/29306/rss"/><entry><id>http://www.cnblogs.com/game-over/archive/2012/03/11/2390719.html</id><title type="text">Android 一些开源的东西</title><summary type="text">UIhttps://github.com/pakerfeldt/android-viewflowhttps://github.com/lorensiuswlt/NewQuickAction3Dhttps://github.com/cyrilmottier/GreenDroidhttp://actionbarsherlock.com/ORMhttp://ormlite.com/http://androrm.the-pixelpla.net/https://www.activeandroid.com/IOChttp://www.springsource.org/spring-androidProt</summary><published>2012-03-11T14:09:00Z</published><updated>2012-03-11T14:09:00Z</updated><author><name>Game_over</name><uri>http://www.cnblogs.com/game-over/</uri></author><link rel="alternate" href="http://www.cnblogs.com/game-over/archive/2012/03/11/2390719.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/game-over/archive/2012/03/11/2390719.html"/><content type="html">&lt;p class="p1"&gt;UI&lt;/p&gt;&lt;p class="p2"&gt;&lt;span class="s1"&gt;&lt;a href="https://github.com/pakerfeldt/android-viewflow"&gt;https://github.com/pakerfeldt/android-viewflow&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="p2"&gt;&lt;span class="s1"&gt;&lt;a href="https://github.com/lorensiuswlt/NewQuickAction3D"&gt;https://github.com/lorensiuswlt/NewQuickAction3D&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="p2"&gt;&lt;span class="s1"&gt;&lt;a href="https://github.com/cyrilmottier/GreenDroid"&gt;https://github.com/cyrilmottier/GreenDroid&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="p2"&gt;&lt;span class="s1"&gt;&lt;a href="http://actionbarsherlock.com/"&gt;http://actionbarsherlock.com/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="p3"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="p1"&gt;ORM&lt;/p&gt;&lt;p class="p2"&gt;&lt;span class="s1"&gt;&lt;a href="http://ormlite.com/"&gt;http://ormlite.com/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="p2"&gt;&lt;span class="s1"&gt;&lt;a href="http://androrm.the-pixelpla.net/"&gt;http://androrm.the-pixelpla.net/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="p2"&gt;&lt;span class="s1"&gt;&lt;a href="https://www.activeandroid.com/"&gt;https://www.activeandroid.com/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="p2"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="p2"&gt;IOC&lt;/p&gt;&lt;p class="p2"&gt;&lt;span class="s1"&gt;&lt;a href="http://www.springsource.org/spring-android"&gt;http://www.springsource.org/spring-android&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="p3"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="p1"&gt;Protocal&lt;/p&gt;&lt;p class="p2"&gt;&lt;span class="s1"&gt;&lt;a href="http://code.google.com/p/android-rcs-ims-stack/"&gt;http://code.google.com/p/android-rcs-ims-stack/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="p2"&gt;&lt;span class="s1"&gt;&lt;a href="http://code.google.com/p/ksoap2-android/"&gt;http://code.google.com/p/ksoap2-android/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="p3"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="p1"&gt;Exception&lt;/p&gt;&lt;p class="p2"&gt;&lt;span class="s1"&gt;&lt;a href="http://code.google.com/p/acra/"&gt;http://code.google.com/p/acra/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="p3"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="p1"&gt;图形&lt;/p&gt;&lt;p class="p2"&gt;&lt;span class="s1"&gt;&lt;a href="http://code.google.com/p/achartengine/"&gt;http://code.google.com/p/achartengine/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/game-over/aggbug/2390719.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/game-over/archive/2012/03/11/2390719.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/game-over/archive/2010/12/06/1898160.html</id><title type="text">构建Android自动编译持续集成系统</title><summary type="text">因为我们专业，所以我们用Auto Build，所以我们用CI系统。代码管理使用SVN，自动编译使用Ant，而持续集成使用Hudson，操作系统使用Ubuntu10.04。1. 安装1.1 安装JDK sudo apt-get install sun-java6-jdk1.2 安装Ant sudo apt-get install ant-optional1.3 安装Hudson sudo apt-get upgrade wget -O /tmp/key http://hudson-ci.org/debian/hudson-ci.org.key sudo apt-key add /tmp/key</summary><published>2010-12-06T13:45:00Z</published><updated>2010-12-06T13:45:00Z</updated><author><name>Game_over</name><uri>http://www.cnblogs.com/game-over/</uri></author><link rel="alternate" href="http://www.cnblogs.com/game-over/archive/2010/12/06/1898160.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/game-over/archive/2010/12/06/1898160.html"/><content type="html">&lt;p&gt;因为我们专业，所以我们用Auto Build，所以我们用CI系统。&lt;/p&gt;&lt;p&gt;代码管理使用SVN，自动编译使用Ant，而持续集成使用Hudson，操作系统使用Ubuntu10.04。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1. 安装&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1.1 安装JDK&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo apt-get install sun-java6-jdk&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1.2 安装Ant&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo apt-get install ant-optional&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1.3 安装Hudson&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo apt-get upgrade &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wget -O /tmp/key &lt;a href="http://hudson-ci.org/debian/hudson-ci.org.key"&gt;http://hudson-ci.org/debian/hudson-ci.org.key&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo apt-key add /tmp/key&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wget -O /tmp/hudson.deb &lt;a href="http://hudson-ci.org/latest/debian/hudson.deb"&gt;http://hudson-ci.org/latest/debian/hudson.deb&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo dpkg --install /tmp/hudson.deb  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;1.4 安装Android SDK &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a title="http://androidappdocs.appspot.com/sdk/index.html" href="http://androidappdocs.appspot.com/sdk/index.html"&gt;http://androidappdocs.appspot.com/sdk/index.html&lt;/a&gt;  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;2. Project配置 &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2.1 build.xml &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://androidappdocs.appspot.com/guide/developing/other-ide.html"&gt;http://androidappdocs.appspot.com/guide/developing/other-ide.html&lt;/a&gt;  &lt;/p&gt;&lt;p&gt;按照官方的做法，使用自动生成的build文件就可以了。&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('6cd68e02-b6fa-45fd-9dc8-301d5cd6ee9c')"&gt;&lt;div id="cnblogs_code_open_6cd68e02-b6fa-45fd-9dc8-301d5cd6ee9c" class="cnblogs_code_hide"&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&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;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;project &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="test-android"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000;"&gt; The local.properties file is created and updated by the 'android' tool.&lt;br /&gt;         It contains the path to the SDK. It should *NOT* be checked in in Version&lt;br /&gt;         Control Systems. &lt;/span&gt;&lt;span style="color: #008000;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;property &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;file&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="local.properties"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000;"&gt; The build.properties file can be created by you and is never touched&lt;br /&gt;         by the 'android' tool. This is the place to change some of the default property values&lt;br /&gt;         used by the Ant rules.&lt;br /&gt;         Here are some properties you may want to change/update:&lt;br /&gt;&lt;br /&gt;         application.package&lt;br /&gt;             the name of your application package as defined in the manifest. Used by the&lt;br /&gt;             'uninstall' rule.&lt;br /&gt;         source.dir&lt;br /&gt;             the name of the source directory. Default is 'src'.&lt;br /&gt;         out.dir&lt;br /&gt;             the name of the output directory. Default is 'bin'.&lt;br /&gt; &lt;br /&gt;         Properties related to the SDK location or the project target should be updated&lt;br /&gt;          using the 'android' tool with the 'update' action.&lt;br /&gt;&lt;br /&gt;         This file is an integral part of the build system for your application and&lt;br /&gt;         should be checked in in Version Control Systems.&lt;br /&gt;   &lt;br /&gt;         &lt;/span&gt;&lt;span style="color: #008000;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;property &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;file&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="build.properties"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000;"&gt; The default.properties file is created and updated by the 'android' tool, as well&lt;br /&gt;         as ADT.&lt;br /&gt;         This file is an integral part of the build system for your application and&lt;br /&gt;         should be checked in in Version Control Systems. &lt;/span&gt;&lt;span style="color: #008000;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;property &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;file&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="default.properties"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000;"&gt; Custom Android task to deal with the project target, and import the proper rules.&lt;br /&gt;         This requires ant 1.6.0 or above. &lt;/span&gt;&lt;span style="color: #008000;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;path &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="android.antlibs"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;pathelement &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;path&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="${sdk.dir}/tools/lib/anttasks.jar"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;pathelement &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;path&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="${sdk.dir}/tools/lib/sdklib.jar"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;pathelement &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;path&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="${sdk.dir}/tools/lib/androidprefs.jar"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;pathelement &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;path&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="${sdk.dir}/tools/lib/apkbuilder.jar"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;pathelement &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;path&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="${sdk.dir}/tools/lib/jarutils.jar"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;path&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;taskdef &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="setup"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; classname&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="com.android.ant.SetupTask"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; classpathref&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="android.antlibs"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000;"&gt; Execute the Android Setup task that will setup some properties specific to the target,&lt;br /&gt;         and import the build rules files.&lt;br /&gt;&lt;br /&gt;         The rules file is imported from&lt;br /&gt;            &amp;lt;SDK&amp;gt;/platforms/&amp;lt;target_platform&amp;gt;/templates/android_rules.xml&lt;br /&gt;&lt;br /&gt;         To customize some build steps for your project:&lt;br /&gt;         - copy the content of the main node &amp;lt;project&amp;gt; from android_rules.xml&lt;br /&gt;         - paste it in this build.xml below the &amp;lt;setup /&amp;gt; task.&lt;br /&gt;         - disable the import by changing the setup task below to &amp;lt;setup import="false" /&amp;gt;&lt;br /&gt;&lt;br /&gt;         This will ensure that the properties are setup correctly but that your customized&lt;br /&gt;         build steps are used.&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #008000;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;setup &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;project&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;2.2 local.properties&lt;/span&gt;&lt;/p&gt;这个配置文件定义了Android SDK的位置sdk.dir=${tool.android.sdk}&lt;p&gt;&lt;strong&gt;2.3 build.properties&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;这个文件里面定义了App的Package，以及生成App签名必须用的一些配置。&lt;/p&gt;&lt;p&gt;application.package=test.android&lt;br /&gt;key.store=../test-android.keystore&lt;br /&gt;key.alias=test-android&lt;br /&gt;key.store.password=password&lt;br /&gt;key.alias.password=password&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3. Hudson配置&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3.1 System Configuration&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;系统配置很简单，只需要配置JDK、Ant的位置就可以了。&lt;/p&gt;&lt;p&gt;比较有用的还有一项：E-mail Notification，如果你需要在build失败发送邮件的话，那么需要配置这一项。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3.2 Job Configuration&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3.2.1 Source Code Management&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;1. 选择Subversion，并且设置好SVN的地址以及用户名、密码&lt;/p&gt;&lt;p&gt;2. 把Use update和Revert勾选上&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3.2.2 Build Triggers&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;1. 勾选上Build Periodically，然后设置自动Build的时机，这里语法跟cron的语法是一样的。&lt;/p&gt;&lt;p&gt;例如：0 2 * * 1-6&lt;/p&gt;&lt;p&gt;2. 勾选上Poll SCM，设置每隔多长时间检测SVN的变更。&lt;/p&gt;&lt;p&gt;例如：0,15,30,45 9-23 * * 1-5&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3.2.3 Build&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Step1：删除上次编译的文件&lt;/p&gt;&lt;p&gt;rm &amp;ndash;f test-android.keystore&lt;br /&gt;rm &amp;ndash;f &amp;ndash;R ./test-android/gen&lt;br /&gt;rm &amp;ndash;f &amp;ndash;R ./test-android/bin&lt;/p&gt;&lt;p&gt;Step2：生成Keystore&lt;/p&gt;&lt;p&gt;&lt;a href="http://androidappdocs.appspot.com/guide/publishing/app-signing.html"&gt;http://androidappdocs.appspot.com/guide/publishing/app-signing.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;例如：keytool -genkey -v -alias test-android -keyalg RSA -keysize 2048 -dname 'CN=xxx, OU=xxx, O=xxx, L=xxx, ST=xxx, C=xx' -validity 10000 -keypass password -storepass password -keystore 'test-android.keystore'&lt;/p&gt;&lt;p&gt;Step3：Invoke Ant&lt;/p&gt;&lt;p&gt;设置Targets：release &amp;ndash;Dsdk.dir=$your-sdk-dir&lt;/p&gt;&lt;p&gt;例如：release &amp;ndash;Dsdk.dir=/home/build/android-sdk-linux&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3.2.3 Post-build　Actions&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;1. 勾选上Archive the artifacts，设置Files to archive：test-android/bin/test-android-release.apk&lt;/p&gt;&lt;p&gt;2. 勾选上E-mail Notification，可以设置发送邮件的对象和时机&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;经过以上步骤的设置，大功告成了。&lt;/p&gt;&lt;p&gt;专业就是这么简单！！！&lt;/p&gt;&lt;img src="http://www.cnblogs.com/game-over/aggbug/1898160.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/game-over/archive/2010/12/06/1898160.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/game-over/archive/2010/12/04/1896515.html</id><title type="text">Android开发视频教学资料</title><summary type="text">http://www.verycd.com/topics/2837883/内容很不错的，建议初学者看看啊。</summary><published>2010-12-04T10:28:00Z</published><updated>2010-12-04T10:28:00Z</updated><author><name>Game_over</name><uri>http://www.cnblogs.com/game-over/</uri></author><link rel="alternate" href="http://www.cnblogs.com/game-over/archive/2010/12/04/1896515.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/game-over/archive/2010/12/04/1896515.html"/><content type="html">&lt;p&gt;&lt;a href="http://www.verycd.com/topics/2837883/"&gt;http://www.verycd.com/topics/2837883/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;内容很不错的，建议初学者看看啊。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/game-over/aggbug/1896515.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/game-over/archive/2010/12/04/1896515.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/game-over/archive/2010/06/25/1765544.html</id><title type="text">简约而不简单——Android SimpleAdapter</title><summary type="text">列表(ListView)、表格(GridView)，这在手机应用上面肯定是少不了的，怎样实现比较复杂一点的界面呢，先看一下我的效果图。 这样布局的情况是最基本的，也是最常用的，网上关于这样的布局有多种版本的实现方法，但是有很多需要自己实现Adapter，那样子是比较复杂而且没有必要的，因为我们有简约而不简单的SimpleAdapter。1. ListViewSimpleAdapter的核心代码：...</summary><published>2010-06-25T15:01:00Z</published><updated>2010-06-25T15:01:00Z</updated><author><name>Game_over</name><uri>http://www.cnblogs.com/game-over/</uri></author><link rel="alternate" href="http://www.cnblogs.com/game-over/archive/2010/06/25/1765544.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/game-over/archive/2010/06/25/1765544.html"/><content type="html">&lt;p&gt;列表(ListView)、表格(GridView)，这在手机应用上面肯定是少不了的，怎样实现比较复杂一点的界面呢，先看一下我的效果图。&lt;/p&gt;&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/game-over/WindowsLiveWriter/AndroidsSimpleAdapter_14037/image_2.png"&gt;&lt;img style="display: inline; border-width: 0px;" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/game-over/WindowsLiveWriter/AndroidsSimpleAdapter_14037/image_thumb.png" width="188" height="244" /&gt;&lt;/a&gt; &lt;a href="http://images.cnblogs.com/cnblogs_com/game-over/WindowsLiveWriter/AndroidsSimpleAdapter_14037/image_4.png"&gt;&lt;img style="display: inline; border-width: 0px;" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/game-over/WindowsLiveWriter/AndroidsSimpleAdapter_14037/image_thumb_1.png" width="202" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;这样布局的情况是最基本的，也是最常用的，网上关于这样的布局有多种版本的实现方法，但是有很多需要自己实现Adapter，那样子是比较复杂而且没有必要的，因为我们有简约而不简单的SimpleAdapter。&lt;/p&gt;&lt;p&gt;1. ListView&lt;/p&gt;&lt;p&gt;SimpleAdapter的核心代码：&lt;/p&gt;&lt;div&gt;for (int i = 0; i &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt; 10; i++) {&lt;br/&gt;Map&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;String&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;Object&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt; map = new HashMap&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;String&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;Object&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;();&lt;br/&gt;map.put("PIC", R.drawable.pic);&lt;br/&gt;map.put("TITLE", "Test Title");&lt;br/&gt;map.put("CONTENT", "Test Content");&lt;br/&gt;contents.add(map);&lt;br/&gt;}&lt;br/&gt;SimpleAdapter adapter = new SimpleAdapter(this,&lt;br/&gt;(List&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Map&lt;/span&gt;&amp;lt;&lt;span style="color: #ff0000;"&gt;String&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;Object&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&amp;gt;) contents, R.layout.listitem,&lt;br/&gt;new String[] { "PIC", "TITLE", "CONTENT" }, new int[] {&lt;br/&gt;R.id.listitem_pic, R.id.listitem_title,&lt;br/&gt;R.id.listitem_content });&lt;br/&gt;&lt;br/&gt;listView.setAdapter(adapter);&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;listitem的Layout：&lt;/p&gt;&lt;div&gt;&amp;lt;?xml version="&lt;span style="color: #8b0000;"&gt;1.0&lt;/span&gt;" encoding="&lt;span style="color: #8b0000;"&gt;utf-8&lt;/span&gt;"?&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;RelativeLayout xmlns:android="&lt;span style="color: #8b0000;"&gt;http://schemas.android.com/apk/res/android&lt;/span&gt;"&lt;br/&gt;android:layout_width="&lt;span style="color: #8b0000;"&gt;fill_parent&lt;/span&gt;" android:layout_height="&lt;span style="color: #8b0000;"&gt;?android:attr/listPreferredItemHeight&lt;/span&gt;"&amp;gt;&lt;br/&gt;&amp;lt;ImageView android:id="&lt;span style="color: #8b0000;"&gt;@+id/listitem_pic&lt;/span&gt;"&lt;br/&gt;android:layout_width="&lt;span style="color: #8b0000;"&gt;wrap_content&lt;/span&gt;" android:layout_height="&lt;span style="color: #8b0000;"&gt;fill_parent&lt;/span&gt;"&lt;br/&gt;android:layout_alignParentTop="&lt;span style="color: #8b0000;"&gt;true&lt;/span&gt;" android:layout_alignParentBottom="&lt;span style="color: #8b0000;"&gt;true&lt;/span&gt;"&lt;br/&gt;android:src="&lt;span style="color: #8b0000;"&gt;@drawable/pic&lt;/span&gt;" android:adjustViewBounds="&lt;span style="color: #8b0000;"&gt;true&lt;/span&gt;"&lt;br/&gt;android:padding="&lt;span style="color: #8b0000;"&gt;2dip&lt;/span&gt;" /&amp;gt;&lt;br/&gt;&amp;lt;TextView android:id="&lt;span style="color: #8b0000;"&gt;@+id/listitem_title&lt;/span&gt;"&lt;br/&gt;android:layout_width="&lt;span style="color: #8b0000;"&gt;wrap_content&lt;/span&gt;" android:layout_height="&lt;span style="color: #8b0000;"&gt;wrap_content&lt;/span&gt;"&lt;br/&gt;android:layout_toRightOf="&lt;span style="color: #8b0000;"&gt;@+id/listitem_pic&lt;/span&gt;"&lt;br/&gt;android:layout_alignParentRight="&lt;span style="color: #8b0000;"&gt;true&lt;/span&gt;" android:layout_alignParentTop="&lt;span style="color: #8b0000;"&gt;true&lt;/span&gt;"&lt;br/&gt;android:layout_above="&lt;span style="color: #8b0000;"&gt;@+id/listitem_content&lt;/span&gt;"&lt;br/&gt;android:layout_alignWithParentIfMissing="&lt;span style="color: #8b0000;"&gt;true&lt;/span&gt;" android:gravity="&lt;span style="color: #8b0000;"&gt;center_vertical&lt;/span&gt;"&lt;br/&gt;android:text="&lt;span style="color: #8b0000;"&gt;@+id/listitem_title&lt;/span&gt;" android:textSize="&lt;span style="color: #8b0000;"&gt;22px&lt;/span&gt;" /&amp;gt;&lt;br/&gt;&amp;lt;TextView android:id="&lt;span style="color: #8b0000;"&gt;@+id/listitem_content&lt;/span&gt;"&lt;br/&gt;android:layout_width="&lt;span style="color: #8b0000;"&gt;fill_parent&lt;/span&gt;" android:layout_height="&lt;span style="color: #8b0000;"&gt;wrap_content&lt;/span&gt;"&lt;br/&gt;android:layout_toRightOf="&lt;span style="color: #8b0000;"&gt;@+id/listitem_pic&lt;/span&gt;"&lt;br/&gt;android:layout_alignParentBottom="&lt;span style="color: #8b0000;"&gt;true&lt;/span&gt;"&lt;br/&gt;android:layout_alignParentRight="&lt;span style="color: #8b0000;"&gt;true&lt;/span&gt;" android:singleLine="&lt;span style="color: #8b0000;"&gt;true&lt;/span&gt;"&lt;br/&gt;android:ellipsize="&lt;span style="color: #8b0000;"&gt;marquee&lt;/span&gt;" android:text="&lt;span style="color: #8b0000;"&gt;@+id/item_content&lt;/span&gt;"&lt;br/&gt;android:textSize="&lt;span style="color: #8b0000;"&gt;14px&lt;/span&gt;" /&amp;gt;&lt;br/&gt;&amp;lt;/RelativeLayout&amp;gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;2. GridView&lt;/p&gt;&lt;p&gt;SimpleAdapter的核心代码：&lt;/p&gt;&lt;div&gt;for (int i = 0; i &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt; 10; i++) {&lt;br/&gt;Map&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;String&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;Object&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt; map = new HashMap&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;String&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;Object&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;();&lt;br/&gt;map.put("PIC", R.drawable.pic);&lt;br/&gt;map.put("TITLE", "Test Title");&lt;br/&gt;contents.add(map);&lt;br/&gt;}&lt;br/&gt;SimpleAdapter adapter = new SimpleAdapter(this,&lt;br/&gt;(List&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Map&lt;/span&gt;&amp;lt;&lt;span style="color: #ff0000;"&gt;String&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;Object&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&amp;gt;) contents, R.layout.griditem,&lt;br/&gt;new String[] { "PIC", "TITLE" }, new int[] { R.id.griditem_pic,&lt;br/&gt;R.id.griditem_title, });&lt;br/&gt;&lt;br/&gt;gridView.setAdapter(adapter);&lt;/div&gt;&lt;p&gt;&lt;br /&gt;griditem的Layout： &lt;/p&gt;&lt;div&gt;&amp;lt;?xml version="&lt;span style="color: #8b0000;"&gt;1.0&lt;/span&gt;" encoding="&lt;span style="color: #8b0000;"&gt;utf-8&lt;/span&gt;"?&amp;gt;&lt;br/&gt;&amp;lt;LinearLayout xmlns:android="&lt;span style="color: #8b0000;"&gt;http://schemas.android.com/apk/res/android&lt;/span&gt;"&lt;br/&gt;android:layout_height="&lt;span style="color: #8b0000;"&gt;fill_parent&lt;/span&gt;" android:layout_width="&lt;span style="color: #8b0000;"&gt;fill_parent&lt;/span&gt;"&lt;br/&gt;android:orientation="&lt;span style="color: #8b0000;"&gt;vertical&lt;/span&gt;"&amp;gt;&lt;br/&gt;&amp;lt;ImageView android:id="&lt;span style="color: #8b0000;"&gt;@+id/griditem_pic&lt;/span&gt;"&lt;br/&gt;android:layout_width="&lt;span style="color: #8b0000;"&gt;wrap_content&lt;/span&gt;" android:layout_height="&lt;span style="color: #8b0000;"&gt;wrap_content&lt;/span&gt;"&lt;br/&gt;android:layout_gravity="&lt;span style="color: #8b0000;"&gt;center_horizontal&lt;/span&gt;"&amp;gt;&lt;br/&gt;&amp;lt;/ImageView&amp;gt;&lt;br/&gt;&amp;lt;TextView android:id="&lt;span style="color: #8b0000;"&gt;@+id/griditem_title&lt;/span&gt;"&lt;br/&gt;android:layout_width="&lt;span style="color: #8b0000;"&gt;wrap_content&lt;/span&gt;" android:layout_height="&lt;span style="color: #8b0000;"&gt;wrap_content&lt;/span&gt;"&lt;br/&gt;android:layout_gravity="&lt;span style="color: #8b0000;"&gt;center_horizontal&lt;/span&gt;" android:text="&lt;span style="color: #8b0000;"&gt;test&lt;/span&gt;"&amp;gt;&lt;br/&gt;&amp;lt;/TextView&amp;gt;&lt;br/&gt;&amp;lt;/LinearLayout&amp;gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;最后附上代码：&lt;a title="http://files.cnblogs.com/game-over/test.zip" href="http://files.cnblogs.com/game-over/test.zip"&gt;http://files.cnblogs.com/game-over/test.zip&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/game-over/aggbug/1765544.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/game-over/archive/2010/06/25/1765544.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/game-over/archive/2010/05/22/1741411.html</id><title type="text">Android2.2 新特性</title><summary type="text">1. App installation on external storage media 把应用安装在外部存储器（SD卡）http://androidappdocs.appspot.com/guide/appendix/install-location.html2. Data backup 用户数据备份http://androidappdocs.appspot.com/guide/topics/...</summary><published>2010-05-22T02:27:00Z</published><updated>2010-05-22T02:27:00Z</updated><author><name>Game_over</name><uri>http://www.cnblogs.com/game-over/</uri></author><link rel="alternate" href="http://www.cnblogs.com/game-over/archive/2010/05/22/1741411.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/game-over/archive/2010/05/22/1741411.html"/><content type="text">1. App installation on external storage media 把应用安装在外部存储器（SD卡）http://androidappdocs.appspot.com/guide/appendix/install-location.html2. Data backup 用户数据备份http://androidappdocs.appspot.com/guide/topics/...</content></entry><entry><id>http://www.cnblogs.com/game-over/archive/2010/01/12/1645867.html</id><title type="text">利用JMeter进行压力测试（3）</title><summary type="text">如何在JMeter中使用外部数据，JMeter也提供了一系列元件，大多包含在配置元件中，例如：CSV Data Set Config，Random Variable，用户定义的变量等，另外，前置处理器 &gt;&gt; 用户参数也可以使用自定义的变量。 我这里着重介绍用户参数和CSV Data Set Config的使用方法。 用户参数可以给测试计划或者测试计划中的每个线程设置参数，如果设置的参数...</summary><published>2010-01-12T12:53:00Z</published><updated>2010-01-12T12:53:00Z</updated><author><name>Game_over</name><uri>http://www.cnblogs.com/game-over/</uri></author><link rel="alternate" href="http://www.cnblogs.com/game-over/archive/2010/01/12/1645867.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/game-over/archive/2010/01/12/1645867.html"/><content type="text">如何在JMeter中使用外部数据，JMeter也提供了一系列元件，大多包含在配置元件中，例如：CSV Data Set Config，Random Variable，用户定义的变量等，另外，前置处理器 &gt;&gt; 用户参数也可以使用自定义的变量。 我这里着重介绍用户参数和CSV Data Set Config的使用方法。 用户参数可以给测试计划或者测试计划中的每个线程设置参数，如果设置的参数...</content></entry><entry><id>http://www.cnblogs.com/game-over/archive/2010/01/10/1643456.html</id><title type="text">利用JMeter进行压力测试（2）</title><summary type="text">JMeter的中文资料不是很多，我Google了一下，发现基本上没有介绍如何一步步使用的资料。我这里就先整理一下。大概就是以下几个方面：录制脚本 使用用户自定义参数 使用控制器 使用定时器 使用前置后置处理器 使用监听器我也只是入门级别，所以写出来的东西可能比较简单，适合新手参考使用。这次就介绍使用HTTP代理服务器进行脚本的录制。JMeter可以录制脚本，也可使用别的工具，如Badboy录制适合...</summary><published>2010-01-10T04:49:00Z</published><updated>2010-01-10T04:49:00Z</updated><author><name>Game_over</name><uri>http://www.cnblogs.com/game-over/</uri></author><link rel="alternate" href="http://www.cnblogs.com/game-over/archive/2010/01/10/1643456.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/game-over/archive/2010/01/10/1643456.html"/><content type="text">JMeter的中文资料不是很多，我Google了一下，发现基本上没有介绍如何一步步使用的资料。我这里就先整理一下。大概就是以下几个方面：录制脚本 使用用户自定义参数 使用控制器 使用定时器 使用前置后置处理器 使用监听器我也只是入门级别，所以写出来的东西可能比较简单，适合新手参考使用。这次就介绍使用HTTP代理服务器进行脚本的录制。JMeter可以录制脚本，也可使用别的工具，如Badboy录制适合...</content></entry><entry><id>http://www.cnblogs.com/game-over/archive/2010/01/08/1642685.html</id><title type="text">利用JMeter进行压力测试（1）</title><summary type="text">压力测试以软件响应速度为测试目标，尤其是在较短时间内大量并发用户的同时访问时，软件的性能和抗压能力。 JMeter是一款开源的压力测试工具，目前最新Release版本是2.3.4，它不仅可以测试Web服务器，还可以测试数据库、JMS、Web Service、LDAP、JUNIT 等多种对象的测试能力。下载地址：http://jakarta.apache.org/site/downloads/dow...</summary><published>2010-01-08T15:24:00Z</published><updated>2010-01-08T15:24:00Z</updated><author><name>Game_over</name><uri>http://www.cnblogs.com/game-over/</uri></author><link rel="alternate" href="http://www.cnblogs.com/game-over/archive/2010/01/08/1642685.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/game-over/archive/2010/01/08/1642685.html"/><content type="text">压力测试以软件响应速度为测试目标，尤其是在较短时间内大量并发用户的同时访问时，软件的性能和抗压能力。 JMeter是一款开源的压力测试工具，目前最新Release版本是2.3.4，它不仅可以测试Web服务器，还可以测试数据库、JMS、Web Service、LDAP、JUNIT 等多种对象的测试能力。下载地址：http://jakarta.apache.org/site/downloads/dow...</content></entry><entry><id>http://www.cnblogs.com/game-over/archive/2010/01/01/1637246.html</id><title type="text">Happy New Year!!!</title><summary type="text">Happy New Year!!!</summary><published>2009-12-31T16:10:00Z</published><updated>2009-12-31T16:10:00Z</updated><author><name>Game_over</name><uri>http://www.cnblogs.com/game-over/</uri></author><link rel="alternate" href="http://www.cnblogs.com/game-over/archive/2010/01/01/1637246.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/game-over/archive/2010/01/01/1637246.html"/><content type="text">Happy New Year!!!</content></entry><entry><id>http://www.cnblogs.com/game-over/archive/2009/08/15/1546580.html</id><title type="text">从零开始学 Django</title><summary type="text">Django的学习笔记，从零开始。以后会慢慢更新。1. Windows环境下Django的安装、配置2. Hello, World!3. URL映射简述4. 模板基础5. 模板继承6. 数据库操作7. 应用——学生管理8. Generic View</summary><published>2009-08-14T19:28:00Z</published><updated>2009-08-14T19:28:00Z</updated><author><name>Game_over</name><uri>http://www.cnblogs.com/game-over/</uri></author><link rel="alternate" href="http://www.cnblogs.com/game-over/archive/2009/08/15/1546580.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/game-over/archive/2009/08/15/1546580.html"/><content type="text">Django的学习笔记，从零开始。以后会慢慢更新。1. Windows环境下Django的安装、配置2. Hello, World!3. URL映射简述4. 模板基础5. 模板继承6. 数据库操作7. 应用——学生管理8. Generic View</content></entry></feed>
