如何在 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,它就像具有keysvalueHashMap

【讨论】:

【参考方案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 中保存数据的主要内容,如果未能解决你的问题,请参考以下文章

Android登录后的用户数据如何保存,Android如何保存数据

android 如何获取保存的图片的地址 并存到数据库中

如何在 Android 上将数据保存到文本文件?

如何永久保存数据,以便稍后在 Android 中访问?

如何在 Android 中保存数据

如何在 Android 手机中查看保存的数据文件