WEB开发网
开发学院手机开发Android 开发 详解 Android content provider 阅读

详解 Android content provider

 2010-03-15 15:35:00 来源:WEB开发网   
核心提示:values.clear(); values.put(People.Phones.TYPE, People.Phones.TYPE_MOBILE); values.put(People.Phones.NUMBER, "1233214567"); getContentResolver().insert
values.clear(); values.put(People.Phones.TYPE, People.Phones.TYPE_MOBILE); values.put(People.Phones.NUMBER, "1233214567"); getContentResolver().insert(phoneUri, values); // Now add an email address in the same way. emailUri = Uri.withAppendedPath(uri, People.ContactMethods.CONTENT_DIRECTORY); values.clear(); // ContactMethods.KIND is used to distinguish different kinds of // contact methods, such as email, IM, etc. values.put(People.ContactMethods.KIND, Contacts.KIND_EMAIL); values.put(People.ContactMethods.DATA, "test@example.com"); values.put(People.ContactMethods.TYPE, People.ContactMethods.TYPE_HOME); getContentResolver().insert(emailUri, values); 通过调用ContentValues.put()函数可以把一小段二进制数据放到数据表中,ContentValues.put()函数携带一个二进制数组。

这种方法适合于小的图标类图片或者一小段音频剪辑。如果要添加大量的二进制数据。例如照片,一整首歌曲,在数据表中保存该数据的content: URI,然后调用文件URI的ContentResolver.openOutputStream()函数(这会使ContentProvider把数据保存在一个文件里,,把这个文件的路径保存在记录的一个隐含字段中)。就这方面来说,MediaStore Content Provider是分配图像、视频和音频数据的主要的Provider。MediaStore Content Provider采用特殊的规则:用于query() 或 managedQuery()来获取二进制数据的元信息(如照片的标题或者摄制日期)的URI,同样用于openInputStream()来获取二进制数据本身。

类似的,用于insert()函数来把元信息放入MediaStore记录的URI,也用于保存二进制数据本身的 openOutputStream()函数,下面的这段代码展示了这种规则: 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 =

上一页  1 2 3 4 5 6  下一页

Tags:详解 Android content

编辑录入:coldstar [复制链接] [打 印]
赞助商链接