2016-08-11 57 views
0

我正在开发一个电子商务应用程序。这里我需要在应用程序启动时显示大量产品图像。我在可绘制文件夹中存储了少量产品图像以减少网络使用量。我计划在新产品添加到我的后端产品库存中并将其保存在SQLite数据库中时下载增量产品映像。如何以编程方式从“可绘制”文件夹中删除图像?

在应用程序中,我必须引用两个不同的路径(drawable和SQLite数据库)来获取所有产品图像。

因此,如何在APK生成时或应用程序安装后(在MainActivity的onCreate方法中)将可绘制文件夹中的初始鱼图像移动到SQLite数据库。我还需要在将它移动到SQLite数据库后删除可绘制文件夹中的那些初始图像。

任何建议表示赞赏。先谢谢你。

+2

“我还需要将可移动文件夹中的最初图像移动到SQLite数据库后删除” - 这是不可能的。资源在运行时是只读的。 – CommonsWare

+2

为什么要将drawable移动到数据库中?这是如何解决任何内存限制? –

+0

正如我们在SQLite中所知道的那样,我们可以以二进制格式存储图像,所以这会减少内存使用量。而且我需要存储其他几个与每个图像相关的参数以供我的进一步实现。 –

回答

2

底线是,如果您发送的内容绑定到APK中,它将保持在那里。假设您正计划通过Google Play商店进行分发,那么通过应用更新修改此内容的唯一方法显然非常黑客。所以如果你的目标是放弃最初的可绘制资源,你不能这样做。

我的建议是压缩图像尽可能和只提供一个图像尺寸,你可以在运行时调整,所以使用nodpi绘制资源文件夹(即绘制-nodpi)

另一种方法是下载通过网络的图像。虽然你说你不想这么做,但文件大小可以做得很小,所以大多数情况下下载速度很快,所以除非你确定网络连接对用户来说是一个问题,否则这是一个可行的选择。

+0

谢谢digithree –

相关问题