Android 如何在共享首选项中存储数据
我有一个arraylist,我想在应用程序关闭/终止/销毁时保存数据Android 如何在共享首选项中存储数据,android,android-layout,Android,Android Layout,我有一个arraylist,我想在应用程序关闭/终止/销毁时保存数据 //Class SimpleBookManager.java is a singleton private ArrayList<Book> allBooks = new ArrayList<Book>(); public Book getBook(int index){ return allBooks.get(index); } public void saveChanges(){
//Class SimpleBookManager.java is a singleton
private ArrayList<Book> allBooks = new ArrayList<Book>();
public Book getBook(int index){
return allBooks.get(index);
}
public void saveChanges(){
//Save the allBooks into memory
}
public void loadBooks(){
//Load the allBooks into memory to the variable allBooks;
}
//类SimpleBookManager.java是一个单例
private ArrayList allBooks=new ArrayList();
公共图书getBook(int索引){
返回所有图书。获取(索引);
}
公共void saveChanges(){
//将所有书籍保存到内存中
}
公共空负荷书(){
//将allBooks加载到变量allBooks的内存中;
}
通过编写SimpleBookManager.getSimpleBookManager().saveChanges()来实现包中所有其他类中的代码>
实现saveChanges()和loadBooks()方法的最佳方法是什么?你能举个简单的例子吗?我读过一些关于android中共享首选项的内容,但不幸的是,我不太明白=)这里有一个问题,其中包含了您正在寻找的代码
要在共享首选项中存储数组,请查看此处-
但是,如果你的应用程序有很多书,或者有很多关于每本书的信息,那么最好使用SQLite数据库,你可以从应用程序中的任何上下文获取SharedReferences的实例
以下代码使用键“some_pref_key”和值“some_pref_value”将首选项保存到名为“your_preference_file_name”的文件中
如果需要保存其他类型的数据,请查看文档如果要存储的单个数据不超过10个,则可以使用共享首选项。
示例:如果要存储bookid,那么共享首选项就足够了
但如果您试图存储对象/数据数组,则应仅将其存储在数据库中。这便于处理大量数据这最好作为注释,因为您仅链接到另一个问题,而不是自己提供答案。
SharedPreferences prefs = context.getSharedPreferences( "your_preference_file_name", MODE_APPEND );
SharedPreferences.Editor editor = prefs.edit();
editor.putString( "some_pref_key", "some_pref_value" );
editor.commit();