我想知道存储本地电话联系人图标的最佳方式是什么。我正在编写一个管理器,它允许用户选择要在现在需要联系人图标显示的列表中显示的联系人。
将图标存储在选择工作的不同位置,还是我应该尝试存储图标位置并以这种方式链接到它的路径?任何经历过这个的人都可以指出我正确的方向吗?我已经在使用 Sqlite 数据库来存储联系人。
任何代码/链接都会非常有帮助。
最佳答案
由于您已经将联系人存储在 Sqlite 数据库中,我只需向该数据库添加另一个字段来保存编码图像。
我解决类似问题的方法是:我使用了 Base64用于将图像编码为字符串,然后将该字符串存储在我想要的任何位置...
我在Base64类中添加了一个函数,直接为我编码一个Bitmap对象并返回一个String,代码如下:
public static String encodeBitmap(Bitmap bmp) {
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] buf = stream.toByteArray();
return encodeBytes(buf);
}
其中 encodeBytes(buffer)
已经是 Base64 类的一个实现函数。
这比存储图片路径更好,因为用户可以轻松更改路径,然后您的应用程序将无法再找到图片。
希望对您有所帮助。
关于android - 安卓联系人图标存储技巧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6270086/