最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android創(chuàng)建數(shù)據(jù)庫(SQLite)保存圖片示例

 更新時(shí)間:2014年01月11日 15:42:19   作者:  
這篇文章主要介紹了android創(chuàng)建數(shù)據(jù)庫,保存圖片到數(shù)據(jù)庫再從數(shù)據(jù)庫取圖片的方法,大家參考使用吧

復(fù)制代碼 代碼如下:

//1.創(chuàng)建數(shù)據(jù)庫
public class DBService extends SQLiteOpenHelper {

private final static int VERSION = 1;
private final static String DATABASE_NAME = "uniteqlauncher.db";

public DBService(Context context) {
    this(context, DATABASE_NAME, null, VERSION);
}

public DBService(Context context, String name, CursorFactory factory,
        int version) {
    super(context, name, factory, version);
}

@Override
public void onCreate(SQLiteDatabase db) {
    String sql = "CREATE TABLE [launcher]("
        + "[_id] INTEGER PRIMARY KEY AUTOINCREMENT,"
        + "[photo] BINARY)"; //保存為binary格式

    db.execSQL(sql);

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    if(newVersion > oldVersion){
        db.execSQL("DROP TABLE IF EXISTS[launcher]");
    } else {
        return;
    }
    onCreate(db);
}
}
//保存圖片到數(shù)據(jù)庫
public void savePhoto(Drawable appIcon, Context mContext){
LayoutInflater mInflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.app_view, null);
ImageView iv = (ImageView) v.findViewById(R.id.appicon);
iv.setImageDrawable(appIcon);
String INSERT_SQL = "INSERT INTO launcher(photo) values(?)";
SQLiteDatabase db = mDBService.getWritableDatabase(); // 得到數(shù)據(jù)庫
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
((BitmapDrawable) iv.getDrawable()).getBitmap().compress(
CompressFormat.PNG, 100, baos);//壓縮為PNG格式,100表示跟原圖大小一樣
Object[] args = new Object[] {baos.toByteArray() };
db.execSQL(INSERT_SQL, args);
baos.close();
db.close();
} catch (Exception e) {
e.printStackTrace();
}

}

//3.從數(shù)據(jù)庫中取圖片
public void getPhoto() {
String SELECT_SQL = "SELECT photo FROM launcher";
ImageView appIcon = (ImageView) v.findViewById(R.id.appicon);//v是我在類中定義的一個(gè)view對(duì)象,跟前面保存圖片一樣
byte[] photo = null;
mDBService = new DBService(getContext());
SQLiteDatabase db = mDBService.getReadableDatabase();
Cursor mCursor = db.rawQuery(SELECT_SQL, null);
if (mCursor != null) {
if (mCursor.moveToFirst()) {//just need to query one time
photo = mCursor.getBlob(mCursor.getColumnIndex("photo"));//取出圖片
}
}
if (mCursor != null) {
mCursor.close();
}
db.close();
    ByteArrayInputStream bais = null;
if (photo != null) {
        bais = new ByteArrayInputStream(photo);
        appIcon.setImageDrawable(Drawable.createFromStream(bais, "photo"));//把圖片設(shè)置到ImageView對(duì)象中
}
    //appIcon顯示的就是之前保存到數(shù)據(jù)庫中的圖片
}

相關(guān)文章

  • Android 連接Wifi和創(chuàng)建Wifi熱點(diǎn)的實(shí)例

    Android 連接Wifi和創(chuàng)建Wifi熱點(diǎn)的實(shí)例

    本篇文章介紹了Android 連接Wifi和創(chuàng)建Wifi熱點(diǎn),小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧。
    2016-10-10
  • Android控件FlowLikeView實(shí)現(xiàn)點(diǎn)贊動(dòng)畫

    Android控件FlowLikeView實(shí)現(xiàn)點(diǎn)贊動(dòng)畫

    這篇文章主要為大家詳細(xì)介紹了一個(gè)點(diǎn)贊動(dòng)畫的優(yōu)雅控件FlowLikeView,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Android Studio中CodeStyle模板的配置方式

    Android Studio中CodeStyle模板的配置方式

    這篇文章主要介紹了Android Studio中CodeStyle模板的配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Android內(nèi)存泄漏導(dǎo)致原因深入探究

    Android內(nèi)存泄漏導(dǎo)致原因深入探究

    內(nèi)存管理的目的就是讓我們?cè)陂_發(fā)過程中有效避免我們的應(yīng)用程序出現(xiàn)內(nèi)存泄露的問題。內(nèi)存泄露相信大家都不陌生,我們可以這樣理解:沒有用的對(duì)象無法回收的現(xiàn)象就是內(nèi)存泄露
    2023-02-02
  • Android軟鍵盤彈出時(shí)的界面控制方法

    Android軟鍵盤彈出時(shí)的界面控制方法

    這篇文章主要介紹了Android軟鍵盤彈出時(shí)的界面控制方法,結(jié)合實(shí)例形式分析了Android軟鍵盤彈出后的三種模式,涉及Android針對(duì)AndroidManifet.xml的修改技巧,需要的朋友可以參考下
    2016-08-08
  • Android原生繪圖工具Canvas詳細(xì)

    Android原生繪圖工具Canvas詳細(xì)

    上一篇文章給大家介紹了Android原生繪圖工具Paint,然而android中提供了類似的工具Canvas和Paint,分別對(duì)應(yīng)畫布和畫筆,所以今天的這篇文章就來介紹Androi原生繪圖的另一個(gè)工具Canvas,感興趣的小伙伴一起來學(xué)習(xí)下面文章內(nèi)容
    2021-09-09
  • Android自定義Toolbar使用方法詳解

    Android自定義Toolbar使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了Android自定義Toolbar使用方法 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Android微信圖片瀏覽框架設(shè)計(jì)

    Android微信圖片瀏覽框架設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了Android微信圖片瀏覽框架設(shè)計(jì),感興趣的小伙伴們可以參考一下
    2016-08-08
  • Android性能圖論在啟動(dòng)優(yōu)化中的應(yīng)用示例詳解

    Android性能圖論在啟動(dòng)優(yōu)化中的應(yīng)用示例詳解

    這篇文章主要為大家介紹了Android性能圖論在啟動(dòng)優(yōu)化中的應(yīng)用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • 基于Socket.IO實(shí)現(xiàn)Android聊天功能代碼示例

    基于Socket.IO實(shí)現(xiàn)Android聊天功能代碼示例

    本篇文章主要介紹了基于Socket.IO實(shí)現(xiàn)Android聊天功能代碼示例,具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-08-08

最新評(píng)論

囊谦县| 灵宝市| 漯河市| 淮安市| 陆良县| 桂阳县| 扶绥县| 阿拉善左旗| 达州市| 邢台市| 昭觉县| 罗源县| 阿拉善左旗| 蓬安县| 响水县| 崇左市| 和田县| 育儿| 双城市| 桓台县| 内乡县| 云安县| 新竹县| 丰县| 凤山县| 五华县| 崇信县| 库车县| 贵南县| 定安县| 炉霍县| 临邑县| 黄大仙区| 离岛区| 平和县| 林口县| 玉龙| 临沭县| 广西| 东台市| 安乡县|