【问题标题】:Android Parcelable or Serializable or SQLlite in case of saving photos with extra information?Android Parcelable vs Serializable 或 SQLite 以防保存带有额外信息的照片?
【发布时间】:2014-04-13 16:09:46
【问题描述】:

我正在实现一个 Andrdoid 应用程序,它只是存储图像和有关它们的信息。

private String rootDirectory;
private String fotoname;
private Bitmap mPhoto; //this is not serializing!
private ArrayList<Tag> tags;
private File file;
private int size;
private Bitmap thumbnail;
private String extraInfo;
private Bitmap icon;
private boolean isChecked;

我尝试了序列化,但速度很慢。一开始我只是将照片保存到Android手机上,阅读起来很快。然后我意识到我需要很多关于照片的信息。然后我想我写了一个文本文件来保存有关照片的信息,但是在删除等情况下,更新所有内容的阅读 ja 非常混乱。我真的是移动编码的初学者,可能有最好的解决方案,你能告诉我这种应用程序的最佳解决方案是什么吗?

谢谢! 萨米人

【问题讨论】:

    标签: android performance sqlite serialization parcelable


    【解决方案1】:

    由于图像是相当大的对象,我建议您使用 Android 的图像内容提供程序。看一看:http://developer.android.com/reference/android/provider/MediaStore.Images.Media.html

    这解决了存储图片的问题。您可以在本地 SQL 数据库中保留的其他信息:http://developer.android.com/training/basics/data-storage/databases.html

    那是关于存储的。关于快速读取操作,您必须提供一些代理。您可以实现一个具有 LRUCache 成员的类,用于在内存中存储图片和简单的地图/列表/任何带有文本数据的对象。

    【讨论】:

    • 感谢您的评论!我以你的方式处理这个问题,所以我首先将照片保存到 SD,然后将数据插入 SQLLite。我只有两个表,图片和类别(pictureId 是 FK)。我应该如何插入这两个表,首先是图片表,然后是类别表?交易?现在我正在插入图片,然后使用pictureId 进行分类。听起来不错?
    猜你喜欢
    • 2019-01-11
    • 2019-03-24
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    • 2011-04-22
    • 2012-03-08
    • 2018-06-25
    • 1970-01-01
    相关资源
    最近更新 更多