- 浏览: 384172 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
longxishui12:
这个一定要顶得高高的。
[Android UI界面] android中仿iphone实现listview的反弹效果 -
klower.jiang:
Good job, Thank you so much!
能够兼容ViewPager的ScrollView -
ZSRTFAT:
...
file size 的大小计算
drawable 一些总结:
http://www.cnblogs.com/fighter/archive/2012/02/20/android-bitmap-drawable.html
(drawable的一些处理)
//1,已将图片保存到drawable目录下 //通过图片id获得Drawable Resource res=gerResource(); Drawable drawable=res.getDrawable(id);//id为R.drawable.图片名称 //通过图片id获得Bitmap Resource res=gerResource(); Bitmap bitmap=BitmapFactory.decodeResource(res, id); //若只知道图片的名称,可以通过图片的名称获得图片的id //name:图片的名称 defType:图片的类型(png,jpeg),defPackage:工程的包名 int id =int id =res.getIdentifier(name, defType, defPackage); //获得id之后可以根据你的需要来获得Bitmap或Drawable //2,已将图片保存到assest目录下 //知道图片的名称,通过inputstream打开图片 AssetManager asm=getAssetMg(); InputStream is=asm.open(name);//name:图片的名称 //获得Drawable Drawable da = Drawable.createFromStream(is, null); //获得Bitmap Bitmap bitmap=BitmapFactory.decodeStream(is); //3,图片保存在sdcard,已知图片的路径 //图片路径 String path = Environment.getExternalStorageDirectory().toString()+ "/DCIM/device.png"; RandomAccessFile mMiniThumbFile; File imgfile = new File(path); try { mMiniThumbFile = new RandomAccessFile(imgfile, "rw"); } catch (IOException ex) { // Open as read-only so we can at least read the existing // thumbnails. try { mMiniThumbFile = new RandomAccessFile(imgfile, "r"); } catch (IOException ex2) { // ignore exception System.out.println(ex2.toString()); } } data= new byte[10553]; try { mMiniThumbFile.seek(0); int got = mMiniThumbFile.read(data, 0, 10552); System.out.println("got="+got); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println(e.toString()); } if (data != null) { //通过data获得bitmap Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0,data.length);
在进行Android开发过程中,我们经常会接触到Drawable对象(官方开发文档:A Drawable is a general abstraction for "something that can be drawn."),那么,若要使用数据库来进行存储及读取,该如何实现?
保存:
//第一步,将Drawable对象转化为Bitmap对象 Bitmap bmp = (((BitmapDrawable)tmp.image).getBitmap()); //第二步,声明并创建一个输出字节流对象 ByteArrayOutputStream os = new ByteArrayOutputStream(); //第三步,调用compress将Bitmap对象压缩为PNG格式,第二个参数为PNG图片质量,第三个参数为接收容器,即输出字节流os bmp.compress(Bitmap.CompressFormat.PNG, 100, os); //第四步,将输出字节流转换为字节数组,并直接进行存储数据库操作,注意,所对应的列的数据类型应该是BLOB类型 ContentValues values = new ContentValues(); values.put("image", os.toByteArray()); db.insert("apps", null, values); db.close();
代码看起来比较繁琐,是因为过程的确挺繁琐的,不过可以简单的总结为:
Drawable→Bitmap→ByteArrayOutputStream→SQLite
读取:
//第一步,从数据库中读取出相应数据,并保存在字节数组中 byte[] blob = cursor.getBlob(cursor.getColumnIndex("image")); //第二步,调用BitmapFactory的解码方法decodeByteArray把字节数组转换为Bitmap对象 Bitmap bmp = BitmapFactory.decodeByteArray(blob, 0, blob.length); //第三步,调用BitmapDrawable构造函数生成一个BitmapDrawable对象,该对象继承Drawable对象,所以在需要处直接使用该对象即可 BitmapDrawable bd = new BitmapDrawable(bmp);
很显然,读取是存储的相反过程,代码思路也差不多,但实现起来简单很多,总结思路为:
SQLite→byte[]→Bitmap→BitmapDrawable
发表评论
-
file size 的大小计算
2012-04-25 18:21 11267file size 的大小计算: String an ... -
SpannableStringBuilder
2012-04-25 17:34 4905设置指定文字颜色: String str = &quo ... -
sdcark卡。
2012-04-24 16:53 844转载:http://www.cnblogs.com/Terry ... -
android读写文件
2012-04-22 17:16 925一、 从resource中的raw文件夹中获 ... -
读取assessts的txt
2012-04-22 17:14 941try { // Return an Asset ... -
android 应用程序Activity之间数据传递与共享的几种途径
2012-04-21 22:09 977转载:http://blog.csdn.net/u0fly/a ... -
android 界面布局 很好的一篇总结 【转】
2012-04-19 16:17 1254转载:http://www.eoeandroid. ... -
activity以dialog形式显示
2012-04-11 17:41 63281、AndroidManifest.xml 文件中,申明 ac ... -
Android开发神贴整理
2012-04-06 14:36 779Android开发神贴整理 http://www.apkbu ... -
Google Android开发精华教程(apkbus整理)
2012-04-06 14:35 805转载 Google Android开发精华教程 ... -
使用Iterator 或for-each注意:java.util.ConcurrentModificationException
2012-04-05 16:37 897使用Iterator 或for-each注意:java.ut ... -
分享45个源码
2012-03-31 09:58 850http://www.apkbus.com/android-2 ... -
不显示近期任务
2012-03-28 17:11 1562manifest中设置activity为: (在长按HOME键 ... -
获取SD卡中的apk信息
2012-03-21 15:22 1185转自: http://hi.baidu.com/jeremy ... -
遮罩效果。
2012-03-15 16:53 892来自: http://www.ligotop.com/201 ... -
收藏Android下bitmap内存限制OUT OF MEMORY的方法
2012-03-15 16:15 1561收藏Android下bitmap内存限制OUT OF M ... -
android课程
2012-03-14 15:40 739http://www.mobidever.com/course ... -
获得联系人
2012-03-14 11:56 1059String contactId ; privat ... -
学习网站
2012-03-06 18:10 703http://www.cyqdata.com/android/ ... -
Animation
2012-03-06 16:16 789http://gundumw100.iteye.com/ca ...
相关推荐
在Android开发中,`drawable`资源是至关重要的组成部分,它主要负责存储应用程序中的各种图形元素,如图标、背景、按钮形状等。`drawable`资源通常存储在项目的`res/drawable`目录下,并且根据不同的密度(ldpi, ...
### Android 通过图片名称获取 Drawable 目录下的图片 在Android开发过程中,有时我们需要动态地根据图片名称来加载Drawable资源。这种需求虽然不常见,但在某些特定场景下却显得尤为重要,比如实现一个自定义控件...
在Android开发中,自定义Drawable是提升应用UI个性化和性能优化的重要手段。本文将深入探讨如何通过自定义Drawable实现图片的圆角、圆形以及椭圆形显示,帮助开发者更好地理解和运用这一技术。 首先,我们了解...
在Android开发中,Drawable是图形资源的核心组成部分,用于在用户界面上绘制各种图像,如按钮、背景、图标等。理解并熟练运用Drawable的各种高效用法对于优化应用性能和提升用户体验至关重要。以下是一些关于Android...
在Android开发中,Drawable是图形和图像处理的重要组成部分,它是一种可以绘制到Canvas上的对象,广泛用于界面元素的装饰和状态表示。以下是对Android中drawable集合的详细解释: 1. **Bitmap Drawable**: Bitmap ...
在Android开发中,`drawable`文件是一个至关重要的组成部分,它主要负责应用的图形资源管理。`Drawable`资源是Android系统中用于表示图形的一种抽象概念,它可以是图片、颜色、形状或者动画等。在这个主题中,我们将...
在Android开发中,Drawable是图形和图像对象的抽象表示,用于在用户界面上创建各种视觉效果。本篇文章将深入探讨Android中的Drawable及其使用方法,包括系统提供的各种Drawable类型以及如何自定义Drawable。 首先,...
在Android应用开发中,Drawable是用于图形和图像处理的核心组件,尤其在UI设计和交互中扮演着重要角色。本资源包“android安卓APP之13种Drawable位图片资源.zip”涵盖了Android开发中常见的13种Drawable类型,这些...
在Android开发中,`Drawable`是一个非常重要的概念,它代表了屏幕上的图形对象,可以是图像、颜色、形状或者是它们的组合。`Drawable`广泛应用于各种UI元素的背景、图标等,提供了丰富的自定义和动画效果。在这个...
在Android开发中,Drawable是用于绘制图形的资源,它们被广泛应用于各种界面元素的背景或图片显示。Drawable资源是抽象的图形对象,可以包括图片、颜色、渐变等多种形式。在Android SDK中,开发者通常不需要直接操作...
在Android开发中,`drawable`资源是至关重要的组成部分,它主要负责存储应用程序中使用的各种图形元素,如图标、背景图片等。本知识点将深入探讨`drawable`资源的使用、分类和适应不同屏幕密度的重要性。 首先,`...
在Android开发中,Drawable是图形和图像处理的重要组成部分,它涵盖了多种类型的图像资源,如颜色、形状、位图等。本篇文章将深入探讨Android的Drawable及其应用,通过一个实际的Demo来展示其功能和用法。 Drawable...
在Android开发中,Drawable是图形对象的抽象表示,用于在界面上绘制各种图像,如背景、按钮、图标等。理解并熟练使用不同类型的Drawable对于优化应用的视觉效果和性能至关重要。下面将详细介绍Android中常见的...
在Android应用开发中,有时我们需要在界面上展示动态GIF图像,这时`android-gif-drawable`库就显得非常实用。这个库是专门为在Android平台上高效、流畅地播放GIF动画而设计的。本文将深入探讨如何使用`android-gif-...
在Android开发中,Drawable和Bitmap是两种常用的图像资源类型,它们各有特点且在不同场景下有不同的优势。了解和掌握它们之间的相互转换对于优化性能和提高用户体验至关重要。本篇将详细介绍如何在Android中进行...
本教程将详细讲解如何通过自定义`Drawable`来实现这样的功能。 首先,我们需要理解`Drawable`在Android中的作用。`Drawable`是Android图形库中的一个接口,它代表了可以绘制到屏幕上的任何对象,如颜色、形状、位图...
《深入解析xUtils3:新增Drawable支持》 xUtils3是一款广受Android开发者喜爱的开源框架,它提供了包括网络请求、数据库操作、图片加载等多种功能,极大地简化了开发过程。在原有功能的基础上,xUtils3增加了对...
在Android开发中,Drawable资源是用于管理应用中各种图形元素,如图片、颜色、形状等的关键组成部分。了解和熟练掌握Drawable资源的管理与图片处理,对于优化应用性能和提升用户体验至关重要。以下是一些关于...
本篇文章将深入探讨如何浏览和使用Android系统中的图片资源,特别是`android.R.drawable`中的资源。`android.R.drawable`是Android SDK提供的一个预定义的资源集合,包含了大量的图标和图形,适用于各种UI组件和状态...