如何在 Android 中保存数据
Posted
技术标签:
【中文标题】如何在 Android 中保存数据【英文标题】:How to save data in Android 【发布时间】:2014-07-29 22:36:48 【问题描述】:我想知道在 android 中保存数据的最佳方式是什么。
我正在开发一个应用程序,它的基本操作很简单,用户可以填写表格的字段,一旦完成,这些数据就会保存在设备(智能手机或平板电脑)上。
当应用程序关闭然后重新打开时,用户可以查看和编辑在之前的表单中输入的内容。
(我想避免将数据保存在网络上。)
我想把数据直接保存到设备的内存中,我比较舒服的数据结构是表格(数据库风格),怎么办?
【问题讨论】:
你试过the Android Developer website? 如果您不想使用 SharedPreferences,请参阅***.com/questions/2729438/… 了解如何在 Android 中创建数据库 【参考方案1】:您正在寻找易于使用且易于获取数据的SavedPreferences,它就像具有keys和value的HashMap
。
【讨论】:
【参考方案2】:如果您只想将用户键入的文本保存在编辑文本中,那么 SharedPreferences 是最佳选择。
private Button bsave;
private EditText detail;
private SharedPreferences preferences;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_enteractivity);
preferences = getSharedPreferences("name", MODE_PRIVATE);
detail = (EditText) findViewById(R.id.etdetails);
bsave = (Button) findViewById(R.id.buttonsave);
detail.setText(preferences.getString("key", "defValue"));
bsave.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
SharedPreferences.Editor editor = preferences.edit();
editor.putString("key", detail.getText().toString());
editor.commit();
);
我不知道你为什么需要一个表结构,如果你需要它,你必须创建一个 sqlite 数据库。有很多可用的教程。 http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/
【讨论】:
我可以保存不同的“SharedPreferences”吗?例如,如果我想创建一个简单的通讯录,使用这种方法可以保存更多的联系人还是必须使用 sql? 如果你想创建一个通讯录,你应该使用数据库。 我对sqlite有点担心,在创建数据库的时候,是保存在智能手机的内存还是外存? 如果您使用 SQLiteOpenHelper 创建数据库,那么数据库将存储在您的内存中。 link以上是关于如何在 Android 中保存数据的主要内容,如果未能解决你的问题,请参考以下文章