闲话不多说,先看代码
方法一:
public void saveIcon(Bitmap icon) {
if (icon == null) {
return;
}
// 最终图标要保存到浏览器的内部数据库中,系统程序均保存为SQLite格式,Browser也不例外,因为图片是二进制的所以使用字节数组存储数据库的
// BLOB类型
final ByteArrayOutputStream os = new ByteArrayOutputStream();
// 将Bitmap压缩成PNG编码,质量为100%存储
icon.compress(Bitmap.CompressFormat.PNG, 100, os);
// 构造SQLite的Content对象,这里也可以使用raw
ContentValues values = new ContentValues();
// 写入数据库的Browser.BookmarkColumns.TOUCH_ICON字段
values.put(Browser.BookmarkColumns.TOUCH_ICON, os.toByteArray());
DBUtil.update(....);//调用更新或者插入到数据库的方法
}
方法二:如果数据表入口时一个content:URI
import android.provider.MediaStore.Images.Media;
import android.content.ContentValues;
import java.io.OutputStream;
// Save the name and description of an image in a ContentValues map.
ContentValues values = new ContentValues(3);
values.put(Media.DISPLAY_NAME, "road_trip_1");
values.put(Media.DESCRIPTION, "Day 1, trip to Los Angeles");
values.put(Media.MIME_TYPE, "image/jpeg");
// Add a new record without the bitmap, but with the values just set.
// insert() returns the URI of the new record.
Uri uri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, values);
// Now get a handle to the file for that record, and save the data into it.
// Here, sourceBitmap is a Bitmap object representing the file to save to the database.
try {
OutputStream outStream = getContentResolver().openOutputStream(uri);
sourceBitmap.compress(Bitmap.CompressFormat.JPEG, 50, outStream);
outStream.close();
} catch (Exception e) {
Log.e(TAG, "exception while writing image", e);
}
转自:
http://sanfeng-chow.iteye.com/blog/599350
分享到:
相关推荐
android保存图片到数据库,教你如何使用sqlite操作图片基本代码
在Android开发中,保存图片到数据库通常涉及到对大型数据的处理,因为图片文件较大,不适合直接存储为文本格式。在这个场景下,我们通常会使用SQLite数据库,它是Android系统内置的关系型数据库,支持BLOB类型的数据...
6. **文件类型识别**:在保存图片前,可能需要确定其原始格式(如JPEG、PNG)。这可以通过检查二进制流的前几个字节(文件签名)来实现。例如,JPEG的开头通常是FF D8 FF,PNG是89 50 4E 47 0D 0A 1A 0A。 7. **...
Blob,全称为Binary Large Object,是数据库系统中用来存储大量二进制数据的数据类型,非常适合保存图片、音频、视频等非结构化数据。 首先,我们要理解如何在移动端处理图片或文件。在Android中,可以使用`...
- 保存图片到本地时,可以选择保存到内部存储或外部存储。内部存储适合保存私密数据,外部存储则方便用户访问。Android提供了File类和ContentProvider等接口来操作文件。 4. **上传图片**: - 图片上传通常涉及...
本示例主要讲解如何在Android中创建SQLite数据库并实现保存图片到数据库,以及从数据库中取出图片显示。以下是详细步骤和知识点解析: 1. **创建数据库**: - `DBService` 类继承自 `SQLiteOpenHelper`,这是处理...
在Android开发中,有时我们需要将图片数据存储到数据库中,然后根据需要从数据库中读取并重新转换为图片。这个过程涉及到对图片的处理、SQLite数据库操作以及Android系统的ContentProvider和ContentValues。以下是一...
假设我们已经有一个图片表,包含`id`(主键)、`name`和`image_id`(服务器保存图片的ID)字段。 ```java // 使用JDBC PreparedStatement pstmt = connection.prepareStatement("INSERT INTO images (name, image_...
在Android平台上,将照片存储到MySQL云数据库并从其中读取是一个常见的需求,尤其是在构建具有云存储功能的应用程序时。本项目实现了一个功能,允许用户将相册中的照片上传到MySQL云数据库,然后可以从数据库中下载...
- 短信数据库:保存短信记录,通常位于/data/data/com.android.providers.telephony/databases/mmssms.db,可以通过SmsManager类进行操作。 - 多媒体数据库:MediaStore类提供了对音频、视频、图片等多媒体文件的...
在Android应用开发中,构建一个聊天Demo涉及到多个关键技术和组件的集成。本项目"Android聊天Demo实现(数据库+RecyclerView)"就是一个很好的示例,它利用了GreenDao作为持久化层,RecyclerView来展示聊天记录,以及...
在Android开发中,将图片上传并保存到数据库是常见的需求,尤其在社交应用、个人资料管理等场景下。本文将详细讲解如何在Android 4.2版本中实现这个功能,结合源码分析和实用工具的使用。 首先,我们需要了解...
- **本地存储**:将Bitmap转换为String,可以方便地保存在SharedPreferences或数据库中,节省空间并简化操作。 - **分享功能**:当分享图片时,可以将Bitmap转换为String,然后嵌入到分享链接的HTML中。 提供的`...
4. **媒体库集成**:如果应用需要将文件保存到公共的外部存储区域,如图片、音频或视频库,可以使用ContentProvider或者MediaStore API。通过这些API,应用可以在不直接访问文件系统的情况下将文件添加到媒体库,...
在Android平台上,保存图片涉及到的是图像处理和文件操作的知识。`xe7-android-保存图片`这个主题主要关注如何在Android应用中保存BMP格式的图片。BMP(Bitmap)是一种常见的位图文件格式,用于存储图像数据。在这个...
*" pageEncoding="UTF-8"%> String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.... 用户图片: 上传" /> </html>
6. **数据存储**:了解如何使用SharedPreferences存储用户的状态,或者使用SQLite数据库保存更复杂的数据。 7. **网络请求**:通过Retrofit或OkHttp发送HTTP请求获取服务器上的砍价数据,理解JSON解析和网络异步...
Android实现保存图片到本地并在相册中显示 Android实现保存图片到本地并在相册中显示是Android开发中的一种常见需求,涉及到文件存储、媒体扫描和相册刷新等知识点。本文将详细介绍Android实现保存图片到本地并在...