Sqlite存储图片文字

来源:互联网 发布:华客数据恢复论坛 编辑:程序博客网 时间:2024/05/18 00:23



/**
 * 图片工具类
 * @author Administrator
 *
 */
public class BitmpUtil extends SQLiteOpenHelper {


public BitmpUtil(Context context) {
super(context, "djf", null, 2);
}


@Override
public void onCreate(SQLiteDatabase db) {

db.execSQL("Create table img ( id INTEGER PRIMARY KEY AUTOINCREMENT,uname TEXT,uimgae BLOB );");  
}


@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}


}

/**

调用

public class MainActivity extends Activity {


private Button btnSave,btnQuery;

private ImageView selectIcon;
private ImageView showIcon;

/*数据库操作*/
private BitmpUtil bu;

private Bitmap bit;


/*数据库操作*/


protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bu=new BitmpUtil(MainActivity.this);

btnSave=(Button)findViewById(R.id.save);

btnQuery=(Button)findViewById(R.id.query);

selectIcon=(ImageView)findViewById(R.id.iv_icon);
showIcon=(ImageView)findViewById(R.id.iv_showIcon);


/**
* 选择图片
*/
selectIcon.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

Intent i = new Intent(Intent.ACTION_PICK, 
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);//调用android的图库 
startActivityForResult(i, 2);
}
});

/**
* 增加
*/
btnSave.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
SQLiteDatabase db =bu.getWritableDatabase();

ContentValues values = new ContentValues();  
final ByteArrayOutputStream os = new ByteArrayOutputStream();   
bit.compress(Bitmap.CompressFormat.PNG, 100, os);    
values.put("uimgae", os.toByteArray());  
values.put("uname","zhangsan");  
db.insert("img", null, values); 
db.close();
}
});


/**
* 显示图片
*/
btnQuery.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

SQLiteDatabase db=null;
db=bu.getReadableDatabase();
Cursor c=db.query("img", new String[]{"id","uname","uimgae"}, "uname=?", new String[]{"zhangsan"}, null, null, null);
while(c.moveToNext())
{
String id=c.getString(c.getColumnIndex("id"));
String name=c.getString(c.getColumnIndex("uname"));
byte[]in=c.getBlob(c.getColumnIndex("uimgae"));
Bitmap bit=BitmapFactory.decodeByteArray(in, 0, in.length);
showIcon.setImageBitmap(bit);
}
}
});
}


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

if(requestCode==2&&resultCode==RESULT_OK)
{
Uri u=data.getData();
ContentResolver cr=MainActivity.this.getContentResolver();
try
{
bit=BitmapFactory.decodeStream(cr.openInputStream(u));
selectIcon.setImageBitmap(bit);
}catch(Exception e)
{
e.printStackTrace();
}
}
super.onActivityResult(requestCode, resultCode, data);
}


}





0 0
原创粉丝点击