android Activtity 之间传递对象的方法 application

来源:互联网 发布:linux加磁盘 编辑:程序博客网 时间:2024/06/10 18:52

 
这里随便记录下 我不知道这样的方法行不行,如果不好 请大家指正~ 
这里主要说下android 中activity之间的传值方法 以前最常用的是Intent bundle 来传递一些数据,但是这个只能传递写基本数据类型。、如果要传LIST POJO之类的就力不从心了,要么重写这个Bundle 理论上是可以的扩展下,application是整个应用程序中生命周期最长的,并且是全局的 单列的,任何一个地方我们获取到的都是一样的,所以我们可以在里面缓存一些简单的数据,

  这里就不说这个这个了 ,我们来说下 application这个 ,具体概念大家去搜下这个 我就说下用这个如何传递数据

 下面看代码吧 很简单就几行,



首先我们自己定义一个 application 代码如下

public class MyApplication  extends Application{public static MyApplication myApplication;public static Map<String,Object> applicationMap;public static  MyApplication getInstance(Context context) {if(myApplication == null){myApplication =  (MyApplication)context.getApplicationContext();}return myApplication;}public  Map<String,Object>  getApplicationMap(){if(applicationMap == null ){applicationMap = new HashMap<String, Object>();}return applicationMap;}}
完成后记得要在AndroidManifest.xml 的application 中加个name属性并且制定我们自定义的application
 <application        android:name=".MyApplication"        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <activity            android:name="com.example.application.MainActivity"            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <activity android:name="com.example.application.OtheActivity" android:theme="@style/AppTheme" />                  
接下去是  2个activity 
public class MyApplication  extends Application{public static MyApplication myApplication;public static Map<String,Object> applicationMap;public static  MyApplication getInstance(Context context) {if(myApplication == null){myApplication =  (MyApplication)context.getApplicationContext();}return myApplication;}public  Map<String,Object>  getApplicationMap(){if(applicationMap == null ){applicationMap = new HashMap<String, Object>();}return applicationMap;}}
public class OtheActivity  extends Activity{private MyApplication application;private UserBean user;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.other_main);application = MyApplication.getInstance(this);TextView t = (TextView) findViewById(R.id.name1);t.setText(application.getApplicationMap().get("name").toString());user = (UserBean)application.getApplicationMap().get("user");TextView t1 = (TextView) findViewById(R.id.name2);t1.setText(user.getName());}}






0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 写字紧张心跳的快手抖怎么办 怀孕食欲差没精神怎么办 爬个三楼就喘了怎么办 头被篮球砸了怎么办 打球手指肿了很久怎么办 客人吃饭跑单了怎么办 脑子总是记不住东西怎么办 穿的鞋有味道怎么办 生完孩子血糖高怎么办 生了孩子子宫大怎么办 生完孩子阴吹怎么办 怀孕初期感冒嗓子发炎怎么办 脑子转不过来弯怎么办 他说我道行不深怎么办 鞋子内测磨破了怎么办 老公拉肚子拉的很厉害怎么办 老公拉肚子拉得很厉害怎么办 和老公吵架很厉害怎么办 新鞋鞋底吱吱响怎么办 新鞋鞋底滑了怎么办 工作中同事不配合怎么办 做体力活一身疼怎么办 大脑左则中动脉血管狭窄?怎么办 儿童体质差免疫力差怎么办 nba篮球大师体力不够怎么办 一千米差10秒怎么办 四十岁以后体力和耐力差怎么办 打篮球一打比赛就紧张怎么办 耐克空军鞋鞋底边胶掉了怎么办 鞋底踩到老鼠胶怎么办 头蒙怎么办最快最有效 备孕老公压力大怎么办 宝宝太兴奋不睡怎么办 我很烦只睡三小时觉怎么办才好 柯基精力太旺盛怎么办 孩子学习熬夜精力不足怎么办 肺癌晚期吃不下饭怎么办 这俩天吃药太多肝肾功能不好怎么办 跑步跑得头疼晕怎么办 吃完辣的想吐怎么办 体育生暑假训练太累怎么办