Android App Store数据

时间:2013-06-10 21:59:36

标签: java android

我有一个Android应用程序,它在Object中存储一些String数据。我想在整个应用程序中使用这个对象。

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

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

数据:

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

感谢任何帮助或想法。

3 个答案:

答案 0 :(得分: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","");

答案 1 :(得分:0)

使用对象的引用创建一个单独的类。每次需要时,都可以打电话给这个班级

答案 2 :(得分:0)

使用SharedPreferences

保存字符串非常简单:(例如用户名)

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

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

prefs.getString("username", "");