首页 > 代码库 > Android_社交软件2_全局变量

Android_社交软件2_全局变量

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;	}	@Override	public 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 {	@Override	protected 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() {						@Override			public void onClick(View v) {				// TODO Auto-generated method stub				app.setB("no_hello");				txtview.setText(app.getB());				Intent intent = new Intent(MainActivity.this, secondActivity.class);				startActivity(intent);			}		});	}}

secondActivity.class

public class secondActivity extends Activity{	@Override	protected 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() {						@Override			public void onClick(View v) {				// TODO Auto-generated method stub								app.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 {	@Override	protected 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() {						@Override			public void onClick(View v) {				// TODO Auto-generated method stub				Data.setA("no_feiyangxiaomi");				Intent intent = new Intent(MainActivity.this, secondActivity.class);				startActivity(intent);			}		});	}}

secondActivity.class

public class secondActivity extends Activity{	@Override	protected 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() {						@Override			public void onClick(View v) {				// TODO Auto-generated method stub								Data.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专门提供的应用入口,并且运行周期贯穿整个程序运行。

 

摘自

http://blog.csdn.net/feiyangxiaomi/article/details/9966215

Android_社交软件2_全局变量