如何为Android实现自定义设备照片库?

Bor*_*vić 7 android gridview gallery android-intent

我正在开发包含基本图库功能的Android应用程序.我已经设法构建从我的应用程序后端API获取照片列表的活动,并在活动布局中的android gridview中呈现它们.

这就是目前的样子:
替代文字

但是,我很难为用户的相机拍摄并存储在设备上的设备照片构建相同的图库体验.我考虑的两个解决方案是:

  1. 建立自己的图库.
  2. 使用intent启动默认的android图库.

解决方案1:我相信第一个解决方案将花费我太多时间来开发.我从这个教程开始,但是一旦我实现它,我发现它运行得太慢了.然后我看看android相机源代码找到解决方案,但我又发现我需要花费太多时间来审查代码并从头开始构建自己的库.我还认为,重写已经存在的功能,但使用Intents来启动可以处理所需操作的活动,不是Android OS理念.这引出了我的第二个解决方案.

解决方案2:我尝试使用intent来调用默认的android库,以便很快再次卡住浏览用户的设备照片.这次问题是,一旦用户点击照片,画廊退出并返回原始启动它的活动,我期望(并且我想)开始大型图像预览.我看到其他人也有这个问题如何通过意图打开画廊而没有结果.因为我没有找到解决方案,所以我决定退出.

我的问题是如何克服这些问题,并建立类似于我已经拥有的网络照片的画廊.如果有人能给我参考,我会非常感激.

Lau*_*yer 1

这个问题已经很老了,但是,由于它有很多观点和很多赞成票,所以最好给出一个答案。

因此,首先教程进行了一些改进,您可以为您的#1选项找到一些很酷的东西:

  • 是我比较喜欢的一款
  • 这个使用了已弃用的 UI 元素,但也很酷
  • 使用了适配器,对我来说,这是最好的方法。

对于您的#2选项,我不认为有任何不返回原始活动的想法,因为您仍然无法控制通过系统发送的意图的结果。

但是还有另一个您没有提到的解决方案:有一些非常酷的库,您可以对其进行自定义以获得您想要的:

  • 这个有点花哨
  • 这个似乎也很酷,但导入它可能会遇到问题,因为它不是一个 gradle 项目
  • 是我肯定会使用的。