princewiki khan Ответов: 0

В 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

0 Ответов