我是Android新手。我有一个扩展Activity的基类Activity类(MainActivity.java)。所以我可以在这里初始化Intent。 MainActivity.java
Intent myIntent = new Intent(MainActivity.this, ConnectionClass.class);
myIntent.putExtra("ServerName", ServerName);
startActivityForResult(myIntent, 1);
在connectionClass.java中,我有一个不继承的类ConnectionClass。但我想访问MainActivity.java中的值。所以本课程没有继承Activity& onCreate方法。但我需要访问MainActivity.java中的值到ConnectioClass.java
ConnectionClass.Java
public class ConnectionClass {
Bundle bundle = getIntent().getExtras();
String ServerName = bundle.getString("ServerName");
}
我该怎么做?
答案 0 :(得分:0)
我不知道" ServerName"是固定值,或每次都有变化,或者它有一种值池。如果是第一个或第三个案例,我建议您使用SharedPreferences。它是一个相对较小的键值数据存储。您可以将数据保存在其中,一旦存储,它将永久存储在您的应用中,除非删除。因此,您可以在MainActivity中保存数据,并在任何地方获取类中的值。
您可以在此处找到教程:https://developer.android.com/training/basics/data-storage/shared-preferences.html
答案 1 :(得分:0)
当你在活动中从ConnectionClass实例化一个新对象时,可以将servername传递给类,如下所示
public class ConnectionClass {
String serverName;
public ConnectionClass(String serverName){
this.serverName=serverName;
}
}
然后在你的活动中你有类似的东西:
Bundle bundle = getIntent().getExtras();
String ServerName = bundle.getString("ServerName");
ConnectionClass connection=new ConnectionClass(ServerName);