`
sanfeng_chow
  • 浏览: 101573 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Android保存图片到数据库

阅读更多

    闲话不多说,先看代码

    方法一:

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);
}
 

 

分享到:
评论
1 楼 feng88724 2011-10-18  
也会保存到文件系统?

相关推荐

    android保存图片到数据库

    ### Android保存图片到数据库知识点详解 #### 一、前言 在Android开发中,有时候我们需要将图片保存到数据库中,以便于后续的应用程序能够快速访问这些图片数据。本篇文章将详细解析如何在Android应用程序中实现...

    android保存图片到大数据库.docx

    在Android开发中,保存图片到数据库通常涉及到对大型数据的处理,因为图片文件较大,不适合直接存储为文本格式。在这个场景下,我们通常会使用SQLite数据库,它是Android系统内置的关系型数据库,支持BLOB类型的数据...

    Android/Ios上传图片头像或是文件到数据库

    Blob,全称为Binary Large Object,是数据库系统中用来存储大量二进制数据的数据类型,非常适合保存图片、音频、视频等非结构化数据。 首先,我们要理解如何在移动端处理图片或文件。在Android中,可以使用`...

    android创建数据库(SQLite)保存图片示例

    本示例主要讲解如何在Android中创建SQLite数据库并实现保存图片到数据库,以及从数据库中取出图片显示。以下是详细步骤和知识点解析: 1. **创建数据库**: - `DBService` 类继承自 `SQLiteOpenHelper`,这是处理...

    android拍照并上传到本地(也可用来写入数据库)

    - 保存图片到本地时,可以选择保存到内部存储或外部存储。内部存储适合保存私密数据,外部存储则方便用户访问。Android提供了File类和ContentProvider等接口来操作文件。 4. **上传图片**: - 图片上传通常涉及...

    android 上传和下载图片

    假设我们已经有一个图片表,包含`id`(主键)、`name`和`image_id`(服务器保存图片的ID)字段。 ```java // 使用JDBC PreparedStatement pstmt = connection.prepareStatement("INSERT INTO images (name, image_...

    Android聊天Demo实现(数据库+RecyclerView)

    在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>

    安卓进行照片在mysql云数据库端读取

    在Android平台上,将照片存储到MySQL云数据库并从其中读取是一个常见的需求,尤其是在构建具有云存储功能的应用程序时。本项目实现了一个功能,允许用户将相册中的照片上传到MySQL云数据库,然后可以从数据库中下载...

    Android实现保存图片到本地并在相册中显示

    Android实现保存图片到本地并在相册中显示 Android实现保存图片到本地并在相册中显示是Android开发中的一种常见需求,涉及到文件存储、媒体扫描和相册刷新等知识点。本文将详细介绍Android实现保存图片到本地并在...

    Android4.2上传图片且保存至数据库中

    在Android开发中,将图片上传并保存到数据库是常见的需求,尤其在社交应用、个人资料管理等场景下。本文将详细讲解如何在Android 4.2版本中实现这个功能,结合源码分析和实用工具的使用。 首先,我们需要了解...

    android将图片转换存到数据库再从数据库读取转换成图片实现代码

    在Android开发中,有时我们需要将图片数据存储到数据库中,然后根据需要从数据库中读取并重新转换为图片。这个过程涉及到对图片的处理、SQLite数据库操作以及Android系统的ContentProvider和ContentValues。以下是一...

    android系统常用数据库

    - 短信数据库:保存短信记录,通常位于/data/data/com.android.providers.telephony/databases/mmssms.db,可以通过SmsManager类进行操作。 - 多媒体数据库:MediaStore类提供了对音频、视频、图片等多媒体文件的...

    android listview异步加载图片实例(线程池+数据库+本地保存)

    数据库的使用是为了保存图片的元数据,例如图片URL、本地存储路径等,这样在下次加载时可以直接查询数据库,避免重复下载。Android提供了SQLite数据库作为本地持久化数据的主要手段。我们可以创建一个SQLite数据库表...

    Android数据存储和数据库编程

    在Android应用开发中,数据存储和数据库编程是两个至关重要的环节。它们允许应用程序保存和管理用户数据,确保应用的持久性。本节将深入探讨这两个主题,帮助开发者掌握Android平台上数据管理的基本技能。 首先,...

    Android 数据存储(数据库、文件、参数)操作实例

    文件存储是另一种常见的数据保存方式,适用于存储大块数据如文本、图片或音频文件。Android提供了多种文件操作API,包括`openFileOutput()`和`openFileInput()`,它们可以用来读写私有文件(只能被应用本身访问)。 ...

    收藏图片数据库显示,删除的功能

    这里我们主要探讨“收藏图片数据库显示,删除的功能”,这涉及到图像存储、数据库管理和用户界面交互等多个关键知识点。 首先,我们需要理解图片收藏的基本流程。当用户在浏览网页或应用时看到一张想收藏的图片,...

Global site tag (gtag.js) - Google Analytics