getApp()
メソッドがnull
を返しています。どんな考え?Appオブジェクトを取得するとNULLが返されます
public class App extends Application {
private static App app;
private BoxStore boxStore;
@Override
public void onCreate() {
super.onCreate();
app = this;
boxStore = MyObjectBox.builder().androidContext(App.this).build();
if(BuildConfig.DEBUG)
{
new AndroidObjectBrowser(boxStore).start(this);
}
}
public static App getApp() {
return app;
}
public BoxStore getBoxStore() {
return boxStore;
}
}
getApp()
方法は、以下のような活動から呼び出されます。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BoxStore boxStore = App.getApp().getBoxStore();
Box<ListEntryObject> listEntryObjectBox = boxStore.boxFor(ListEntryObject.class);
sharedPreferences = getSharedPreferences("TYPE_OF_ACTION", Context.MODE_PRIVATE);
editor = sharedPreferences.edit();
editor.putInt("sourceToDest", 0);
editor.apply();
sharedPreferences = getSharedPreferences("POSITION" , Context.MODE_PRIVATE);
editor = sharedPreferences.edit();
editor.putInt("position", 0);
editor.apply();
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
sharedPreferences = getSharedPreferences("TYPE_OF_ACTION", Context.MODE_PRIVATE);
editor = sharedPreferences.edit();
editor.putInt("sourceToDest", 0);
editor.apply();
fragmentManager = getSupportFragmentManager();
entryDialogFragment = new EntryDialogFragment();
entryDialogFragment.show(fragmentManager, "Sample Fragment");
}
});
entryObjectList = new ArrayList<>();
}
このgetAppメソッドを呼び出すコードを投稿してください –
@AbdulWaheed私は編集しました。チェックしてください。 –
マニフェストファイルにアプリケーションクラスを追加する必要があります。android:name アプリケーション用に実装されたアプリケーションサブクラスの完全修飾名。アプリケーション・プロセスが開始されると、このクラスはアプリケーションのコンポーネントの前にインスタンス化されます。 サブクラスはオプションです。ほとんどのアプリケーションでは必要ありません。サブクラスが存在しない場合、Androidは基本Applicationクラスのインスタンスを使用します。 – Hector