<bdo id='4RgxO'></bdo><ul id='4RgxO'></ul>
<tfoot id='4RgxO'></tfoot>
    <i id='4RgxO'><tr id='4RgxO'><dt id='4RgxO'><q id='4RgxO'><span id='4RgxO'><b id='4RgxO'><form id='4RgxO'><ins id='4RgxO'></ins><ul id='4RgxO'></ul><sub id='4RgxO'></sub></form><legend id='4RgxO'></legend><bdo id='4RgxO'><pre id='4RgxO'><center id='4RgxO'></center></pre></bdo></b><th id='4RgxO'></th></span></q></dt></tr></i><div id='4RgxO'><tfoot id='4RgxO'></tfoot><dl id='4RgxO'><fieldset id='4RgxO'></fieldset></dl></div>
    1. <small id='4RgxO'></small><noframes id='4RgxO'>

        <legend id='4RgxO'><style id='4RgxO'><dir id='4RgxO'><q id='4RgxO'></q></dir></style></legend>
      1. 如何将图像存储在 SQLite 数据库中

        时间:2023-08-29
      2. <i id='lUu5n'><tr id='lUu5n'><dt id='lUu5n'><q id='lUu5n'><span id='lUu5n'><b id='lUu5n'><form id='lUu5n'><ins id='lUu5n'></ins><ul id='lUu5n'></ul><sub id='lUu5n'></sub></form><legend id='lUu5n'></legend><bdo id='lUu5n'><pre id='lUu5n'><center id='lUu5n'></center></pre></bdo></b><th id='lUu5n'></th></span></q></dt></tr></i><div id='lUu5n'><tfoot id='lUu5n'></tfoot><dl id='lUu5n'><fieldset id='lUu5n'></fieldset></dl></div>

          <bdo id='lUu5n'></bdo><ul id='lUu5n'></ul>

            <small id='lUu5n'></small><noframes id='lUu5n'>

              <tbody id='lUu5n'></tbody>
            <legend id='lUu5n'><style id='lUu5n'><dir id='lUu5n'><q id='lUu5n'></q></dir></style></legend>
          • <tfoot id='lUu5n'></tfoot>

                  本文介绍了如何将图像存储在 SQLite 数据库中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  在我的应用程序中,我正在从图库上传一张图片,我想将此图片存储在 SQLite 数据库中.如何在数据库中存储位图?我正在将位图转换为字符串并将其保存在数据库中.从数据库中检索它时,我无法将该字符串分配给 ImageView,因为它是一个字符串.

                  In my application I am uploading an image from gallery and I want to store this image in the SQLite database. How do I store a bitmap in the database? I am converting bitmap to a string and saving it in the database. While retrieving it from the database, I am not able to assign that string to ImageView since it is a string.

                  Imageupload12 .java:

                  Imageupload12 .java:

                       public class Imageupload12 extends Activity {
                        Button buttonLoadImage;
                        ImageView targetImage;
                        int i = 0;
                        Database database = new Database(this);
                        String i1;
                        String img;
                        @Override
                        public void onCreate(Bundle savedInstanceState) {
                         super.onCreate(savedInstanceState);
                         setContentView(R.layout.main5);
                         buttonLoadImage = (Button) findViewById(R.id.loadimage);
                         targetImage = (ImageView) findViewById(R.id.targetimage);
                      
                      
                         Bundle b = getIntent().getExtras();
                         if (b != null) {
                          img = b.getString("image");
                          targetImage2.setImageURI("image");
                          //i am getting error as i cant assign string to imageview.
                      
                         }
                      
                         buttonLoadImage.setOnClickListener(new Button.OnClickListener() {
                      
                          public void onClick(View arg0) {
                           // TODO Auto-generated method stub
                           Intent intent = new Intent(Intent.ACTION_PICK,
                            android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                           Log.i("photo", "" + intent);
                           startActivityForResult(intent, i);
                           i = i + 1;
                          }
                         });
                      
                        }
                      
                        @Override
                        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
                      
                         // TODO Auto-generated method stub
                         super.onActivityResult(requestCode, resultCode, data);
                         switch (requestCode) {
                      
                          case 0:
                           if (resultCode == RESULT_OK) {
                            Uri targetUri = data.getData();
                            //             textTargetUri.setText(targetUri.toString());
                            Bitmap bitmap;
                            try {
                             bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(targetUri));
                             targetImage.setImageBitmap(bitmap);
                      
                             i1 = bitmap.toString();
                             Log.i("firstimage........", "" + i1);
                             targetImage.setVisibility(0);
                      
                             SQLiteDatabase db = database.getWritableDatabase();
                             db.execSQL("INSERT INTO UPLOAD VALUES('" + i1 + "');");
                      
                            } catch (FileNotFoundException e) {
                             // TODO Auto-generated catch block
                             e.printStackTrace();
                            }
                           }
                           break;
                      
                      
                      
                         }
                      
                        }
                       }
                  
                  

                  Image.class:

                  Image.class:

                      public class Image extends Activity {
                       Database database = new Database(this);
                       static EfficientAdapter adapter, adapter1;
                       static ListView lv1;
                      
                       static SQLiteDatabase db;
                       static EfficientAdapter adp;
                       static Cursor c1;
                      
                       static Vector < String > IMAGE = new Vector < String > ();
                      
                       @Override
                       public void onCreate(Bundle savedInstanceState) {
                        super.onCreate(savedInstanceState);
                        setContentView(R.layout.main);
                      
                        db = database.getReadableDatabase();
                        c1 = db.rawQuery("select * from UPLOAD;", null);
                      
                        if (c1.moveToFirst()) {
                      
                         do {
                          IMAGE.add(c1.getString(0).toString());
                      
                         } while (c1.moveToNext());
                      
                         c1.close();
                        }
                      
                        lv1 = (ListView) findViewById(R.id.List);
                      
                        adapter = new EfficientAdapter(this);
                      
                      
                        lv1.setAdapter(adapter);
                      
                        ImageView add = (ImageView) findViewById(R.id.imv1a);
                      
                      
                      
                        add.setOnClickListener(new OnClickListener() {
                      
                         @Override
                         public void onClick(View v) {
                          // TODO Auto-generated method stub
                          IMAGE.clear();
                      
                          Intent i = new Intent(Image.this, Imageupload12.class);
                          startActivity(i);
                      
                      
                         }
                        });
                      
                      
                       }
                      
                      
                      
                       private static class EfficientAdapter extends BaseAdapter {
                      
                      
                        //        protected  final Context Context = null;
                        protected LayoutInflater mLayoutInflater;
                        AlertDialog.Builder aBuilder;
                        public EfficientAdapter(Context context) {
                         // TODO Auto-generated constructor stub
                         mLayoutInflater = LayoutInflater.from(context);
                        }
                      
                        @Override
                        public int getCount() {
                         // TODO Auto-generated method stub
                      
                         return IMAGE.size();
                        }
                      
                        @Override
                        public Object getItem(int position) {
                         // TODO Auto-generated method stub
                         return position;
                        }
                      
                        @Override
                        public long getItemId(int position) {
                         // TODO Auto-generated method stub
                         return position;
                        }
                      
                        @Override
                        public View getView(final int position, View convertView, ViewGroup parent) {
                         // TODO Auto-generated method stub
                      
                         final ViewHolder mVHolder;
                         if (convertView == null) {
                          convertView = mLayoutInflater.inflate(R.layout.pjtlistdetails, parent, false);
                      
                          mVHolder = new ViewHolder();
                      
                          mVHolder.t1 = (TextView) convertView.findViewById(R.id.pjtdetails);
                          mVHolder.time = (TextView) convertView.findViewById(R.id.name);
                      
                      
                          mVHolder.imv = (ImageButton) convertView.findViewById(R.id.editic);
                          mVHolder.imvd = (ImageView) convertView.findViewById(R.id.delete);
                          mVHolder.imvf = (ImageView) convertView.findViewById(R.id.fwd);
                      
                      
                      
                      
                      
                          mVHolder.imv.setOnClickListener(new View.OnClickListener() {
                           @Override
                           public void onClick(View v) {
                      
                      
                      
                            String img = IMAGE.elementAt(position);
                            Log.i("image...", "" + img);
                      
                            Context ctx = v.getContext();
                            Intent myIntent = new Intent();
                            ctx = v.getContext();
                            myIntent.setClass(ctx, Imageupload12.class);
                            myIntent.putExtra("image", img);
                      
                            ctx.startActivity(myIntent);
                      
                            IMAGE.clear();
                      
                           }
                          });
                          static class ViewHolder {
                      
                           ImageButton imv;
                           ImageView imvd, imvf;
                          }
                         }
                        }
                       }
                      }
                  

                  推荐答案

                  你必须使用blob"来存储图像.

                  You have to use "blob" to store image.

                  例如:将图像存储到数据库中:

                  ex: to store a image in to db:

                  public void insertImg(int id , Bitmap img ) {   
                  
                  
                      byte[] data = getBitmapAsByteArray(img); // this is a function
                  
                      insertStatement_logo.bindLong(1, id);       
                      insertStatement_logo.bindBlob(2, data);
                  
                      insertStatement_logo.executeInsert();
                      insertStatement_logo.clearBindings() ;
                  
                  }
                  
                   public static byte[] getBitmapAsByteArray(Bitmap bitmap) {
                      ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
                      bitmap.compress(CompressFormat.PNG, 0, outputStream);       
                      return outputStream.toByteArray();
                  }
                  

                  从数据库中检索图像:

                  public Bitmap getImage(int i){
                  
                      String qu = "select img  from table where feedid=" + i ;
                      Cursor cur = db.rawQuery(qu, null);
                  
                      if (cur.moveToFirst()){
                          byte[] imgByte = cur.getBlob(0);
                          cur.close();
                          return BitmapFactory.decodeByteArray(imgByte, 0, imgByte.length);
                      }
                      if (cur != null && !cur.isClosed()) {
                          cur.close();
                      }       
                  
                      return null;
                  } 
                  

                  这篇关于如何将图像存储在 SQLite 数据库中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:WebView 中的文件上传 下一篇:Android上的“未安装应用程序"错误

                  相关文章

                  最新文章

                1. <small id='C9Y85'></small><noframes id='C9Y85'>

                    • <bdo id='C9Y85'></bdo><ul id='C9Y85'></ul>
                    <tfoot id='C9Y85'></tfoot>

                    1. <i id='C9Y85'><tr id='C9Y85'><dt id='C9Y85'><q id='C9Y85'><span id='C9Y85'><b id='C9Y85'><form id='C9Y85'><ins id='C9Y85'></ins><ul id='C9Y85'></ul><sub id='C9Y85'></sub></form><legend id='C9Y85'></legend><bdo id='C9Y85'><pre id='C9Y85'><center id='C9Y85'></center></pre></bdo></b><th id='C9Y85'></th></span></q></dt></tr></i><div id='C9Y85'><tfoot id='C9Y85'></tfoot><dl id='C9Y85'><fieldset id='C9Y85'></fieldset></dl></div>
                      <legend id='C9Y85'><style id='C9Y85'><dir id='C9Y85'><q id='C9Y85'></q></dir></style></legend>