Android现学现用第五天

Android现学现用第五天,第1张

概述原文链接:http://www.cnblogs.com/NateSheng/archive/2011/09/06/2167830.html今天完成bitmap的存取~这是昨天提到的博客里的方法:事实证明,存进去是没有问题的,我正在尝试再读出来。1、bitmap保存到SQLite中数据格式:Blob    demo。     原文链接:http://www.cnblogs.com/NateSheng/archive/2011/09/06/2167830.html

今天完成bitmap的存取~

这是昨天提到的博客里的方法:事实证明,存进去是没有问题的,我正在尝试再读出来。

1、bitmap保存到sqlite 中 数据格式:Blob

     demo。

     db.execsql("Create table " + table_name + "( _ID INTEGER PRIMARY KEY autoINCREMENT,USER_AGE                INTEGER,USER_name TEXT,BITMAP_VALUES BLOB );");

2、bitmap 变为 Blob

    ContentValues values = new ContentValues();

    final ByteArrayOutputStream os = new ByteArrayOutputStream(); 

    bmp.compress(Bitmap.CompressFormat.PNG, 100, os);  

    values.put(MyUser.User.BITMAP_VALUES, os.toByteArray());

    values.put(MyUser.User.USER_name,"icon");

    values.put(MyUser.User.USER_AGE,50);

    getContentResolver().insert(MyUser.User.CONTENT_URI, values);

3、从sqlite中读取Bitmap

     byte[] in=cur.getBlob(cur.getColumnIndex(MyUser.User.BITMAP_VALUES));

     bmpout=BitmapFactory.decodeByteArray(in,0,in.length);

总结:

inputStream:  作为数据缓存,数据写如何供别的对象读取,其方法为read();

outputStream:作为数据缓存,将来向别的对象写内容!其方法write();

byte[] in=cur.getBlob(cur.getColumnIndex(MyUser.User.BITMAP_VALUES));//这样也可以对数据进行初始化,byte是基本类型,不需要之前进行长度定义。



关于cursor:


关于 Cursor

  在你理解和使用 AndroID Cursor 的时候你必须先知道关于 Cursor 的几件事情:

  Cursor 是每行的集合。

  使用 movetoFirst() 定位第一行。

  你必须知道每一列的名称。

  你必须知道每一列的数据类型。

  Cursor 是一个随机的数据源。

  所有的数据都是通过下标取得。

  关于 Cursor 的重要方法:

  close()

  关闭游标,释放资源

  copyStringToBuffer(int columnIndex, ChararrayBuffer buffer)

  在缓冲区中检索请求的列的文本,将将其存储

  getColumnCount()

  返回所有列的总数

  getColumnIndex(String columnname)

  返回指定列的名称,如果不存在返回-1

  getColumnIndexOrThrow(String columnname)

  从零开始返回指定列名称,如果不存在将抛出IllegalArgumentException 异常。

  getColumnname(int columnIndex)

  从给定的索引返回列名

  getColumnnames()

  返回一个字符串数组的列名

  getCount()

  返回Cursor 中的行数

  movetoFirst()

  移动光标到第一行

  movetoLast()

  移动光标到最后一行

  movetoNext()

  移动光标到下一行

  movetoposition(int position)

  移动光标到一个绝对的位置

  movetoPrevIoUs()

  移动光标到上一行

转载于:https://www.cnblogs.com/NateSheng/archive/2011/09/06/2167830.HTML

总结

以上是内存溢出为你收集整理的Android现学现用第五天全部内容,希望文章能够帮你解决Android现学现用第五天所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1112788.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存