diff --git a/android-app/src/main/AndroidManifest.xml b/android-app/src/main/AndroidManifest.xml index 7fb9d39..8f90bf8 100644 --- a/android-app/src/main/AndroidManifest.xml +++ b/android-app/src/main/AndroidManifest.xml @@ -25,6 +25,9 @@ + + + - + \ No newline at end of file diff --git a/android-app/src/main/java/io/objectbox/example/ErrorActivity.java b/android-app/src/main/java/io/objectbox/example/ErrorActivity.java new file mode 100644 index 0000000..b89efa4 --- /dev/null +++ b/android-app/src/main/java/io/objectbox/example/ErrorActivity.java @@ -0,0 +1,14 @@ +package io.objectbox.example; + +import android.app.Activity; +import android.os.Bundle; + +public class ErrorActivity extends Activity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_error); + } + +} diff --git a/android-app/src/main/java/io/objectbox/example/NoteActivity.java b/android-app/src/main/java/io/objectbox/example/NoteActivity.java index 0fff8a0..cc670cd 100644 --- a/android-app/src/main/java/io/objectbox/example/NoteActivity.java +++ b/android-app/src/main/java/io/objectbox/example/NoteActivity.java @@ -1,6 +1,7 @@ package io.objectbox.example; import android.app.Activity; +import android.content.Intent; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; @@ -31,6 +32,13 @@ public class NoteActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + + if (ObjectBox.get() == null) { + startActivity(new Intent(this, ErrorActivity.class)); + finish(); + return; + } + setContentView(R.layout.main); setUpViews(); diff --git a/android-app/src/main/java/io/objectbox/example/ObjectBox.java b/android-app/src/main/java/io/objectbox/example/ObjectBox.java index 83353db..e353bb8 100644 --- a/android-app/src/main/java/io/objectbox/example/ObjectBox.java +++ b/android-app/src/main/java/io/objectbox/example/ObjectBox.java @@ -11,14 +11,19 @@ public class ObjectBox { private static BoxStore boxStore; static void init(Context context) { - boxStore = MyObjectBox.builder() - .androidContext(context.getApplicationContext()) - .build(); + try { + boxStore = MyObjectBox.builder() + .androidContext(context.getApplicationContext()) + .build(); - if (BuildConfig.DEBUG) { - new AndroidObjectBrowser(boxStore).start(context.getApplicationContext()); - Log.d(App.TAG, String.format("Using ObjectBox %s (%s)", - BoxStore.getVersion(), BoxStore.getVersionNative())); + if (BuildConfig.DEBUG) { + new AndroidObjectBrowser(boxStore).start(context.getApplicationContext()); + Log.d(App.TAG, String.format("Using ObjectBox %s (%s)", + BoxStore.getVersion(), BoxStore.getVersionNative())); + } + } catch (LinkageError e) { + boxStore = null; + Log.e(App.TAG, "Failed to load ObjectBox: " + e.getMessage()); } } diff --git a/android-app/src/main/res/layout/activity_error.xml b/android-app/src/main/res/layout/activity_error.xml new file mode 100644 index 0000000..64c183e --- /dev/null +++ b/android-app/src/main/res/layout/activity_error.xml @@ -0,0 +1,24 @@ + + + + + +