方法一:通过单实例:
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();
|