i want to save and retrieve image path in my application
this is my 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);
}
and this is my 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);
how can i save path from cameraActivity in my database?? please help me :)
i put code to inserting on startCamera method,,this code like this
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);
}
and then this code to retrieve this image
if(helper.getGamb(c).equals("")){
System.out.println("gamb kosong");
detGam.setImageResource(R.drawable.gambarnf);
}else detGam.setImageDrawable(Drawable.createFromPath(helper.getGamb(c)));
you have solution to my code??thank you very much :)
You can use onActivityResult
for saving path after capturing photo.
@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();
}
}
Use this code for getting the image path...
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;
}
}
}
and this is the sample method for saving the path in database
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();
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.