I was tried to insert some values to my SQLite database. like(id,name,number and image).but i got a null pointer exception while run the code. the values is display in the pojo class while i print using sys out. i dont know what is the problem here. please help me. Thanks in advance.
my code is here
add.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
picture = data.get(position);
listModelData.setTitle(String.valueOf(a[position]));
listModelData.setImageUrl(picture._image);
listModelData.setitemName(itemname);
listData.add(listModelData);
((MainActivity) context).getData(listData);
}
});
/////////////////////////////////////////////
public class MainActivity extends Activity {
ArrayList<ListModel> listData = new ArrayList<ListModel>();
HorizontalListView listview;
// HorizontalAdapter hAdapter;
HorizantalDBHandler hdb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listview = (HorizontalListView) findViewById(R.id.listview);
// hAdapter = new HorizontalAdapter(getApplicationContext(), listData);
// listview.setAdapter(hAdapter);
}
public void getData(ArrayList<ListModel> listData) {
// TODO Auto-generated method stub
System.out.println("@@@@@@@@DDDDDDDDD@@@@@@@@@@");
int id = 301;
String value = listData.get(0).getTitle();
String itemname = listData.get(0).getitemName();
byte[] image = listData.get(0).getImageUrl();
System.out.println(value);
System.out.println(image);
System.out.println(itemname);
System.out.println(id);
hdb.addContact(new HorizantalPojo(id, itemname, value, image));
System.out.println(value);
System.out.println(image);
System.out.println(itemname);
// hAdapter = new HorizontalAdapter(getApplicationContext(),listData);
// listview.setAdapter(hAdapter);
// hAdapter.notifyDataSetChanged();
}
}
///////////////////////////////////////////////////
public class HorizantalPojo {
// private variables
int _id;
public String _name;
public byte[] _image;
String _number;
// Empty constructor
public HorizantalPojo() {
}
// constructor
public HorizantalPojo(int id, String number, String name, byte[] image) {
System.out.println("it comessssssssss");
this._name = name;
this._image = image;
this._number = number;
this._id = id;
System.out.println(_id);
System.out.println(_name);
System.out.println(_image);
System.out.println(_number);
System.out.println("it comessssssssss");
}
// constructor
public HorizantalPojo(String name, byte[] image) {
this._name = name;
this._image = image;
}
// getting ID
public int getID() {
return this._id;
}
// setting id
public void setID(int keyId) {
this._id = keyId;
}
// getting name
public String getName() {
return this._name;
}
// setting name
public void setName(String name) {
this._name = name;
}
// getting phone number
public byte[] getImage() {
return this._image;
}
// setting phone number
public void setImage(byte[] image) {
this._image = image;
}
public String getNumber() {
return this._number;
}
// setting phone number
public void setNumber(String number) {
this._number = number;
}
}
/////////////////////////////////////////////////////
public class HorizantalDBHandler extends SQLiteOpenHelper {
// All Static variables
// Database Version
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = "hrlist";
// Contacts table name
// private static final String TABLE_CONTACTS = "breakfast";
private static final String TABLE_BREAKFAST = "hrlist";
// Contacts Table Columns names
private static final String KEY_ID = "id";
private static final String KEY_NUMBER = "number";
private static final String KEY_NAME = "name";
private static final String KEY_IMAGE = "image";
public HorizantalDBHandler(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_BREAKFAST_TABLE = "CREATE TABLE " + TABLE_BREAKFAST + "("
+ KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
+ KEY_NUMBER + " TEXT," + KEY_IMAGE + " BLOB" + ")";
db.execSQL(CREATE_BREAKFAST_TABLE);
}
// Upgrading database
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// Drop older table if existed
db.execSQL("DROP TABLE IF EXISTS " + TABLE_BREAKFAST);
// Create tables again
onCreate(db);
}
/**
* All CRUD(Create, Read, Update, Delete) Operations
*/
public// Adding new contact
void addContact(HorizantalPojo contact) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
System.out.println("################");
System.out.println("################");
System.out.println("################");
System.out.println(contact._id);
System.out.println(contact._name);
System.out.println(contact._number);
System.out.println(contact._image);
values.put(KEY_ID, contact._id);
values.put(KEY_NAME, contact._name); // Contact Name
values.put(KEY_NUMBER, contact._number);
values.put(KEY_IMAGE, contact._image); // Contact Phone
//
//
// Inserting Row
db.insert(TABLE_BREAKFAST, null, values);
db.close(); // Closing database connection
}
// // Getting All Contacts
public List<HorizantalPojo> getAllContacts() {
List<HorizantalPojo> contactList = new ArrayList<HorizantalPojo>();
// Select All Query
String selectQuery = "SELECT * FROM hrlist ORDER BY name";
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
HorizantalPojo contact = new HorizantalPojo();
contact.setID(Integer.parseInt(cursor.getString(0)));
contact.setName(cursor.getString(1));
contact.setImage(cursor.getBlob(2));
// contact.setNumber(cursor.getString(3));
System.out.println("^^^^^^^^^^^^^^^^");
System.out.println("^^^^^^^^^^^^^^^^");
System.out.println("^^^^^^^^^^^^^^^^");
System.out.println("^^^^^^^^^^^^^^^^");
System.out.println(cursor.getString(1));
System.out.println(cursor.getBlob(2));
// Adding contact to list
contactList.add(contact);
} while (cursor.moveToNext());
}
// close inserting data from database
db.close();
// return contact list
return contactList;
}
}
Aucun commentaire:
Enregistrer un commentaire