定义全局变量de方式

.写成静态类型

1.定义静态属性或者方法:

/**
 * 静态变量类
 */
public class TestStatic {
	public static String myWord = "";

	public static String getMyWord() {
		return myWord;
	}

	public static void setMyWord(String myWord) {
		TestStatic.myWord = myWord;
	}

}

2.使用静态变量:

// 改变变量
		TestStatic.setMyWord("hello world");

btn = (Button) findViewById(R.id.btn);
		// 得到改变的变量值
		btn.setText(TestStatic.getMyWord());


/**********************************/

继承application,定义需要全局的变量:(这也是android中使用最普遍的方法)

使用也方便,简单的写下的使用方式。

1.定义变量

public class MyApplication extends Application {
	//定义变量
	private String testWord = "";

	public String getTestWord() {
		return testWord;
	}

	public void setTestWord(String testWord) {
		this.testWord = testWord;
	}
}

2.在清单文件中写上自己重写的application:

<application
        android:name="com.example.testandroid.MyApplication"

3.在活动中就可以使用get()和set()取得变量值了,在这,因为想到所有的活动都可能会使用到,而且在每个活动中重复的去定义的application,就封装了下:

/**
 * 所有活动的基类
 */
public class BasicTest extends Activity {
	private MyApplication app;

	// 提供给子类快捷的访问
	public MyApplication getApplica() {
		return app = (MyApplication) getApplication();
	}
}

4.在该活动中改变变量:

/**
 *改变变量的值 
 */
public class TestOne extends BasicTest {
	private Button btn;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.acy_first);
		// 改变变量
		getApplica().setTestWord("hello world");
		btn = (Button) findViewById(R.id.btn);
		btn.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				Intent intent = new Intent(TestOne.this, TestTwo.class);
				startActivity(intent);
			}
		});
	}
}

5.取得改变的变量值:

/**
 * 取得改变的变量
 */
public class TestTwo extends BasicTest {
	private Button btn;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.acy_first);

		btn = (Button) findViewById(R.id.btn);
		// 得到改变的变量值
		btn.setText(getApplica().getTestWord());
	}
}


/**************************/

把数据保存起来 然后在需要的地方读取就可以了(sharepreferences 数据库 File文件保存)。


你可能感兴趣的:(全局变量)