通过Application Context进行变量共享
首先,建立一个继承自Application的类,将要共享的变量在其中声明:
代码:
import android.app.Application;
public class ApplicationTrans extends Application {
private String value;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
注意:需要注意的是,写完这个类之后需要在AndroidManifest.xml中在Application节点中进行设置
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
android:label="@string/app_name" >
接下来在MainActivity中进行操作:
((ApplicationTrans) getApplication()).setValue("我是通过Application传递的值");//赋值操作
在第二个Activity中获得该值:就行用这个值进行操作了
((ApplicationTrans) getApplication()).getValue();
1.基于消息的通信机制 Intent ---boudle ,extra
数据类型有限,比如遇到不可序列化的数据Bitmap,InputStream, 或者LinkList链表等等数据类型就不太好用。
2. 基于static静态数据
public static成员变量,一个Activity可直接访问另一个Activity的公共静态成员变量
3.基于外部存储的传输
如File、Preference、Sqlite 等,如果要针对第三方应用需要Content Provider
4.基于IPC的通信机制
context 与Service之间的传输,如Activity与Service之间的通信,定义AIDL接口文件
5. 基于Application Context
在自定义Application类中声明用于Activity共享数据的变量