1. 5种数据库
SharePreference,File,Network,Sqlite:
SharePreference保存用户设置,参见ApiDemo中PersistentState
File相当于.ini文件
Network需要网络支持
Sqlite用于大量数据时使用,需要继承SQLiteOpenHelper
实例状态绑定:Bundle类,见SudoKu的记住当前数据。
2. 嵌入式数据库引擎SQLite
继承SQLiteOpenHelper,
SQLiteDatabase db = event.getWritableDatabase();
3. 数据绑定:
Adapter用于绑定和显示
一共有3种Adapter。
SimpleAdapter,ArrayAdapter,SimpleCursorAdapter。
还有一种ResourceCursorAdapter(抽象类),继承自CursorAdapter。在CursorAdapter中有两个方法:newView()和bindView()方法,newView方法用来new一个 RowLayout,bindView方法用来向这个新的RowLayout绑定数据。有人会说,这不是太麻烦了吗,有这个必要吗?当然有必要啊,因为有些数据不能用SimpleCursorAdapter来进行绑定的。其中的view.setTag()方法的主要作用是将数据保存到view对象中,这样从另外一个方法或另一个线程中,就可以得到其中的数据,这比用全局变量要好很多,可以访止多线程的情况下,数据的并发访问。
参见ApiDemo中ContactListItemAdapter。
转自http://www.javaeye.com/topic/549326
4. 2个进程共享数据
ContentProvider
5.Preferences布局用法
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<CheckBoxPreference
android:key="music"
android:title="@string/music_title"
android:summary="@string/music_summary"
android:defaultValue="true"/>
<CheckBoxPreference
android:key="hints"
android:title="@string/hints_title"
android:summary="@string/hints_summary"
android:defaultValue="true"/>
</PreferenceScreen>
使子布局依赖于父布局
android:dependency="parent_checkbox_preference"
android:layout="?android:attr/preferenceLayoutChild"
还有
EditTextPreference
ListPreference
DialogPreference