I am trying to retrieve my image data that has been converted from byte to bitmap.But instead of showing a picture, it is showed nothing. In the logcat, i can clearly saw my image data changed into bitmap.
Here`s my java code to save mydata
items Item= new items();
db.getWritableDatabase();
Item.setName(name.getText().toString());
Item.setCategory(SpCate.getSelectedItem().toString());
Item.setDetails(details.getText().toString());
Item.setImage(imageInByte);
db.addItemSpinner(new items());
// Save the Data in Database
MyDb entry= new MyDb(SellingItem.this);
entry.getWritableDatabase();
entry.addItemSpinner(Item);
entry.close();
Toast.makeText(getApplicationContext(), "Account Successfully Created ", Toast.LENGTH_LONG).show();
Log.d("name", Item.getName());
Log.d("category", Item.getCategory().toString());
Log.d("details", Item.getDetails());
Log.d("image", Item.getImage().toString());
Intent i=new Intent(SellingItem.this,SearchItem.class);
startActivity(i);
Here is my database to retrieve the data.
public List<items> getAllContacts() {
List<items> itemlist = new ArrayList<items>();
// Select All Query
String selectQuery = "SELECT * FROM PRODUCT 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 {
items item = new items();
item.setId(Integer.parseInt(cursor.getString(0)));
item.setName(cursor.getString(1));
item.setImage(cursor.getBlob(2));
// Adding contact to list
itemlist.add(item);
} while (cursor.moveToNext());
}
// close inserting data from database
db.close();
// return contact list
return itemlist;
}
And this is my java code to display the data in the listview
dataList = (ListView) findViewById(R.id.list);
db = new MyDb(this);
List<items> Item = db.getAllContacts();
for (items cn : Item) {
String log = "Id:" + cn.getId()
+ " ,Image: " + cn.getImage();
// Writing Contacts to log
Log.d("Result: ", log);
// add contacts data in arrayList
imageArray.add(cn);
}
adapter = new CustomListAdapter(this, R.layout.screen_list,
imageArray);
dataList.setAdapter(adapter);
dataList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
imageName = imageArray.get(position).getImage();
imageid = imageArray.get(position).getId();
//convert byte to bitmap
ByteArrayInputStream imageStream = new ByteArrayInputStream(
imageName);
theImage = BitmapFactory.decodeStream(imageStream);
Intent intent = new Intent(SearchItem.this,
DisplayDetails.class);
intent.putExtra("imageid", imageid);
intent.putExtra("imagename", theImage);
startActivity(intent);
}
});
And this is logcat that showed the image bitmap and id that can be read.
Id:2 ,Image: [B@428e21d8
I do not know what is wrong with my code, but i need to view that image in the listview. Any help would be appreciated.
0 comments:
Post a Comment