我们在android中在activity中进行参数传递一般使用intent来进行,或者也可以通过建立bundle来设置键值对,然后还是通过intent(bundle)来进行参数传递,但是这种方法有所不足,就是这种方法一般进行的是一般的基本类型数据的传递,而对于类对象等,只能通过定义序列化,继承Serializable或者Parceable接口来进行传递,即使如此,万一遇到bitmap之类无法序列化的情况呢,就不知道该怎么做了。
这个时候,android就给我们提供了一个自定义的application来进行数据传递,而且这种方法还是全局的哦,定义之后在每个activity都可以使用,定义方法很简单:
1、定义一个继承于Application类的子类:
2、配置manifest.xml文件中application的定义,在<application 。。。>中加入android:name="MainApp",来配置自己定义的application.
4、在另一个activity中获取MainApp中的全局值:
MainApp myApp = (MainApp) getApplication();
String result = myApp.getString();
5、嫌麻烦,就不写类了,其实都是一样的,而且MainApp中的东西都是全局的。
这个时候,android就给我们提供了一个自定义的application来进行数据传递,而且这种方法还是全局的哦,定义之后在每个activity都可以使用,定义方法很简单:
1、定义一个继承于Application类的子类:
class MainApp extends Application{
String str;
public String getString(){
return str;
}
public void setString(String s){
str = s;
}
}
2、配置manifest.xml文件中application的定义,在<application 。。。>中加入android:name="MainApp",来配置自己定义的application.
3、在一个activity中设置其中的值:
MainApp myApp = (MainApp) getApplication();
myApp.setString("application is very good");
4、在另一个activity中获取MainApp中的全局值:
MainApp myApp = (MainApp) getApplication();
String result = myApp.getString();
5、嫌麻烦,就不写类了,其实都是一样的,而且MainApp中的东西都是全局的。