闲话不多说,先看代码
方法一:
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);
}
分享到:
相关推荐
### Android保存图片到数据库知识点详解 #### 一、前言 在Android开发中,有时候我们需要将图片保存到数据库中,以便于后续的应用程序能够快速访问这些图片数据。本篇文章将详细解析如何在Android应用程序中实现...
在Android开发中,保存图片到数据库通常涉及到对大型数据的处理,因为图片文件较大,不适合直接存储为文本格式。在这个场景下,我们通常会使用SQLite数据库,它是Android系统内置的关系型数据库,支持BLOB类型的数据...
Blob,全称为Binary Large Object,是数据库系统中用来存储大量二进制数据的数据类型,非常适合保存图片、音频、视频等非结构化数据。 首先,我们要理解如何在移动端处理图片或文件。在Android中,可以使用`...
本示例主要讲解如何在Android中创建SQLite数据库并实现保存图片到数据库,以及从数据库中取出图片显示。以下是详细步骤和知识点解析: 1. **创建数据库**: - `DBService` 类继承自 `SQLiteOpenHelper`,这是处理...
- 保存图片到本地时,可以选择保存到内部存储或外部存储。内部存储适合保存私密数据,外部存储则方便用户访问。Android提供了File类和ContentProvider等接口来操作文件。 4. **上传图片**: - 图片上传通常涉及...
假设我们已经有一个图片表,包含`id`(主键)、`name`和`image_id`(服务器保存图片的ID)字段。 ```java // 使用JDBC PreparedStatement pstmt = connection.prepareStatement("INSERT INTO images (name, image_...
在Android应用开发中,构建一个聊天Demo涉及到多个关键技术和组件的集成。本项目"Android聊天Demo实现(数据库+RecyclerView)"就是一个很好的示例,它利用了GreenDao作为持久化层,RecyclerView来展示聊天记录,以及...
6. **文件类型识别**:在保存图片前,可能需要确定其原始格式(如JPEG、PNG)。这可以通过检查二进制流的前几个字节(文件签名)来实现。例如,JPEG的开头通常是FF D8 FF,PNG是89 50 4E 47 0D 0A 1A 0A。 7. **...
*" pageEncoding="UTF-8"%> String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.... 用户图片: 上传" /> </html>
在Android平台上,将照片存储到MySQL云数据库并从其中读取是一个常见的需求,尤其是在构建具有云存储功能的应用程序时。本项目实现了一个功能,允许用户将相册中的照片上传到MySQL云数据库,然后可以从数据库中下载...
Android实现保存图片到本地并在相册中显示 Android实现保存图片到本地并在相册中显示是Android开发中的一种常见需求,涉及到文件存储、媒体扫描和相册刷新等知识点。本文将详细介绍Android实现保存图片到本地并在...
在Android开发中,将图片上传并保存到数据库是常见的需求,尤其在社交应用、个人资料管理等场景下。本文将详细讲解如何在Android 4.2版本中实现这个功能,结合源码分析和实用工具的使用。 首先,我们需要了解...
在Android开发中,有时我们需要将图片数据存储到数据库中,然后根据需要从数据库中读取并重新转换为图片。这个过程涉及到对图片的处理、SQLite数据库操作以及Android系统的ContentProvider和ContentValues。以下是一...
- 短信数据库:保存短信记录,通常位于/data/data/com.android.providers.telephony/databases/mmssms.db,可以通过SmsManager类进行操作。 - 多媒体数据库:MediaStore类提供了对音频、视频、图片等多媒体文件的...
数据库的使用是为了保存图片的元数据,例如图片URL、本地存储路径等,这样在下次加载时可以直接查询数据库,避免重复下载。Android提供了SQLite数据库作为本地持久化数据的主要手段。我们可以创建一个SQLite数据库表...
在Android应用开发中,数据存储和数据库编程是两个至关重要的环节。它们允许应用程序保存和管理用户数据,确保应用的持久性。本节将深入探讨这两个主题,帮助开发者掌握Android平台上数据管理的基本技能。 首先,...
文件存储是另一种常见的数据保存方式,适用于存储大块数据如文本、图片或音频文件。Android提供了多种文件操作API,包括`openFileOutput()`和`openFileInput()`,它们可以用来读写私有文件(只能被应用本身访问)。 ...
这里我们主要探讨“收藏图片数据库显示,删除的功能”,这涉及到图像存储、数据库管理和用户界面交互等多个关键知识点。 首先,我们需要理解图片收藏的基本流程。当用户在浏览网页或应用时看到一张想收藏的图片,...