Android中Activity共享变量的另一方法:Application context
2012-11-23 10:52
393 查看
Android中在不同Activity中传递变量,通常使用Intent中Bundle添加变量的操作方法。
保存参数时:
Java代码
Java代码
不过在多个Activity中经常使用同一变量时,使用Bundle则比较麻烦,每次调用Activity都需要设置一次。
如想在整个应用中使用,在java中一般是使用静态变量,而在android中有个更优雅的方式是使用Application context。
新建一个类,继承自Application
Java代码
在AndroidManifest.xml的application加个name属性就可以了,如下面所示:
Xml代码
使用时:
Java代码
保存参数时:
Java代码
Intent intent = new Intent(); intent.setClass(A.this, B.class); Bundle bundle = new Bundle(); bundle.putString("name", "xiaozhu"); intent.putExtras(bundle); startActivity(intent);读取参数:
Java代码
Intent intent = this.getIntent(); Bundle bundle = intent.getExtras(); String name = bundle.getString("name"); [java] view plaincopy Intent intent = this.getIntent(); Bundle bundle = intent.getExtras(); String name = bundle.getString("name");
不过在多个Activity中经常使用同一变量时,使用Bundle则比较麻烦,每次调用Activity都需要设置一次。
如想在整个应用中使用,在java中一般是使用静态变量,而在android中有个更优雅的方式是使用Application context。
新建一个类,继承自Application
Java代码
class MyApp extends Application { private String myState; public String getState() { return myState; } public void setState(String s) { myState = s; } }
在AndroidManifest.xml的application加个name属性就可以了,如下面所示:
Xml代码
<application android:name=".MyApp" android:icon="@drawable/icon" android:label="@string/app_name">
使用时:
Java代码
class Blah extends Activity { @Override public void onCreate(Bundle b){ ... MyApp appState = ((MyApp)getApplicationContext()); String state = appState.getState(); ... } }
相关文章推荐
- Android中Activity共享变量的另一方法:Application context
- Android中Activity共享变量的另一方法:Application context
- Android中Activity共享变量的另一方法:Application context
- Android中Activity共享变量的另一方法:Application context
- Android中Activity共享变量的另一方法:Application context .
- Android中Activity共享变量的另一方法:Application context
- Android中Activity共享变量的另一方法:Application context
- Android中Activity全局共享方法AppContext
- 在cocos2dx里访问/互调android里的activity方法/变量
- Android在Adapter里面调用Activity的方法/变量
- android 用context共享变量 、代替静态变量static、 activity之间传递变量
- android不同activity共享数据的几种方法
- android中全局变量的表示 多个activity的数据共享
- Android关于 手机返回键和代码finish()方法退出activity他们有什么区别;当activity使用共享动画时应该调用哪个方法,结束activity
- Android在Adapter里面调用Activity的方法/变量
- Android编程实现两个Activity之间共享数据及互相访问的方法
- Activity共享变量的方法 -- Application context
- Android在Adapter里面调用Activity的方法/变量
- Android在Adapter里面调用Activity或者fragment里面的的方法/变量代码