Guest User

Untitled

a guest
Apr 20th, 2018
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.73 KB | None | 0 0
  1. public boolean databaseLoaded(Context context) {
  2. File dbFile = context.getDatabasePath(MyConstants.DEFAULT_DATABASE);
  3. return dbFile.exists();
  4. }
  5.  
  6. class DatabaseHelper extends SQLiteAssetHelper {
  7.  
  8. public DatabaseHelper(Context context, String databaseName, int databaseVersion) {
  9. super(context, databaseName, null, databaseVersion);
  10. if (databaseVersion>1 && databaseName.equals(MyConstants.DEFAULT_DATABASE)) {
  11. setForcedUpgradeVersion(databaseVersion);
  12. }
  13. }
  14. }
  15.  
  16. @Override
  17. public boolean onCreate() {
  18.  
  19.  
  20. DATABASE = constants.getDBName();
  21. db=new DatabaseHelper(getContext(), DATABASE, MyConstants.DATABASE_VERSION);
  22. return((db == null) ? false : true);
  23. }
  24.  
  25. @Override
  26. public Cursor query(Uri url, String[] projection, String selection, String[] selectionArgs, String sort) {
  27.  
  28. /**if updating the app, pause to wait for the database to transfer**/
  29. SharedPreferences sharedPreferences = getContext().getSharedPreferences(MyConstants.PREFS, 0);
  30. int lastDBVersion = sharedPreferences.getInt("db_version", MyConstants.STARTING_DB_VERSION);
  31. if (lastDBVersion<MyConstants.DATABASE_VERSION) {
  32. try {
  33. Thread.sleep(5000);
  34. } catch(InterruptedException ex) {
  35. Thread.currentThread().interrupt();
  36. }
  37. SharedPreferences.Editor editor = sharedPreferences.edit();
  38. editor.putInt("db_version", MyConstants.DATABASE_VERSION);
  39. editor.commit();
  40. }
  41.  
  42. SQLiteQueryBuilder qb=new SQLiteQueryBuilder();
  43.  
  44. qb.setTables(TABLE);
  45.  
  46. String orderBy;
  47.  
  48. if (TextUtils.isEmpty(sort)) {
  49. orderBy=_ID;
  50. }
  51. else {
  52. orderBy=sort;
  53. }
  54. Cursor c= null;
  55. if (db.getReadableDatabase()!=null) {
  56. c= qb.query(db.getReadableDatabase(), projection, selection,
  57. selectionArgs, null, null, orderBy);
  58. c.setNotificationUri(getContext().getContentResolver(), url);
  59. }
  60. return c;
  61. }
  62.  
  63. java.lang.RuntimeException: An error occured while executing doInBackground()
  64. at android.os.AsyncTask$3.done(AsyncTask.java:300)
  65. at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
  66. at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
  67. at java.util.concurrent.FutureTask.run(FutureTask.java:242)
  68. at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
  69. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
  70. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
  71. at java.lang.Thread.run(Thread.java:841)
  72. Caused by: java.lang.NullPointerException
  73. at com.readystatesoftware.sqliteasset.SQLiteAssetHelper.getWritableDatabase(SQLiteAssetHelper.java:180) //this is where db.getVersion() is null
  74. at com.readystatesoftware.sqliteasset.SQLiteAssetHelper.getReadableDatabase(SQLiteAssetHelper.java:257)
  75. at com.mypackage.Provider.query(Provider.java:84) //this is if (db.getReadableDatabase()!=null) {...
  76. at android.content.ContentProvider.query(ContentProvider.java:857)
  77. at android.content.ContentProvider$Transport.query(ContentProvider.java:200)
  78. at android.content.ContentResolver.query(ContentResolver.java:477)
  79. at android.content.ContentResolver.query(ContentResolver.java:420)
  80. at com.mypackage.MyClass$MyMethod.doInBackground(MyClass.java:594) //This is Cursor c = getActivity().getContentResolver().query...
  81. at com.mypackage.MyClass$MyMethod.doInBackground(MyClass.java:1)
  82. at android.os.AsyncTask$2.call(AsyncTask.java:288)
  83. at java.util.concurrent.FutureTask.run(FutureTask.java:237)
  84. ... 4 more
  85. java.lang.NullPointerException
  86. at com.readystatesoftware.sqliteasset.SQLiteAssetHelper.getWritableDatabase(SQLiteAssetHelper.java:180)
  87. at com.readystatesoftware.sqliteasset.SQLiteAssetHelper.getReadableDatabase(SQLiteAssetHelper.java:257)
  88. at com.mypackage.Provider.query(Provider.java:84)
  89. at android.content.ContentProvider.query(ContentProvider.java:857)
  90. at android.content.ContentProvider$Transport.query(ContentProvider.java:200)
  91. at android.content.ContentResolver.query(ContentResolver.java:477)
  92. at android.content.ContentResolver.query(ContentResolver.java:420)
  93. at com.mypackage.MyClass$MyMethod.doInBackground(MyClass.java:594)
  94. at com.mypackage.MyClass$MyMethod.doInBackground(MyClass.java:1)
  95. at android.os.AsyncTask$2.call(AsyncTask.java:288)
  96. at java.util.concurrent.FutureTask.run(FutureTask.java:237)
  97. at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
  98. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
  99. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
  100. at java.lang.Thread.run(Thread.java:841)
Add Comment
Please, Sign In to add comment