我的图像存储在文档根目录中,图像路径(字符串)保存在数据库中。数据库中的每个项目都与一个imagePath
. 接下来是将这些图像传输到 Android Sd 卡。
困境:
1)我有一个将图像文件转换为base64的php脚本,然后与项目详细信息一起存储在一个Json对象中。转换后,base64字符串将再次转换(使用java) 为图像并保存到sd卡。此外,在这种方法中,我可以轻松地将图像路径存储在 sqlite 中,因为它直接与项目相关联。
$type = pathinfo($row["imagePath"], PATHINFO_EXTENSION);
JSONParser jParser = new JSONParser();
for (int i = 0; i < products.length(); i++) {
// individually get each arrays
JSONObject c = products.getJSONObject(i);
{// Save Main Groups Images in SD CARD
byte[] decodedString = Base64.decode(
c.getString(TAG_IMAGE_NAME),
Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory
.decodeByteArray(decodedString, 0,
decodedString.length);
}
2)第二种方法是直接将图像路径(未转换)保存为json,然后java处理图像的下载,然后将其保存到sd卡以及图像路径的sqlite。
URL url = new URL(_url);
URLConnection connection = url.openConnection();
connection.connect();
InputStream input = new BufferedInputStream(url.openStream());
我想要第一种方法,因为有很多过程,它很酷,但我担心应用程序的性能我认为 app. 2更好。将文件保存到 sd 卡并确保 sd 卡中的图像路径存储在 sqlite 中的有效方法是什么?