是否可以在Android上阅读和写入图库? 我希望能够获得库中所有图像的列表,并将这些图像存储到服务器上。我还希望能够从服务器下载图像并将其保存到图库中。这可能吗?
我似乎无法找到这样做的API,所以如果你能指出我正确的方向会很棒!谢谢!
答案 0 :(得分:2)
您可以使用ContentResolver.query()
方法从图库中读取。例如:
Cursor c = getContentResolver().query( Images.Media.EXTERNAL_CONTENT_URI, IMAGES_PROJECTION, null, null, Images.Media.DEFAULT_SORT_ORDER );
这将为您提供数据库中所有照片的Cursor
。 IMAGES_PROJECTION
是您有兴趣从中获取值的String[]
列。这些列列在Images.ImageColumns
。
要获取图库中每个图像的Bitmap
,您需要获取光标中每行的_ID
值,然后调用它:
Images.Media.getBitmap( getContentResolver(), Uri.withAppendedPath( Images.Media.EXTERNAL_CONTENT_URI, Integer.toString( id ) ) );
要写入内容数据库,您可以使用:
Images.Media.insertImage( getContentResolver(), bitmap, title, description );
插入视频需要更多参与。如果您需要示例代码,请告诉我,我也可以为您解决此问题。