編輯:Android開發教程
平時的我們如果想要保信息,一般的做法就是記在本子上,然後在使用的時候從本子中拿出來。android 保存數據的方式也可以像是這樣先將數據保存在文件中,然後再從文件中讀取。采取這種方式,我們可以在程 序間共享信息,但默認下,android的文件是私有的,要想共享,需要權限。
例子就用上一篇文章中的 CheckBox,用文件的方式保存點擊狀態(例子的詳情請 看:http://www.cnblogs.com/wenjiang/archive/2013/06/02/3114017.html)
直接就是代 碼:
private boolean isCheck;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CheckBox checkbox = (CheckBox) this.findViewById(R.id.checkbox);
getProperties();
checkbox.setChecked(isCheck);
checkbox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
isCheck = isChecked;
}
});
}
private boolean saveProperties() {
Properties properties = new Properties();
properties.put("info", String.valueOf(isCheck));
try {
FileOutputStream out = this.openFileOutput("info.cfg",
Context.MODE_WORLD_WRITEABLE);
properties.store(out, "");
} catch (FileNotFoundException e) {
return false;
} catch (IOException e) {
return false;
}
return true;
}
private void getProperties() {
Properties properties = new Properties();
try {
FileInputStream in = this.openFileInput("info.cfg");
properties.load(in);
} catch (FileNotFoundException e) {
return;
} catch (IOException e) {
return;
}
isCheck = Boolean.valueOf(properties.getProperty("info").toString());
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
saveProperties();
this.finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
由於涉及到I/O,所以異常處理機制必要的。流程是這樣的:我們先使用put()將數據打包,同 樣是鍵值對,然後通過store()將數據保存在指定的文件中,如果沒有,就創建一個,最後再通過load()讀取 文件內容。load()讀取文件內容並不直接取出數據,它是將文件內容放在properties中,所以我們需要通過 get()方法取出相應的數據。
Android測試教程(2):測試基礎
Android測試框架(Android Testing Framework)為Android開發環境的一個組成部分,可以用來測試Android的各個方面,從 單元測試到框
Android中R資源未找到至java文件報錯
R資源, 是本地xml資源的引用列表, 修改時, 有可能Gradle沒有生成, 相應的R資源;則會出現R資源未找到的錯; 導致Java文件異常, 報錯.可以使用: Syn
Android實現Parcelable對象序列化的實例
bundle.putParcelable可以實現傳遞對象,但是這個對象的類必須實現Parcelable接口才能夠使用。下面是一個簡單的在Activity之間傳遞對象的例子
Android系統修改版:CyanogenMod 10穩定版現已推出
CyanogenMod 10(CM10),最新基於Android 4.1果凍豆版本的ROM,在今天對少數設備推出。版本10已經在過去的數月經歷了無數個夜晚的beta開發,