В android inskimagedecoder:: factory вернул null
Почему происходит эта ошибка.И как с этим справиться.Я вставляю изображение в базу данных android из imageView. В то время как для повторного получения изображения, и я хочу показать на ImageView, так что это дает мне эту ошибку. я хочу опубликовать свой код базы данных.Пожалуйста, кто-нибудь знает и проверяет мой код вставки и код извлечения в базе данных.Может быть, я написал это неправильно. код базы данных:
public class DataBaseOperation extends SQLiteOpenHelper { public static final String IMAGE_KEY="IMAGE"; public static final String DATABASE_NAME = "Student.db"; public static final String TABLE_NAME = "student_table"; public DataBaseOperation(Context context) { super(context, TABLE_NAME, null, 1); } @Override public void onCreate(SQLiteDatabase db) { String CREATE_IMAGE_TABLE = "CREATE TABLE " +TABLE_NAME + "(" + IMAGE_KEY + " BLOB )"; db.execSQL(CREATE_IMAGE_TABLE); } @Override public void onUpgrade(SQLiteDatabase db, int i, int i1) { db.execSQL("DROP TABLE IF EXISTS "+TABLE_NAME); onCreate(db); } public boolean insertData(byte[]image) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues cv=new ContentValues(); cv.put(IMAGE_KEY,image); long result= db.insert(TABLE_NAME,null,cv); if(result==-1) return false; else return true; } public Cursor getAllData() { SQLiteDatabase db=this.getWritableDatabase(); Cursor res=db.rawQuery("select * from "+TABLE_NAME,null); return res; } }
And the Following is the activity code:
public void button2(View view) { Cursor res= myDb.getAllData(); if(res.getCount()==0) { showMessage("error","no data found"); //Toast.makeText(getBaseContext(),"NO daTA found",Toast.LENGTH_SHORT).show(); } else { StringBuffer buffer = new StringBuffer(); while (res.moveToNext()) { buffer.append("id:" + res.getBlob(0) + "\n"); byte[] image=res.getBlob(0); Bitmap bmp= BitmapFactory.decodeByteArray(image,0,image.length); imagee.setImageBitmap(bmp); } showMessage("DATA", buffer.toString()); } } private void showMessage(String title, String message) { AlertDialog.Builder builder=new AlertDialog.Builder(this); builder.setCancelable(true); builder.setTitle(title); builder.setMessage(message); builder.show(); } public void img(View view) { Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, 0); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Bitmap bp = (Bitmap) data.getExtras().get("data"); imagee.setImageBitmap(bp); } public void buttonn(View view) { Bitmap bitmap = ((BitmapDrawable) imagee.getDrawable()).getBitmap(); int bytes = bitmap.getByteCount(); //Create a new buffer ByteBuffer buffer = ByteBuffer.allocate(bytes); //Move the byte data to the buffer bitmap.copyPixelsToBuffer(buffer); // Image as byte array byte[] array = buffer.array(); boolean isInserted = myDb.insertData(array); if (isInserted == true) Toast.makeText(getBaseContext(), "Registration Succes!", Toast.LENGTH_SHORT).show(); else Toast.makeText(getBaseContext(), "No Record Registered!", Toast.LENGTH_SHORT).show(); } }
Что я уже пробовал:
Я пытался, но ничего не мог сделать.
Richard MacCutchan
Где происходит ошибка? Я не вижу никакой ссылки на inskimagedecoder:: factory в вашем коде.
princewiki khan
когда я нажимаю на вставить кнопки работают отлично.но когда я нажимаю на кнопку Вспомнить графическое представление становится исчезают и logcat показать это
07-24 17:21:17.878 21308-21399/ком.пример.принц.imagesavedatabase я/OpenGLRenderer: инициализировать ее, версия 1.4
07-24 17:21:17.898 21308-21399/ком.пример.принц.imagesavedatabase я/OpenGLRenderer: защита HWUI включен для связи &усилителя;эта =0xaee22088 ,&ампер;mEglDisplay = 1 , &ампер;mEglConfig = 8
07-24 17: 21:17.898 21308-21399/com. example. prince.imagesavedatabase D/OpenGLRenderer: включение режима отладки 0
07-24 17:21:18.078 21308-21308/ком.пример.принц.imagesavedatabase я/сроки: Сроки: ИД Activity_idle: время android.os.BinderProxy@bfcb53 :11934033
07-24 17:21:22.468 21308-21308/ком.пример.принц.imagesavedatabase Д/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
07-24 17:21:25.528 21308-21308/ком.пример.принц.imagesavedatabase Д/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
07-24 17:21:25.648 21308-21308/ком.пример.принц.imagesavedatabase Д/skia: --- SkImageDecoder::Фабрика возвращает значение null
07-24 17:21:25.648 21308-21308/ком.пример.принц.imagesavedatabase Д/skia: --- SkImageDecoder::Фабрика возвращает значение null
07-24 17:21:30.428 21308-21308/ком.пример.принц.imagesavedatabase Д/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
07-24 17: 21: 31.538 21308-21308/com.example.prince.imagesavedatabase W/InputEventReceiver: попытка завершить входное событие, но приемник входного события уже удален.
07-24 17:21:31.538 21308-21308/ком.пример.принц.imagesavedatabase е/ViewRootImpl: sendUserActionEvent() mview и == нуль
07-24 17:21:34.298 21308-21308/ком.пример.принц.imagesavedatabase Д/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
07-24 17:21:34.408 21308-21308/ком.пример.принц.imagesavedatabase Д/skia: --- SkImageDecoder::Фабрика возвращает значение null
07-24 17:21:34.408 21308-21308/ком.пример.принц.imagesavedatabase Д/skia: --- SkImageDecoder::Фабрика возвращает значение null