Android อยากทราบวิธีการ insert image ลงฐานข้อมูล SQLite แล้วดึง path image จากหน้า gallery เพื่่อให้มาแสดงบน imageViewในหน้า profile ค่ะ
พี่ค่ะคือที่เลือกรูปภาพจาก gallery อ่ะค่ะ ยังทำไม่ได้เลย
มันยังเลือกที่ภาพแรก แล้วรูปก็ไม่ save ลง database ด้วย
อันนี้เป็น code ที่หนูเขียนอ่ะค่ะ
Code (Android-Java)
// Insert Account
public long InsertAccount(String ACCName, long InitialMoney,
String StartDate, String EndDate, String Photo) {
try {
SQLiteDatabase db;
db = this.getWritableDatabase();
ContentValues Val = new ContentValues();
Val.put("ACCName", ACCName);
Val.put("InitialMoney", InitialMoney);
//Val.put("ACCPicture", Photo);
Val.put("StartDate", StartDate);
Val.put("EndDate", EndDate);
long rows = db.insert(TABLE_ACCOUNT, null, Val);
db.close();
return rows;
} catch (Exception e) {
return -1;
}
}
อันนี้หนูเขียนเลือกภาพจาก หน้า gallery
imageView1 = (ImageView)findViewById(R.id.imageView1);
Button button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
imageView1.setImageBitmap(null);
if (image != null)
image.recycle();
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), REQUEST_GALLERY);
}
});
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_GALLERY && resultCode != 0) {
Uri mImageUri = data.getData();
try {
image = Media.getBitmap(this.getContentResolver(), mImageUri);
imageView1.setImageBitmap(image);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
ส่วนอันนี้เป็นปุ่มที่กด save ลง database
// Save Account
public boolean SaveData() {
final EditText AccName = (EditText) findViewById(R.id.NameEdit);
final EditText AccMoney = (EditText) findViewById(R.id.MoneyEdit);
final Button StartDate = (Button) findViewById(R.id.btnStartDate);
final Button EndDate = (Button) findViewById(R.id.btnEndDate);
final ImageView img = (ImageView) findViewById(R.id.imageView1);
final AlertDialog.Builder adb = new AlertDialog.Builder(this);
AlertDialog ad = adb.create();
if (AccName.getText().length() == 0) {
ad.setMessage("Please input Account name ");
ad.show();
AccName.requestFocus();
return false;
}
if (AccMoney.getText().length() == 0) {
ad.setMessage("Please input Initial money ");
ad.show();
AccMoney.requestFocus();
return false;
}
final myDBClass mDb = new myDBClass(this);
long saveStatus = mDb.InsertAccount(AccName.getText().toString(),
Integer.parseInt(AccMoney.getText().toString()), StartDate
.getText().toString(), EndDate.getText().toString(), null);
if (saveStatus <= 0) {
ad.setMessage("Error!! ");
ad.show();
return false;
}
Toast.makeText(NewAccount.this, "Add Account Successfully. ",
Toast.LENGTH_SHORT).show();
return true;
}
Tag : Mobile, Android
Date :
2013-03-12 21:13:41
By :
ninew
View :
2423
Reply :
3
1.พอหนูกดปุ่ม Select Image from Gallery
2. มันก็จะเลือกแค่ภาพแรก ชื่อภาพ meAndDog.jpg พอเลือกภาพที่ 2 ก็ error Unforture อ่ะค่ะ
3.เป็นเพราะมันแปลง Bitmap แค่รูปนี้รูปเดียวหรือเปล่า?
4.กด save ชื่อรูปก็ไม่ลงไปที่ database ชื่อcolumn คือ ACCPicture อ่ะค่ะ
รบกวนพี่ช่วยดูให้หน่อยค่ะ ต้องแก้ตรงส่วนไหนค่ะ
Date :
2013-03-12 21:15:55
By :
ninew
Android Populate ListView ImageView get Image Resource from SD Card
Date :
2013-03-13 08:59:56
By :
mr.win
แล้วจะให้กดปุ่ม Select Image from Gallery ไปหน้า Gallery ยังไงค่ะในเมื่อ เรายังไมรุ้ตำแหน่งรูปที่เราเลือกเลย
เราจะ get ตำแหน่งมา save path ลง DB ยังไง เพราะหนูไม่ได้ทำเป็น list imageView
Date :
2013-03-13 16:21:03
By :
ninew
Load balance : Server 00