<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>阳春面</title>
	<atom:link href="http://chenyc.info/feed/" rel="self" type="application/rss+xml" />
	<link>http://chenyc.info</link>
	<description>关注互联网，Android</description>
	<lastBuildDate>Sat, 15 May 2010 11:01:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>腾讯微博邀请</title>
		<link>http://chenyc.info/2010/05/%e8%85%be%e8%ae%af%e5%be%ae%e5%8d%9a%e9%82%80%e8%af%b7/</link>
		<comments>http://chenyc.info/2010/05/%e8%85%be%e8%ae%af%e5%be%ae%e5%8d%9a%e9%82%80%e8%af%b7/#comments</comments>
		<pubDate>Sat, 15 May 2010 11:01:52 +0000</pubDate>
		<dc:creator>阳春面</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://chenyc.info/2010/05/%e8%85%be%e8%ae%af%e5%be%ae%e5%8d%9a%e9%82%80%e8%af%b7/</guid>
		<description><![CDATA[有几个微博邀请了，放出来和大家共享
http://t.qq.com/invite/8e2677413d916d4a4199
http://t.qq.com/invite/bfafba73902f66d233bb
http://t.qq.com/invite/cc0c589cc0fe75fdc887
http://t.qq.com/invite/e2a0f6e9b9e29c7364d1
http://t.qq.com/invite/80bde62720dfb339d8d1
http://t.qq.com/invite/bc9add9d6590dcead05d
http://t.qq.com/invite/e72de68883edb6197cc7
]]></description>
		<wfw:commentRss>http://chenyc.info/2010/05/%e8%85%be%e8%ae%af%e5%be%ae%e5%8d%9a%e9%82%80%e8%af%b7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>读《如何阅读一本书》摘录</title>
		<link>http://chenyc.info/2010/04/%e8%af%bb%e3%80%8a%e5%a6%82%e4%bd%95%e9%98%85%e8%af%bb%e4%b8%80%e6%9c%ac%e4%b9%a6%e3%80%8b%e6%91%98%e5%bd%95/</link>
		<comments>http://chenyc.info/2010/04/%e8%af%bb%e3%80%8a%e5%a6%82%e4%bd%95%e9%98%85%e8%af%bb%e4%b8%80%e6%9c%ac%e4%b9%a6%e3%80%8b%e6%91%98%e5%bd%95/#comments</comments>
		<pubDate>Sun, 04 Apr 2010 10:50:35 +0000</pubDate>
		<dc:creator>阳春面</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://chenyc.info/2010/04/%e8%af%bb%e3%80%8a%e5%a6%82%e4%bd%95%e9%98%85%e8%af%bb%e4%b8%80%e6%9c%ac%e4%b9%a6%e3%80%8b%e6%91%98%e5%bd%95/</guid>
		<description><![CDATA[最重要的是态度，需要主动阅读
1. 检视阅读的方法
&#160; 1） 看书名和序
&#160; 2） 看目录
&#160; 3） 看索引
&#160; 4） 看作者介绍
&#160; 5） 挑几个主题相关的篇章看看
&#160; 6） 随便翻翻，翻完全书，
&#160; 7） 看最后2，3页
2. 主动阅读的四个基本问题
&#160; 1） 总体来说，这本书在说什么？
&#160; 2） 从细部讲，作者又提出哪些主要想法/
&#160; 3） 这本书说的对，部分对还是全部对，我是否能接受?
&#160; 4） 这本书能给我带来什么？
3. 做笔记的方法
&#160; 1) 画底线
&#160; 2) 在空白处做星号
&#160; 3) 在空白处留下其他相关的页码，用Cf
4. 分析阅读的方法
&#160; 1） 采用略读或粗读全文的方法，为分析阅读做准备
&#160; 2） 分析阅读的原则：
&#160;&#160;&#160;&#160; 1) 分类

&#160;&#160;&#160;&#160; 2) 简短描述这本书讲了什么

&#160;&#160;&#160; 3) 将重要部分拟大纲
&#160;&#160;&#160; 4) 知道作者想要解决什么问题
&#160;&#160;&#160; 5) 注意关键字
&#160;&#160; 6) 注意重要的句子
&#160;&#160; 7) 确定作者的观点，根据文章内容重新整理出来
&#160;&#160;  确定哪些问题在文章中已被解决，哪些未被解决
&#160;&#160; 9) 不要随意评论
]]></description>
		<wfw:commentRss>http://chenyc.info/2010/04/%e8%af%bb%e3%80%8a%e5%a6%82%e4%bd%95%e9%98%85%e8%af%bb%e4%b8%80%e6%9c%ac%e4%b9%a6%e3%80%8b%e6%91%98%e5%bd%95/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>编写自己的ContentProvider</title>
		<link>http://chenyc.info/2010/03/create-contentprovider/</link>
		<comments>http://chenyc.info/2010/03/create-contentprovider/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 14:26:14 +0000</pubDate>
		<dc:creator>阳春面</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[ContentProvider]]></category>

		<guid isPermaLink="false">http://chenyc.info/?p=108</guid>
		<description><![CDATA[刚开始看Android NotePad中的ContentProvider的实现时，看的云里雾里，但自己模仿写过一个后，才发现也就这么一回事，就是实现公用的增删改查。下面将需要实现的方法做一个简单的回顾：
1.一个ContentProvider可以实现对多个数据表的操作，但每一个数据表都需要有一个独立URI，也必须有一个独立的类型。URI是其他应用访问这个数据入口，比如：
content://com.chenyc.timeaccount.provider/eventtypes/id
它包括4部分，content://就是固定的头部，com.chenyc.timeaccount.provider部分需要一个唯一的字符串，一般就用ContentProiver类所在的包名，eventtypes部分一般是指在这个ContentProvider下，你需要操作那种类型的数据，一般可以用表名来表示，id部分是指具体操作数据的_id，如果查询某一条数据，则id部分就是其在数据库中的_id字段的值。
每个数据表需要有一个独立的数据类型，需要在getType(Uri uri)中实现，返回一个唯一的字符串即可，比如：vnd.chenyc.cursor.dir/vnd.account.eventtype
2.query方法，查询作为最常用的方法，实现也很简单,projection参数代表要查那些列，selection是where条件部分，selectionArgs是where条件部分参数的值,sortOrder指排序，switch部分判断是查一条数据，还是查一个list,然后根据情况进行查询
[java]
public Cursor query(Uri uri, String[] projection, String selection,
			String[] selectionArgs, String sortOrder) {
		SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
		switch (sUriMatcher.match(uri)) {
		case EVENT_TYPES:
			qb.setTables(EVENT_TYPE_TABLE_NAME);
			qb.setProjectionMap(sEventTypesProjectionMap);
			break;
		case EVENT_TYPE_ID:
			qb.setTables(EVENT_TYPE_TABLE_NAME);
			qb.setProjectionMap(sEventTypesProjectionMap);
			qb.appendWhere(EventTypeAdapter.KEY_ROWID + &#8220;=&#8221;
					+ uri.getPathSegments().get(1));
			break;
		default:
			throw new IllegalArgumentException(&#8220;Unknown URI &#8221; + uri);
		}
		SQLiteDatabase db = mDbHelper.getReadableDatabase();
		Cursor c = qb.query(db, projection, selection, selectionArgs, null,
				null, sortOrder);
		c.setNotificationUri(getContext().getContentResolver(), uri);
		return c;
	}
[/java]
3.delete方法，处理方式也跟查询差不多，也分删一个和删一批
[java]
public int delete(Uri uri, String where, String[] whereArgs) {
		SQLiteDatabase db = mDbHelper.getWritableDatabase();
		int [...]]]></description>
		<wfw:commentRss>http://chenyc.info/2010/03/create-contentprovider/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何处理SimpleCursorAdapter不能自动转换的数据</title>
		<link>http://chenyc.info/2010/03/simplecursoradapter-cant-bind/</link>
		<comments>http://chenyc.info/2010/03/simplecursoradapter-cant-bind/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 10:40:22 +0000</pubDate>
		<dc:creator>阳春面</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[ListView]]></category>
		<category><![CDATA[SimpleCursorAdapter]]></category>

		<guid isPermaLink="false">http://chenyc.info/?p=104</guid>
		<description><![CDATA[SimpleCursorAdapter可以把我们从Array或数据库中取出的数据绑定的ListView或其他的组件，这个很好用，但有时候有些View，SimpleCursorAdapter并不能直接绑定，需要自己去实现它的setViewBinder方法，下面是我利用SimpleCursorAdapter绑定RatingBar的例子：
SimpleCursorAdapter timeItems = new SimpleCursorAdapter(this,   &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; R.layout.timeitem_row, timeItemsCursor, from, to);    &#160;&#160;&#160;&#160;&#160;&#160;&#160; timeItems.setViewBinder(new SimpleCursorAdapter.ViewBinder(){ 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; @Override   &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; public boolean setViewValue(View view, Cursor cursor, int columnIndex) {    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; int rateIndex = cursor.getColumnIndex(&#34;rate&#34;);    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if(columnIndex == rateIndex)    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {    [...]]]></description>
		<wfw:commentRss>http://chenyc.info/2010/03/simplecursoradapter-cant-bind/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android中编写Service相关的知识</title>
		<link>http://chenyc.info/2010/03/android-service/</link>
		<comments>http://chenyc.info/2010/03/android-service/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 10:34:09 +0000</pubDate>
		<dc:creator>阳春面</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[Service]]></category>

		<guid isPermaLink="false">http://chenyc.info/?p=101</guid>
		<description><![CDATA[1.在Android中编写Service，需要继承android.app.Service，覆盖其onCreate()和onStart(Intent intent, int startId)方法即可，onCreate方法只在service创建时调用，onStart方法每次都会调用。
2.在Service中不能直接访问数据库，只能通过ContentResolver访问，如果访问自己的数据，需要继承ContentProvider并实现其方法，才能被ContentResolver访问，以下使用ContentResolver的方法：
mCursor = getContentResolver().query(      &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Uri.withAppendedPath(       &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; TimeAccount.EVENT_TYPE_CONTENT_URI, &#34;/&#34; + pid),       &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; new String[] { &#34;name&#34; }, null, null, null);

3.在Service中可以直接使用本应用的SharePreferences，我本来以为本来这个也用数据库一样，需要写成ContentProvider，没想到可以直接使用；例如：
sharePreferences = PreferenceManager.getDefaultSharedPreferences(this);    &#160;&#160;&#160;&#160;&#160;&#160;&#160; INTERVAL = Integer.valueOf(sharePreferences.getString(     &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#34;sync_interval_list&#34;, &#34;60&#34;));
4.Service有两种形式，一种是生命周期依赖于所启动的应用，就是BInd形式，通过bindService启动；另一种就是不依赖启动的应用，在应用已被操作系统干掉后，服务还会一直存在，通过startService启动。例如：
Intent [...]]]></description>
		<wfw:commentRss>http://chenyc.info/2010/03/android-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何在Android中创建自己的View</title>
		<link>http://chenyc.info/2010/03/create-android-view/</link>
		<comments>http://chenyc.info/2010/03/create-android-view/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 10:03:14 +0000</pubDate>
		<dc:creator>阳春面</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[view]]></category>

		<guid isPermaLink="false">http://chenyc.info/?p=92</guid>
		<description><![CDATA[在Android中创建自己的VIEW只要继承android.view.View类，然后在onDraw方法中使用canvas画自己所需要的东东就可以了。当然你还需要做一些实际处理，比如对用户点击的处理，向前或向后滚动的处理等。
以下是我创建的CalendarView中，部分显示日历的代码：
 [java]
public CalendarView(Context context) {
		super(context);
		calendarBrowse = (CalendarBrowse) context;
		setFocusable(true);
		setFocusableInTouchMode(true);
		cPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
		cPaint.setStyle(Paint.Style.FILL_AND_STROKE);
		cPaint.setColor(Color.RED);
		cPaint.setTextSize(20f);
		tPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
		tPaint.setStyle(Paint.Style.FILL_AND_STROKE);
		tPaint.setColor(Color.WHITE);
		tPaint.setTextSize(20f);
		setBackgroundColor(getResources().getColor(R.color.background));
		mGestureDetector = new GestureDetector(
				new GestureDetector.SimpleOnGestureListener() {
					@Override
					public boolean onFling(MotionEvent e1, MotionEvent e2,
							float velocityX, float velocityY) {
						if (e1.getX() > e2.getX()) {
							cal.add(Calendar.MONTH, 1);
							CalendarView.this.invalidate();
						}
						if (e1.getX() < e2.getX()) {
							cal.add(Calendar.MONTH, -1);
							CalendarView.this.invalidate();
						}
						return true;
					}
					@Override
					public boolean onSingleTapUp(MotionEvent e) {
						day = getDay(e.getX(), e.getY());
						if (day != INVALID_POSITION) {
							calendarBrowse.showTimeItemList(year, month, day);
						}
						return true;
					}
				});
	}
 [/java]  [...]]]></description>
		<wfw:commentRss>http://chenyc.info/2010/03/create-android-view/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>时间账本开发总结</title>
		<link>http://chenyc.info/2010/03/timeaccount-sum-up/</link>
		<comments>http://chenyc.info/2010/03/timeaccount-sum-up/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 09:48:00 +0000</pubDate>
		<dc:creator>阳春面</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[时间管理]]></category>
		<category><![CDATA[时间账本]]></category>

		<guid isPermaLink="false">http://chenyc.info/2010/03/%e6%97%b6%e9%97%b4%e8%b4%a6%e6%9c%ac%e5%bc%80%e5%8f%91%e6%80%bb%e7%bb%93/</guid>
		<description><![CDATA[时间账本是我写的第一个Android应用，想法来自于《把时间当作朋友》和《奇特的一生》这两本书，功能很简单，就是登记自己每天做了什么，后来我又引入了反思想法，可以对每一天写一些反思，其实我觉得登记账本本身就是一种反思；现在主要完成了手机端的，下一步准备利用GAE开发WEB端，与手机端同步，然后再WEB端再做一些分析和生成报告等工作，例如可以做一些不同时期的时间执行效率比较，年末对这一年所做过的事出一份报告：比如在这一年中你读过什么书，看过什么电影，学习到什么技术等等；这还只是有一个初步的概念，具体怎么做还在一步的探索中；Android手机端也一样，会根据需要，进行改变，目的就是打造一个符合自己需要的时间管理软件。
时间账本的代码我已经放到google code上了，希望与大家一起交流Android开发知识，有兴趣的朋友也可以和我一起来完善这个时间账本。
 
]]></description>
		<wfw:commentRss>http://chenyc.info/2010/03/timeaccount-sum-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>google 退出中国</title>
		<link>http://chenyc.info/2010/03/google-out/</link>
		<comments>http://chenyc.info/2010/03/google-out/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 11:13:46 +0000</pubDate>
		<dc:creator>阳春面</dc:creator>
				<category><![CDATA[其他]]></category>
		<category><![CDATA[china]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://chenyc.info/?p=83</guid>
		<description><![CDATA[今天早上过去上班就开始牙疼，就好象预示着今天有不好的事情要发生一样，
果然到中午的时候就听同事说google退出中国大陆，现在的链接都链到香港的
google站点上，既然这个已经是事实，我也不去多说什么了，我在想政府
接下来的做法，是全面封杀google的所有IP，包括国外的，还是由之任之，
全面封杀我个人觉的不大现实，有这么多既有客户了，特别是我们软件开发
一族，或者科学家之类的，都特别依赖于google，国内如果封杀的话，
网民的抱怨会很多，还比如跨国公司的员工怎么办，难道每个跨国公司
的员工都需要先学会翻墙吗？不过这次事件之后，或许会促进翻墙技术在
国内的普及，这真是极有可能的。
]]></description>
		<wfw:commentRss>http://chenyc.info/2010/03/google-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>今日杂记（2010-03-13）</title>
		<link>http://chenyc.info/2010/03/today_remark/</link>
		<comments>http://chenyc.info/2010/03/today_remark/#comments</comments>
		<pubDate>Sat, 13 Mar 2010 14:18:04 +0000</pubDate>
		<dc:creator>阳春面</dc:creator>
				<category><![CDATA[其他]]></category>
		<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://chenyc.info/?p=62</guid>
		<description><![CDATA[今天好像什么也没干成啊，早上起来想起来老爸老是让我给他买《温州鼓词》，
现在发现优酷上也有很多啊，在家那里买都是VCD的，而且1张都要5元左右，
感觉很不划算，所以就在优酷上下载，准备刻录DVD，然后一下午就在捣腾
格式转换，DVD刻录之类的，换了好几个软件，并在淘宝上买了20张D9的刻录盘，
结果一天就差不多过去的，本来计划好今天在gae上写“时间账本”的WEB端的，
现在又没心思写了，好像今天时间过得挺不合算的，但相较起以前好一些了，
至少我今天知道自己的时间没花在点上，最郁闷的是周末老是睡懒觉，
整个上午都浪费了。。。真是亏啊。。。明明知道不对，但还是不想
起来，看来还得想想办法。
]]></description>
		<wfw:commentRss>http://chenyc.info/2010/03/today_remark/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android Notepad Tutorial 学习笔记</title>
		<link>http://chenyc.info/2010/03/android_notepad_learn/</link>
		<comments>http://chenyc.info/2010/03/android_notepad_learn/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 13:37:17 +0000</pubDate>
		<dc:creator>阳春面</dc:creator>
				<category><![CDATA[android]]></category>

		<guid isPermaLink="false">http://chenyc.info/?p=59</guid>
		<description><![CDATA[1.	DbAdapter，作为content provider,通过继承SQLiteOpenHelper辅助实现
[java]
    private static class DatabaseHelper extends SQLiteOpenHelper {
        DatabaseHelper(Context context) {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
        }
        @Override
   [...]]]></description>
		<wfw:commentRss>http://chenyc.info/2010/03/android_notepad_learn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
