【问题标题】:How to Store Data in Android Application如何在 Android 应用程序中存储数据
【发布时间】:2014-10-26 12:56:53
【问题描述】:

我在这里有一些代码,用户可以在我的布局中使用EditText 设置一个值。当用户在文本输入中设置数字并单击“设置”按钮时,EditText 输入的值会传输到TextView。这是其中的一些图像。

这是我的 XML:

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Text"
        android:textSize="25sp"
        android:id="@+id/textview" />
    <EditText
        android:id="@+id/edittext"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:inputType="number"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Set"
        android:id="@+id/set" />

还有java代码:

textview= (TextView)findViewById(R.id.textview);
edittext= (EditText) findViewById(R.id.edittext);
set = (Button) rootView.findViewById(R.id.set);

set.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        textview.setText(edittext.getText().toString());
    }
});

现在我想在重新启动应用程序或设备后保留“textview”的值,将我所有的数据保存在内部存储中是很重要的。

【问题讨论】:

  • 使用SharedPreferences

标签: java android store


【解决方案1】:

您可以使用SharedPreferences 来存储这样的简单数据。如果您需要保存更多的金额,请使用数据库。

【讨论】:

  • 你能告诉我更多的代码吗?抱歉,我是 android 新手
  • 检查this
  • @MohammadFarahi 如果您是 android 新手,您应该阅读文档。信不信由你,但我也是安卓新手,昨天是我第一次使用SharedPreferences。你知道我怎么知道使用它吗?我用谷歌搜索,结果可能得到了 stackoverflow 的答案。
【解决方案2】:

为了为您保存此类信息,使用SharedPreferences 非常好。这是一种非常简单快捷的数据管理方式。

要写:

SharedPreferences preferences = getSharedPreferences("prefData", Context.MODE_WORLD_WRITEABLE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("fristRow",userid.getText().toString());
editor.putString("secondRow",password.getText().toString());
editor.apply();

阅读:

SharedPreferences preferences = getSharedPreferences("prefData", Context.MODE_PRIVATE);
String Astatus = preferences.getString("fristRow", "");

【讨论】:

  • 我正在使用片段活动,无法使用“getSharedPreferences”
  • // this = 你的片段 SharedPreferences 首选项 = this.getActivity().getSharedPreferences("pref", Context.MODE_PRIVATE);
  • “getString”怎么样?
  • 同示例中的preferences.getString("fristRow", "");
【解决方案3】:

第一个 Sqlite 数据库

Senad SharedPreferences

第三互联网存储(SdCarc)

【讨论】:

    【解决方案4】:

    使用 SharedPreferences 并获取更多帮助,请查看 this

    【讨论】:

      【解决方案5】:

      如果您需要了解有关 SharedPreferences Helper Class 的更多信息,请查看此链接

      http://developer.android.com/guide/topics/data/data-storage.html#pref

      【讨论】:

        【解决方案6】:

        要存储一些简单的数据,可以使用SharedPreferences

          SharedPreferences sp = getSharedPreferences(PRE_NAME, 0);//get the preference object
          SharedPreferences.Editor editor = sp.edit();
          editor.putString("key_here", value_here);//store some value(key-->value)
          editor.commit();//commit the changes
        

        您可以使用 sp.getXXXX() 来获取存储的数据:

           SharedPreferences sp= getSharedPreferences(PREFS_NAME, 0);
           String storedValue = sp.getString("your_key", default_value);
        

        如果你想要一些数据存储在结构中,你可以使用 SQL Lite。

        详情请咨询Storage Options

        【讨论】:

          【解决方案7】:

          您可以为此目的使用SharedPreferences

          set.setOnClickListener(new View.OnClickListener() {
                              public void onClick(View v) {
                                  textview.setText(edittext.getText().toString());
                                  SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
                                  Editor prefsEditor = prefs.edit();
                                  prefsEditor.putString("text_value", edittext.getText().toString());
                                  prefsEditor.commit();
                              }
                          });
          

          为了读取值

          SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
          String textValue = prefs.getString("text_value", "");
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2015-04-29
            • 2017-10-21
            • 2017-07-22
            • 2016-12-19
            • 2016-10-28
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多