如何在SQLite android中保存和检索路径图像

我想在我的应用程序中保存和检索图像路径

这是我的DBhelper

public void insert(String kdstore,String nama, String alamat, String kodepos, String notel, String lng, String lat ,String Perus,String gambar){ //waktu = new Date().toString(); ContentValues cv = new ContentValues(); cv.put("kdstore", kdstore); cv.put("nama", nama); cv.put("alamat", alamat); cv.put("kodepos", kodepos); cv.put("notel", notel); cv.put("lng", lng); cv.put("lat", lat); cv.put("Perus", Perus); cv.put("gambar", df.fileName); System.out.println(); getWritableDatabase().insert("alfamapp", "name", cv); } 

这是我的startCameraActivity

 _path=Environment.getExternalStorageDirectory().getPath() + "/DCIM/Camera/"; fileName = String.format(System.currentTimeMillis()+".jpg"); File file = new File(_path, fileName); try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } Uri outputFileUri = Uri.fromFile(file); Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); startActivityForResult(intent, IMAGE_CAPTURE); 

如何从数据库中的cameraActivity保存路径? 请帮我 :)


我把代码插入到startCamera方法,这样的代码

 public void startCamera() { Cursor c = helper.getById(almagId); c.moveToFirst(); file = new File(_path, fileName); try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } file1 = new File(_path, fileName); try { file1.createNewFile(); } catch (IOException e) { e.printStackTrace(); } Uri outputFileUri = Uri.fromFile(file); Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); finishActivity(IMAGE_CAPTURE); Uri outputFileUri1 = Uri.fromFile(file1); intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri1); startActivityForResult(intent, IMAGE_CAPTURE); System.out.println(file1); Dbhelper helper = new Dbhelper(this); SQLiteDatabase db = helper.getWritableDatabase(); db.execSQL("update alfamapp set gambar ='"+file+"',gambar1 ='"+file1+"' " + "where kdstore='"+helper.getKdStore(c)+"'"); db.execSQL("insert into image (kdstore,image1) values ('"+helper.getKdStore(c)+"','"+file+"')"); db.execSQL("update image set image2 ='"+file1+"' where kdstore='"+helper.getKdStore(c)+"'"); db.close(); helper.close(); load(); System.out.println(db); } 

然后这段代码来检索这个图像

 if(helper.getGamb(c).equals("")){ System.out.println("gamb kosong"); detGam.setImageResource(R.drawable.gambarnf); }else detGam.setImageDrawable(Drawable.createFromPath(helper.getGamb(c))); 

你有我的代码的解决方案??非常感谢你:)

您可以使用onActivityResult在捕获照片后保存路径。

 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if( requestCode == IMAGE_CAPTURE && resultCode == Activity.RESULT_OK) { DBHelper dbHelper = new DBHelper(this); SQLiteDatabase sql = dbHelper.getWritableDatabase(); sql.execSQL("insert statement for inserting path to database"); sql.close(); dbHelper.close(); } } 

使用此代码获取图像路径…

  public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { switch (requestCode) { case SELECT_IMAGE: String imagePath = getPath(data.getData()); Savingimagepath(imagePath); img.setImageDrawable(Drawable.createFromPath(imagePath)); break; } } } 

这是在数据库中保存路径的示例方法

 private void Savingimagepath(String imagePath) { testDatabase testDB = new testDatabase(contact.this); testDB.open(); try { testDB.getexecute("delete from ctoffice"); testDB.getexecute("insert into ctoffice (idnt1)Values('" + imagePath + "')"); } catch (Exception e) { System.out.println(e); } testDB.close(); }