方法一:通过单实例:
public
class
Globals{ private
static
Globals instance; //
Global variable private
int
data; //
Restrict the constructor from being instantiated private
Globals(){} public
void
setData(int
d){ this.data=d; } public
int
getData(){ return
this.data; } public
static
synchronized
Globals getInstance(){ if(instance==null){ instance=new
Globals(); } return
instance; }}在其他类中需要使用时:
Globals
g = Globals.getInstance();g.setData(100);....int
data=g.getData();
方法二:继承application
a) Create a new class that extends Application.
|
1
2
3
4
5
6
7
8
9
10
11
|
public
class
Globals extends
Application{ private
int
data=200; public
int
getData(){ return
this.data; } public
void
setData(int
d){ this.data=d; }} |
b) Add the class to the AndroidManifest file as an attribute of <application> tag:
|
1
2
3
|
<application android:name=".Globals" ....
/> |
c) Then you can access your global data from any Activity by callinggetApplication()
|
1
2
|
Globals
g = (Globals)getApplication();int
data=g.getData(); |
本文介绍了两种实现全局变量的方法:一是通过单例模式确保全局变量的唯一性;二是通过继承Application类并在AndroidManifest文件中注册来实现。这两种方法均可在不同Activity间共享数据。
1849

被折叠的 条评论
为什么被折叠?



