我有一个Android应用程序,它在Object中存储一些String数据。我想在整个应用程序中使用这个对象。
含义:在我的MainActivity中,我开始一个新的意图getDataActivity,在这个活动中,我通过TextFields获取数据并将它们存储在一个新的Object文件中。将数据放入i后,通过意图返回MainActivity。在主Activity中我想开始第二个Activity writeDataActivity。为此,我需要来自getDataActivity的数据对象。
什么是数据的最佳方式。它不必是一个文件或任何我可以在应用程序打开时暂时。我读了一些像ContextData的东西,但我不知道如何实现它。那么最好的方法是保存数据。
数据:
String url;
String username;
String password;
boolean connected;
感谢任何帮助或想法。
答案 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 prefs = context.getSharedPreferences("prefs", 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("username", yourUsername);
editor.commit();
要阅读此字符串,请使用:
prefs.getString("username", "");