我想将一些String
数据发送到之前打开的活动,该活动在前台运行而不通过Intents
答案 0 :(得分:1)
执行此操作的最佳方式是SharedPreferences
。 SharedPreferences会将您的数据写入应用程序的apk中的键/值中的私有文件,即使您关闭设备也会持续存在。
您可以在onCreate中初始化SharedPreferences
,如下所示:
SharedPreferences sharedPreferences = getSharedPreferences(getPackageName(), MODE_PRIVATE)
。
要存储一个值,只需调用:
sharedPreferences.edit().putString("myKey", stringValue).commit();
要从应用程序中的任何位置检索该值,请初始化SharedPreferences,然后使用以下代码:
String myData = sharedPreferences.getString("myKey");
如果有帮助,请告诉我!
答案 1 :(得分:0)
您可以使用界面执行此操作" trick"。我将向您展示一个发送String的示例。
创建一个界面,如:
public interface Communicable {
public void transportString(String data);
}
然后在活动上实现此界面:
public class MyActivity extends Activity implements Communicable {
//any code
@Override
public void transportString(String data) {
//do whatever what you wants
}
//any code
}
要完成,在新课程的构造函数中,使用 Communicable 作为参数并将 Activity 传递给它:
public class MyClass {
private final Communicable communicable;
public MyClass(Communicable communicable) {
this.communicable = communicable;
}
public void myMethod() {
//any code
communicable.transportString("example");
}
}
您可以做的另一件事是创建一个扩展 Application 的新类,并使用它来通过您的应用程序传输任何数据。
答案 2 :(得分:0)
简单方法共享偏好。很难用Sqlite或txt文件。