I have created a database and I need to insert the data which I fetch from the web-service and displayed inside the spinner I got the null on Cursor branchlist. and I got this error
java.lang.NullPointerException: Attempt to invoke interface method 'int android.database.Cursor.getCount()' on a null object reference
I don't identify where I did the mistake.
This is my DB HELPER class
public static final String TBL_BranchSetup = "BranchSetup";
public static final String COL_TBL_BranchSetup_LATITUDE= "Latitude";
public static final String COL_TBL_BranchSetup_LONGITUDE= "Longitude";
public static final String COL_TBL_BranchSetup_BRANCHCODE= "BranchCode";
public static final String COL_TBL_BranchSetup_BRANCHNAME= "BranchName";
public static final String create_tbl_BranchSetup = "CREATE TABLE IF NOT EXISTS " + TBL_BranchSetup + " ("+COL_TBL_BranchSetup_BRANCHCODE+" VARCHAR,"
+ COL_TBL_BranchSetup_BRANCHNAME+" VARCHAR," + COL_TBL_BranchSetup_LATITUDE+" VARCHAR,"
+ COL_TBL_BranchSetup_LONGITUDE+" VARCHAR"+ COL_LBS_TBL_M_STATUS+" VARCHAR)";
public static String[] tbl_branchsetup_columnsToReturn = { COL_TBL_BranchSetup_BRANCHCODE,
COL_TBL_BranchSetup_BRANCHNAME,COL_TBL_BranchSetup_LATITUDE,
COL_TBL_BranchSetup_LONGITUDE,COL_LBS_TBL_M_STATUS};
private static final String CREATE_TBL_BRANCHSETUP = Constants.create_tbl_BranchSetup;
private static final String DELETE_TBL_BRANCHSETUP = "DROP TABLE IF EXISTS " + Constants.TBL_BranchSetup ;
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.compileStatement(CREATE_TBL_BRANCHSETUP).execute();
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
sqLiteDatabase.compileStatement(DELETE_TBL_BRANCHSETUP).execute();
onCreate(sqLiteDatabase);
}
public Cursor getRecords(String tblName, String[] columnsToReturn) {
SQLiteDatabase db = instance.getWritableDatabase(PASS_PHARSE);
Cursor cursor= null;
try {
//String[] columnsToReturn = { "email" };
String selection = "column_1 =?";
String[] selectionArgs = {"abc"}; // matched to "?" in selection
cursor = db.query(tblName, columnsToReturn, null, null, null, null, null);
Log.e("MyTag", "getRecords Method Called " + cursor.getCount() + "--" + tblName);
} catch (Exception e) {
} finally {
db.close();
//cursor.close();
}
return cursor;
}
public void addBranchList(List<BranchSetupModel> branchSetupModelList){
SQLiteDatabase db = instance.getWritableDatabase(PASS_PHARSE);
for (BranchSetupModel branchSetupModel : branchSetupModelList) {
ContentValues values = new ContentValues();
values.put(Constants.COL_TBL_BranchSetup_BRANCHCODE,branchSetupModel.getBranchCode());
values.put(Constants.COL_TBL_BranchSetup_BRANCHNAME,branchSetupModel.getBranchName());
values.put(Constants.COL_TBL_BranchSetup_LATITUDE,branchSetupModel.getLatitude());
values.put(Constants.COL_TBL_BranchSetup_LONGITUDE,branchSetupModel.getLongitude());
db.insert(Constants.TBL_BranchSetup, null, values);
}
db.close();
}
populate the list:
private void populateBranchListFromDB() {
branchSetupModelList=new ArrayList<String>();
branchSetupModelList.add("--");
Cursor branchList = global.getDb().getRecords(Constants.TBL_BranchSetup,Constants.tbl_branchsetup_columnsToReturn);
if (branchList.getCount() > 0) {
while (branchList.moveToNext()) {
// String status = "";
BranchSetupModel branch = new BranchSetupModel();
branch.setBranchCode(branchList.getString(0));
branch.setBranchName(branchList.getString(1));
branch.setLatitude(branchList.getString(2));
branch.setLongitude(branchList.getString(3));
branchSetupModelList.add(branch.getBranchCode() + " - " + branch.getBranchName());
}
}
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(LBSCheckPoints.this,
android.R.layout.simple_spinner_item, branchSetupModelList);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
branchSpinner.setAdapter(dataAdapter);
}