gpt4 book ai didi

android - 我想将图像存储在从图库和相机 android 中获取的 sqlite 数据库中

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:05:32 25 4
gpt4 key购买 nike

我有一个应用程序,其中用户通过单击 Imageview 并设置图像并从相机拍摄新照片来添加图像。我想将该设置的图像存储到 sqlite 数据库中。

**AddkeyEventdetail.java**



package com.example.kidsfinal;

import java.util.Calendar;

import android.app.DatePickerDialog;
import android.app.Dialog;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.v4.app.DialogFragment;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.TextView;

import com.example.slidingmenuexample.R;

public class AddChildHoodEventActivity extends SmartActivity {

ImageView ivChildPics;
EditText edtEventDate, edtEventDetails;
Button btnEventDetailSubmit, btnopenCamera;
Spinner spinnerSelectChild;
Bitmap bmp;

Calendar calendar = Calendar.getInstance();
int mDay = calendar.get(Calendar.DAY_OF_MONTH), mMonth = calendar
.get(Calendar.MONTH), mYear = calendar.get(Calendar.YEAR) - 1;

@Override
public void onCreate(Bundle arg0) {
// TODO Auto-generated method stub
super.onCreate(arg0);
setContentView(R.layout.addchildhoodevents);
createDrawer();
initComponent();
prepareView();
setOnListener();
}

private void initComponent() {
// TODO Auto-generated method stub
ivChildPics = (ImageView) findViewById(R.id.kids_addkeyevent_imageview_childpics);
edtEventDate = (EditText) findViewById(R.id.kids_addkeyevent_edt_addkeyevent);
edtEventDetails = (EditText) findViewById(R.id.kids_addkeyevent_edt_eventdetails);
btnEventDetailSubmit = (Button) findViewById(R.id.kids_addkeyevent_btn_submit);
btnopenCamera = (Button) findViewById(R.id.kids_addkeyevent_btn_opencamera);
}

private void prepareView() {

}

private void setOnListener() {

ivChildPics.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {

openGallery();

}

private void openGallery() {
Intent opengallery = new Intent(Intent.ACTION_GET_CONTENT);
opengallery.setType("Image/");
startActivityForResult(opengallery, 1);
}
});

btnopenCamera.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
OpenCamera();
}

private void OpenCamera() {
Intent openCam = new Intent(
"android.media.action.IMAGE_CAPTURE");
startActivityForResult(openCam, 0);

}
});



@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 0 && resultCode == RESULT_OK) {
if (data != null) {

bmp = (Bitmap) data.getExtras().get("data");

ivChildPics.setImageBitmap(bmp); /*
* this is image view where you
* want to set image
*/

Log.d("camera ---- > ", "" + data.getExtras().get("data"));

}
}

else {
Uri selectedImage = data.getData();

String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
cursor.close();

if (bmp != null && !bmp.isRecycled()) {
bmp = null;
}

bmp = BitmapFactory.decodeFile(filePath);
ivChildPics.setBackgroundResource(0);
ivChildPics.setImageBitmap(bmp);
}

}

}

数据库.java

public void insertAddKeyEvent(byte[] childpic,String eventDate,String eventDetails)

{
ContentValues addkeyValues=new ContentValues();
addkeyValues.put("CHILDPICS",childpic);
addkeyValues.put("EVENTDATE", eventDate);
addkeyValues.put("EVENTDETAILS", eventDetails);

parentmaster.insert("ADDKEYEVENT",null,addkeyValues);



}

最佳答案

通过以下方式将您的Bitmap转换为byte[]

ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.JPEG, 100, baos);
byte[] imageData = baos.toByteArray();

并将 byte[] 添加到数据库中的 BLOB 字段中。

关于android - 我想将图像存储在从图库和相机 android 中获取的 sqlite 数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23675310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com