android使用全局变量的两种方法
来源:互联网 发布:ae软件中文版下载 编辑:程序博客网 时间:2024/06/05 23:42
在我们使用android编写程序的时候,少不了想利用全局变量,但是面向对象语言和过程语言区别很大,不再是include就可以的。这里我写了使用全局变量的两种方法:
1.使用application来保存全局变量
这里没有太多理论性的东西,无非就是一些实际操作。
1.1定义Data类继承Application Data.class
import android.app.Application;public class Data extends Application{private String b;public String getB(){return this.b;}public void setB(String c){this.b= c;}@Overridepublic void onCreate(){b = "hello";super.onCreate();}}
1.2在manifest.xml中声明application
android:name="com.animator1.Data" >
1.3创建两个Activity
MainActivity.class
public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);Button btn = (Button) this.findViewById(R.id.button1);final TextView txtview = (TextView) this.findViewById(R.id.main);final Data app = (Data)getApplication();txtview.setText(app.getB());btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubapp.setB("no_hello");txtview.setText(app.getB());Intent intent = new Intent(MainActivity.this, secondActivity.class);startActivity(intent);}});}}
secondActivity.class
public class secondActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.second);Button btn = (Button) this.findViewById(R.id.button2);final TextView txtview = (TextView) this.findViewById(R.id.second);final Data app = (Data)getApplication();txtview.setText(app.getB());btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubapp.setB("hello");txtview.setText(app.getB());Intent intent = new Intent(secondActivity.this, MainActivity.class);startActivity(intent);}});}}
1.4运行程序
说明:程序首先进入MainActivity.class中,获取Data中变量b的值,显示图1所示的界面hello,单击button后app.setB("no_hello"), 修改变量b的值。
跳转到secondActivity.class,获取Data中变量b的值,显示图2所示的界面no_hello,单击button后app.setB("hello"), 修改变量b的值。
跳转回MainActivity.class…… 循环
2.使用普通的类Data.class来保存全局变量
方法和上面差不多。
1.1 定义Data.class
public class Data{private static String a ="feiyangxiaomi";public static String getA() {return a;}public static void setA(String a) {Data.a = a;}}
1.2创建两个Activity
MainActivity.class
public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);Button btn = (Button) this.findViewById(R.id.button1);final TextView txtview = (TextView) this.findViewById(R.id.main);txtview.setText(Data.getA());btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubData.setA("no_feiyangxiaomi");Intent intent = new Intent(MainActivity.this, secondActivity.class);startActivity(intent);}});}}
secondActivity.class
public class secondActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.second);Button btn = (Button) this.findViewById(R.id.button2);final TextView txtview = (TextView) this.findViewById(R.id.second);txtview.setText(Data.getA());btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubData.setA("feiyangxiaomi");Intent intent = new Intent(secondActivity.this, MainActivity.class);startActivity(intent);}});}}
1.3运行程序
说明:程序首先进入MainActivity.class中,获取Data中变量b的值,显示图1所示的界面feiyangxiaomi,单击button后app.setB("no_feiyangxiaomi"), 修改变量b的值。
跳转到secondActivity.class,获取Data中变量b的值,显示图2所示的界面no_feiyangxiaomi,单击button后app.setB("feiyangxiaomi"), 修改变量b的值。
跳转回MainActivity.class…… 循环
3.总结
两种方法我测试的都可以的,大多数人应该更会偏向于第一种,毕竟Application是android专门提供的应用入口,并且运行周期贯穿整个程序运行。
- android使用全局变量的两种方法
- android使用全局变量的两种方法
- android使用全局变量的两种方法
- android使用全局变量的两种方法
- android使用全局变量的两种方法
- android使用全局变量的两种方法
- android使用全局变量的两种方法
- android使用全局变量的两种方法
- android使用全局变量的两种方法
- android 开发零起步学习笔记(十九):android使用全局变量的两种方法
- android使用全局变量的方法
- Android使用Handler的两种方法
- Android Fragment使用的两种方法
- Android Fragment使用的两种方法
- Android 全局变量的使用
- android 全局变量的使用
- Qt中使用全局变量的两种方式
- 改变全局变量值得两种方法
- %与mod的区别
- Linux ./configure --prefix命令
- poj 3281 Dining 网络流-最大流-建图的题
- JFreeChart 自定义线段图
- 《Unix高级环境编程》 读书笔记(1)(ch0~ch2)
- android使用全局变量的两种方法
- 智力题研究(二)
- Kalido MDM 笔记 1
- 高可用性(HA) 5 - Drbd+heartbeat/pacemaker实现99.99%推荐配置
- linux下静默安装oracle11g
- 数学公式+矩阵快速幂 hdu-4565 So Easy!
- getting start with storm 翻译 第四章 part-3
- USB系统基本概念
- 创建XWindow全屏窗口(Linux可视化编程)