[size=0.83em]
整体的工作流程如下:
保存流程:
查询流程:
该实例主要分为4个部分:
2、创建一个数据库。
3、二维码和相片的保存。
1、创建工程
首先,打开已经配置好的android应用开发的集中开发环境Eclipse。创建一个新的工程SaveImage,Target为2.3.3,包名为:com.yiyiweixiao,主Activity为main。
如下图所示:
然后,创建一个新的布局main.xml
布局代码如下所示:
- <?xml version="1.0" encoding="utf-8"?>
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical" android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <Button android:layout_height="wrap_content" android:id="@+id/button1"
- android:layout_width="wrap_content"
- android:text="保存图片1"
- android:layout_alignParentTop="true" android:layout_alignParentLeft="true"></Button>
- <Button android:layout_height="wrap_content" android:id="@+id/button2"
- android:layout_width="wrap_content"
- android:text="保存图片2"
- android:layout_alignParentTop="true" android:layout_toRightOf="@+id/button1"></Button>
- <Button android:layout_height="wrap_content" android:id="@+id/button3"
- android:layout_width="wrap_content"
- android:text="查询图片1"
- android:layout_below="@+id/button1" android:layout_alignParentLeft="true"></Button>
- <Button android:layout_height="wrap_content" android:id="@+id/button4"
- android:layout_width="wrap_content"
- android:text="查询图片2"
- android:layout_alignBaseline="@+id/button3"
- android:layout_alignBottom="@+id/button3" android:layout_toRightOf="@+id/button3"></Button>
- <ImageView android:src="@drawable/icon" android:layout_width="wrap_content"
- android:id="@+id/imageView1"
- android:layout_height="wrap_content"
- android:layout_below="@+id/button3" android:layout_alignParentLeft="true"></ImageView>
- <ImageView android:src="@drawable/icon" android:layout_width="wrap_content"
- android:id="@+id/imageView2"
- android:layout_height="wrap_content"
- android:layout_alignTop="@+id/imageView1" android:layout_alignLeft="@+id/button4"></ImageView>
- </RelativeLayout>
效果图如下:
2、创建一个数据库
代码如下:
- package com.yiyiweixiao;
- import android.content.Context;
- import android.database.sqlite.sqliteDatabase;
- import android.database.sqlite.sqliteOpenHelper;
- import android.database.sqlite.sqliteDatabase.CursorFactory;
- public class MysqLiteOpenHelper extends sqliteOpenHelper {
- // 重写构造方法
- public MysqLiteOpenHelper(Context context,String name,
- CursorFactory cursor,int version) {
- super(context,name,cursor,version);
- }
- // 创建数据库的方法
- public void onCreate(sqliteDatabase db) {
- // 创建一个数据库,表名:imagetable,字段:_id、image。
- db.execsql("CREATE TABLE imagetable (_id INTEGER PRIMARY KEY AUTOINCREMENT,image BLOB)");
- }
- // 更新数据库的方法
- public void onUpgrade(sqliteDatabase db,int oldVersion,int newVersion) {
- }
- }
用可视化开发工具打开后的列表如下所示:
4、从数据库中查询二维码和相片的方法。第一步:将数据库中的Blob(二进制大对象类型)数据转换为字节数组。方法如下:
- //创建一个指针
- Cursor cur=mydb.query("imagetable",new String[]{"_id","image"},null);
- byte[] imagequery=null;
- if(cur.moveToNext()){
- //将Blob数据转化为字节数组imagequery=cur.getBlob(cur.getColumnIndex("image"));
- }
- //将字节数组转化为位图
- Bitmap imagebitmap=BitmapFactory.decodeByteArray(imagequery,imagequery.length);
至此,便完成了二维码和图片在 sqlite 数据库中的保存和查询。具体的代码详见源代码,这里只是列出了核心代码。谢谢。 原文链接:https://www.f2er.com/sqlite/199141.html