2 Intent和Activity
Android应用程序的三种核心的组件:Activity,Service, Brocast Receiver。这三种组件互相或者内部进行交互的消息就叫做Intent。比如在我们这个程序中,就是两个Activity需要进行交互,这个时候就需要使用到了Intent了。
Intent有三种用法:
传递给Activity:startActivity(Intent), startActivityForResult()
传递给Service:startService(Intent), bindService()
传递给Broadcast:sendBroadcast(), sendOrderedBroadcast(), sendStickyBroadcast()
在这个例子中,除了从ToDoListActivity跳到Reference,也有从Reference跳到ToDoListActivity(点击返回按钮)。
Button cancelReference = (Button)findViewById(R.id. cancel);
cancelReference.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(Reference.this, ToDoListActivity.class);
startActivity( intent);
}
});
3 配置项存储
关于配置项存储这里使用的是SharePreferences。SharePreferences提供了一个接口让你能存储和获取持久化的key-value数据。你可以持久化的数据类型有:boolean,float,int,long,string。
简单来说:
创建对象使用方法:
getSharePreferences()
getPreferences()
写数据使用方法:
1 使用edit()获取写句柄
2 调用putXXXX()方法
3 调用commit
读数据使用方法:
getXXX()
在这个例子中有这样用到:
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean isSaveLocal = prefs.getBoolean( IS_SAVE_LOCAL, false);
...
Editor editor = prefs.edit();
editor.putBoolean( IS_SAVE_LOCAL, isChecked);
mit();
总结
增加配置项也大都选择SharePreferences作为存储方法。至于Android还有其他的存储方法比如:
Internal Storage
External Storage
SQLite Databases
Network Connection
应该在存储代办事项的时候用得到