dimanche 24 janvier 2016

How to check fro another class if the database sqlite have data?

I have a dataBaseHelper class to get data from sqlite and all works fine. My problem is that I want to check in another class if I have data or not in my database of sqlite to do some operations, but I'm getting a nullpointer exception when I try to call the method.

This is the error:
01-24 20:29:40.880 5011-5011/? E/AndroidRuntime: java.lang.NullPointerException
01-24 20:29:40.880 5011-5011/? E/AndroidRuntime:     at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224)
01-24 20:29:40.880 5011-5011/? E/AndroidRuntime:     at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:188)
01-24 20:29:40.880 5011-5011/? E/AndroidRuntime:     at com.exagon.goalnews.DataBaseWrapper.getQuery(DataBaseWrapper.java:105)
01-24 20:29:40.880 5011-5011/? E/AndroidRuntime:     at com.exagon.goalnews.MyFragmentPagerAdapter.getItem(MyFragmentPagerAdapter.java:39)

Thanks in advance

In the dataBaseHelper I have this:

  public int getQuery(){
        SQLiteDatabase db = getReadableDatabase();
        String[] valores_recuperar = {"_id", "_name", "_url"};
        int count;

        Cursor c = db.query("Newspaper", valores_recuperar, null, null, null, null, null, null);

        if((c != null) && (c.getCount() > 0)){
            db.close();
            c.close();
            return 1;
        }else{
            return 0;
        }
    }

This is the class where I'm trying to call the method:

public class MyFragmentPagerAdapter extends FragmentPagerAdapter {
private DataBaseWrapper dataBase;
private Context context;
.
.
.
@Override
    public Fragment getItem(int position) {

        dataBase = new DataBaseWrapper(context);

       if ((dataBase.getQuery() != 0)){
           switch (position) {
               case 0:
                   .
.
.
.
           }
       }else {

           switch (position) {
               case 0:
                 .
.
.
           }
       }
    }

Aucun commentaire:

Enregistrer un commentaire