我想在我的应用程序中保存和检索图像路径
这是我的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)));
你有我的代码的解决方案吗?非常感谢你:)
答案 0 :(得分:1)
拍摄照片后,您可以使用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();
}
}
答案 1 :(得分:1)
使用此代码获取图像路径......
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();
}