Java 如何在不同于';应用程序';和';活动';?
我正在尝试在使用BLE gatt服务的Android Studio应用程序中实现全局变量。 我需要将从BLE收到的数字保存在全局变量中 所以我创建了这个类:Java 如何在不同于';应用程序';和';活动';?,java,android,global-variables,Java,Android,Global Variables,我正在尝试在使用BLE gatt服务的Android Studio应用程序中实现全局变量。 我需要将从BLE收到的数字保存在全局变量中 所以我创建了这个类: public class Globals extends Application { private List<Float> current = new ArrayList<>(); public float getCurrent() { return current.get(cur
public class Globals extends Application {
private List<Float> current = new ArrayList<>();
public float getCurrent() {
return current.get(current.size()-1);
}
public void setCurrent(float someVariable) {
this.current.add(someVariable);
}
}
很明显,我不能在BluetoothGattCallback扩展中使用getApplicationContext(),但我可以使用什么代码?您可以创建Globals和access的静态实例
public class Globals extends Application {
private static Globals instance;
private List<Float> current = new ArrayList<>();
@Override
public void onCreate() {
instance = this;
super.onCreate();
}
public float getCurrent() {
return current.get(current.size()-1);
}
public void setCurrent(float someVariable) {
this.current.add(someVariable);
}
public static Globals getInstance() {
return instance;
}
public static Context getContext(){
return instance;
// or return instance.getApplicationContext();
}
}
您可以创建Globals和access的静态实例
public class Globals extends Application {
private static Globals instance;
private List<Float> current = new ArrayList<>();
@Override
public void onCreate() {
instance = this;
super.onCreate();
}
public float getCurrent() {
return current.get(current.size()-1);
}
public void setCurrent(float someVariable) {
this.current.add(someVariable);
}
public static Globals getInstance() {
return instance;
}
public static Context getContext(){
return instance;
// or return instance.getApplicationContext();
}
}
Globals.getInstance().getCurrent();