Skip to content

Commit a7c8711

Browse files
committed
update usage doc and make BriteDatabase singleton
1 parent 2daac8a commit a7c8711

3 files changed

Lines changed: 23 additions & 12 deletions

File tree

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ public class MainActivity extends AppCompatActivity {
5353
protected void onCreate(Bundle savedInstanceState) {
5454
super.onCreate(savedInstanceState);
5555
setContentView(R.layout.activity_main);
56-
database = SQLBriteOpenHelper.get(getApplicationContext(), "brite", 1);
5756
adapter = new BriteAdapter(getApplicationContext());
5857
listView = (ListView) findViewById(R.id.list);
5958
listView.setAdapter(adapter);
@@ -62,6 +61,9 @@ public class MainActivity extends AppCompatActivity {
6261
@Override
6362
protected void onResume() {
6463
super.onResume();
64+
65+
database = SQLBriteOpenHelper.get(getApplicationContext(), "brite", 1);
66+
6567
subscription = database.createQuery("brites", "SELECT * FROM brites")
6668
.mapToList(Brite.MAPPER)
6769
.subscribeOn(Schedulers.io())

app/src/main/java/com/github/lykmapipo/sqlbrite/migrations/sample/MainActivity.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ public class MainActivity extends AppCompatActivity {
2121
protected void onCreate(Bundle savedInstanceState) {
2222
super.onCreate(savedInstanceState);
2323
setContentView(R.layout.activity_main);
24-
database = SQLBriteOpenHelper.get(getApplicationContext(), "brite", 1);
2524
adapter = new BriteAdapter(getApplicationContext());
2625
listView = (ListView) findViewById(R.id.list);
2726
listView.setAdapter(adapter);
@@ -30,6 +29,9 @@ protected void onCreate(Bundle savedInstanceState) {
3029
@Override
3130
protected void onResume() {
3231
super.onResume();
32+
33+
database = SQLBriteOpenHelper.get(getApplicationContext(), "brite", 1);
34+
3335
subscription = database.createQuery("brites", "SELECT * FROM brites")
3436
.mapToList(Brite.MAPPER)
3537
.subscribeOn(Schedulers.io())

library/src/main/java/com/github/lykmapipo/sqlbrite/migrations/SQLBriteOpenHelper.java

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@
3131
*/
3232
public class SQLBriteOpenHelper extends SQLiteOpenHelper {
3333

34-
private static final String TAG = SQLBriteOpenHelper.class.getSimpleName();
3534
private String migrationDir = "migrations";
3635
private Context context;
3736
private boolean isOnTestMode = false;
37+
private static BriteDatabase briteDatabase;
3838

3939

4040
/**
@@ -91,9 +91,11 @@ public SQLBriteOpenHelper(Context context, String name, int version, boolean tes
9191
* @see BriteDatabase
9292
*/
9393
public synchronized static BriteDatabase get(Context context, String name, int version) {
94-
SQLBriteOpenHelper sqlBriteOpenHelper = new SQLBriteOpenHelper(context, name, null, version);
95-
SqlBrite sqlBrite = new SqlBrite.Builder().build();
96-
BriteDatabase briteDatabase = sqlBrite.wrapDatabaseHelper(sqlBriteOpenHelper, Schedulers.io());
94+
if (briteDatabase == null) {
95+
SQLBriteOpenHelper sqlBriteOpenHelper = new SQLBriteOpenHelper(context, name, null, version);
96+
SqlBrite sqlBrite = new SqlBrite.Builder().build();
97+
briteDatabase = sqlBrite.wrapDatabaseHelper(sqlBriteOpenHelper, Schedulers.io());
98+
}
9799
return briteDatabase;
98100
}
99101

@@ -109,9 +111,11 @@ public synchronized static BriteDatabase get(Context context, String name, int v
109111
*/
110112
public synchronized static BriteDatabase get(Context context, String name,
111113
SQLiteDatabase.CursorFactory factory, int version) {
112-
SQLBriteOpenHelper sqlBriteOpenHelper = new SQLBriteOpenHelper(context, name, factory, version);
113-
SqlBrite sqlBrite = new SqlBrite.Builder().build();
114-
BriteDatabase briteDatabase = sqlBrite.wrapDatabaseHelper(sqlBriteOpenHelper, Schedulers.io());
114+
if (briteDatabase == null) {
115+
SQLBriteOpenHelper sqlBriteOpenHelper = new SQLBriteOpenHelper(context, name, factory, version);
116+
SqlBrite sqlBrite = new SqlBrite.Builder().build();
117+
briteDatabase = sqlBrite.wrapDatabaseHelper(sqlBriteOpenHelper, Schedulers.io());
118+
}
115119
return briteDatabase;
116120
}
117121

@@ -127,9 +131,11 @@ public synchronized static BriteDatabase get(Context context, String name,
127131
*/
128132
public synchronized static BriteDatabase get(Context context, String name,
129133
SQLiteDatabase.CursorFactory factory, int version, DatabaseErrorHandler errorHandler) {
130-
SQLBriteOpenHelper sqlBriteOpenHelper = new SQLBriteOpenHelper(context, name, factory, version, errorHandler);
131-
SqlBrite sqlBrite = new SqlBrite.Builder().build();
132-
BriteDatabase briteDatabase = sqlBrite.wrapDatabaseHelper(sqlBriteOpenHelper, Schedulers.io());
134+
if (briteDatabase == null) {
135+
SQLBriteOpenHelper sqlBriteOpenHelper = new SQLBriteOpenHelper(context, name, factory, version, errorHandler);
136+
SqlBrite sqlBrite = new SqlBrite.Builder().build();
137+
briteDatabase = sqlBrite.wrapDatabaseHelper(sqlBriteOpenHelper, Schedulers.io());
138+
}
133139
return briteDatabase;
134140
}
135141

@@ -143,6 +149,7 @@ public synchronized static BriteDatabase get(Context context, String name,
143149
* @see BriteDatabase
144150
*/
145151
public synchronized static BriteDatabase get(Context context, String name, int version, boolean testing) {
152+
//always return new instance on test mode
146153
SQLBriteOpenHelper sqlBriteOpenHelper = new SQLBriteOpenHelper(context, name, version, testing);
147154
SqlBrite sqlBrite = new SqlBrite.Builder().build();
148155
BriteDatabase briteDatabase = sqlBrite.wrapDatabaseHelper(sqlBriteOpenHelper, Schedulers.immediate());

0 commit comments

Comments
 (0)