0

我有一个 android 应用程序,它在一个对象中存储了一些字符串数据。我想在整个应用程序中使用这个对象。

含义:在我的 MainActivity 中,我开始了一个新的意图 getDataActivity,在这个活动中,我通过 TextFields 获取数据并将它们存储在一个新的 Object 文件中。将数据放入后,我通过意图返回 MainActivity。在主 Activity 中,我想启动第二个 Activity writeDataActivity。为此,我需要来自 getDataActivity 的数据对象。

什么是数据的最佳方式。它不必是文件或任何我可以在打开应用程序时暂时存在的东西。我读了一些 aber ContextData 但我不确定如何实现它。那么保存数据的最佳方法是什么。

数据:

String url;
String username;
String password;
boolean connected;

感谢任何帮助或想法。

4

3 回答 3

2

您可以使用单例(例如,您创建的 Credentials 对象)来存储数据。或者,您可以将字符串声明为static允许您在任何地方访问这些字符串。当您的进程被 Android 杀死/终止时,数据将被擦除(离开应用程序并在大多数情况下返回不会杀死您的应用程序)。

public class Credentials {
    public static String username;
    public static String password;
}
// write (assuming 'uname' is the user's name you want to save)
Credentials.username = uname;
// read
String user = Credentials.username;

如果您希望永久存储数据,那么您应该使用SharedPreferences. 您可以从任何有效Context的(例如您的Activity)中获取此信息。

// write (assuming 'uname' is the string you want to save)
// NOTE: getSharedPreferences needs a valid context (so you can call this in onResume/onPause, or just MyActivity.this.getSharedPreferences()
SharedPreferences settings = getSharedPreferences("SharedPrefs", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putString("username", uname);

// read
SharedPreferences settings = getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
String username = settings.getString("username","");
于 2013-06-10T22:02:26.587 回答
0

使用对象的引用创建一个单独的类。每次你需要它时,你都会调用这个类

于 2013-06-10T22:02:58.183 回答
0

使用SharedPreferences

保存字符串非常容易:(例如用户名)

SharedPreferences prefs = context.getSharedPreferences("prefs", 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("username", yourUsername);
editor.commit();

要读取此字符串,请使用:

prefs.getString("username", "");
于 2013-06-10T22:06:19.223 回答