保存序列化对象列表到共享preferences [英] Saving Serializable Objects List into sharedPreferences
问题描述
谁能告诉我怎么可以保存自定义列表序列化
对象插入共享preference
?我是新来的Android,我想保存的ArrayList<联系与GT;清单
到共享preferences。
公共类MainActivity扩展SherlockFragmentActivity {
PlaceSlidesFragmentAdapter mAdapter;
ViewPager mPager;
PageIndicator mIndicator;
公共静态最终字符串变量=detailsFragment;
公共查看onCreateView(LayoutInflater充气,容器的ViewGroup,
捆绑savedInstanceState){
查看查看= inflater.inflate(R.layout.main,
集装箱,假);
mAdapter =新PlaceSlidesFragmentAdapter(getActivity()
.getSupportFragmentManager());
mPager =(ViewPager)view.findViewById(R.id.pager);
mPager.setAdapter(mAdapter);
mIndicator =(CirclePageIndicator)view.findViewById(R.id.indicator);
mIndicator.setViewPager(mPager);
((CirclePageIndicator)mIndicator).setSnap(真正的);
mIndicator
.setOnPageChangeListener(新ViewPager.OnPageChangeListener(){
@覆盖
公共无效onPageSelected(INT位置){
Toast.makeText(MainActivity.this.getActivity(),
更改为网页+位置,
Toast.LENGTH_SHORT).show();
}
@覆盖
公共无效onPageScrolled(INT位置,
浮positionOffset,INT positionOffsetPixels){
}
@覆盖
公共无效onPageScrollStateChanged(INT状态){
}
});
返回查看;
}
}
您可以使用 JSON 格式序列化的ArrayList
和对象它包含了,然后保存字符串
结果到共享preferences
。
当你想要得到的数据备份,检索字符串,并使用 JSONArray
来检索每个对象并将其添加到一个新的ArrayList
否则,你可以简单地使用对象(输入/输出)流
类和使用记录到一个differente文件(写入)
的FileOutputStream FOS = this.openFileOutput(文件名,MODE_PRIVATE);
最后OutputStreamWriter OSW =新OutputStreamWriter(FOS);
JSONArray阵列=新JSONArray();
//添加你的对象数组
osw.write(与Array.toString());
osw.flush();
osw.close();
Can anyone tell me how I can save a list of custom Serializable
objects into SharedPreference
? I am new To Android and I want to save an ArrayList<Contact> list
into shared preferences.
public class MainActivity extends SherlockFragmentActivity {
PlaceSlidesFragmentAdapter mAdapter;
ViewPager mPager;
PageIndicator mIndicator;
public static final String TAG = "detailsFragment";
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.main,
container, false);
mAdapter = new PlaceSlidesFragmentAdapter(getActivity()
.getSupportFragmentManager());
mPager = (ViewPager) view.findViewById(R.id.pager);
mPager.setAdapter(mAdapter);
mIndicator = (CirclePageIndicator) view.findViewById(R.id.indicator);
mIndicator.setViewPager(mPager);
((CirclePageIndicator) mIndicator).setSnap(true);
mIndicator
.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
Toast.makeText(MainActivity.this.getActivity(),
"Changed to page " + position,
Toast.LENGTH_SHORT).show();
}
@Override
public void onPageScrolled(int position,
float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
return view;
}
}
You can use the JSON format to serialize your ArrayList
and the objects it contains, and then store the String
result into the SharedPreferences
.
When you want to get the data back, retrieve the String and use a JSONArray
to retrieve each object and add it to a new ArrayList.
Otherwise you can simply use Object(Input/Output)Stream
classes and write it into a differente file using (for writing)
FileOutputStream fos = this.openFileOutput(fileName, MODE_PRIVATE);
final OutputStreamWriter osw = new OutputStreamWriter(fos);
JSONArray array = new JSONArray();
// Add your objects to the array
osw.write(array.toString());
osw.flush();
osw.close();
这篇关于保存序列化对象列表到共享preferences的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!