我应该如何存储永久变量

时间:2014-08-19 11:43:59

标签: android

我正在制作一个应用程序,我的妻子可以用来检查某个IC是否友好。问题是如果你愿意,我需要5列(foodName,safe,try,avoid,foodCategory。在安全,尝试,避免下,每个可能有也可能没有食物名称的描述。我应该使用database .xls个文件,还是可以在xml中执行此操作?

3 个答案:

答案 0 :(得分:2)

这取决于您的要求/用途

使用 sharedPreferences sqlite数据库

如果您想存储长期使用的数据sqlite

如果您想使用SharedPreferences维护会话。

<强> SharedPreference

SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
 editor.putString("name", "Elena");
 editor.putInt("idName", 12);
 editor.commit();

从偏好中检索数据:

SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE); 
String restoredText = prefs.getString("text", null);
if (restoredText != null) {
  String name = prefs.getString("name", "No name defined");//"No name defined" is the default value.
  int idName = prefs.getInt("idName", 0); //0 is the default value. and it requires API 11
}

使用Sqlite @Sri Hari给你看了一个例子..

答案 1 :(得分:0)

要在Android中存储数据,您可以使用:

  • 共享首选项 - 将私有原始数据存储在键值对中
  • 内部存储 - 将私人数据存储在设备内存中
  • 外部存储 - 将公共数据存储在共享外部存储上
  • SQLite数据库 - 将结构化数据存储在私有数据库中
  • 网络连接 - 使用您自己的网络在网络上存储数据 服务器

IMO出于您的目的,最有效的选项可以是Shared Prefeerences或SQLite Database

有关存储数据的更多详细信息,您可以找到here.

请注意,您还可以查看一些ORM,以便使用SQLite数据库 - GreenDAO,OrmLite,...

答案 2 :(得分:0)

创建一个新的SQLite数据库并存储它。她可以安全地存放多个桌子。

public class DictionaryOpenHelper extends SQLiteOpenHelper {

private static final int DATABASE_VERSION = 2;
private static final String DICTIONARY_TABLE_NAME = "dictionary";
private static final String DICTIONARY_TABLE_CREATE =
            "CREATE TABLE " + DICTIONARY_TABLE_NAME + " (" +
            KEY_WORD + " TEXT, " +
            KEY_DEFINITION + " TEXT);";

DictionaryOpenHelper(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL(DICTIONARY_TABLE_CREATE);
}
}