내 Android 앱에서 맞춤 애플리케이션 파생 클래스를 설정했습니다. 그것에서 나는 몇 가지 임의의 객체를 저장하는 멤버 필드를응용 프로그램 필드가 null이 될 수 있습니까?
을 그래서 난이 있습니다. 하나 Activity
에서 지금
public class MyApp extends Application {
public static MyApp mInstance;
public Object mData;
@Override
public void onCreate() {
mInstance = this;
}
public void setData(Object data) {
mData = data;
}
public Object getData() { return mData; }
}
내가 난 또 다른 Activity
에서
public doSetData() {
someMyData = ....
MyApp.mInstance.setData(someMyData);
}
을하고 있어요
@Override
public void onCreate(Bundle) {
Object myDataRetrieved = MyApp.mInstance.getData();
}
하고 나는 가끔 myDataRetrieved
는입니다 볼 수 있습니다. 그러나 나는 결코 null
을 MyApp.setData()
에 건네 준 적이 없다고 생각합니다. 물론, 나는 잘못 될 수 있습니다.
그러나 MyApp.mData
이 자체적으로 null이되는 상황이있을 수 있습니까?
직접 참조하지 않고 getData()를 사용할 때 반환하는 값 .... – Pragnani
아, 항상 getData를 사용합니다. 차이가 있습니까? 내가 편집했습니다. –
활동이 파괴되면 모든 필드 값이 손실됩니다. 활동 B에서 활동 A의 데이터를 사용하려면 해당 활동을 의도와 함께 전달하십시오. – m0skit0