我正在学习安卓程序,我只是有几个问题,我希望你们可以帮助我。
1)如果我让我的程序调用相机并使其能够拍照并且我想存储这些图片,我在哪里制作商店程序呢?在什么文件夹?在assest或res文件夹中?
2)我想将图像发送到服务器,但我担心图像尺寸会变大。无论如何我可以压缩图像,以便它可以更小,然后发送小版本?或者无论如何我可以从低分辨率/质量开始拍照?
答案 0 :(得分:1)
1)您的应用程序在运行时无权更改resources / assets文件夹。您应该将它临时写入您的目录,或者您应该将其存储在Sdcard上。
2)Bitmap API能够在给定特定参数的情况下压缩图像。查看SDK站点以获取更多信息。
答案 1 :(得分:0)
1。)您可以将这些图像存储到外部目录或SD卡。
String rootDir = Environment.getExternalStorageDirectory()
+ File.separator + "nameofyourfolder";
File rootFile = new File(rootDir);
rootFile.mkdir();
URL url = new URL(fileURL);
File newFile=new File(rootFile,fileName);
newFile.createNewFile();
FileOutputStream f = new FileOutputStream(newFile);
InputStream in = url.openConnection().getInputStream();
byte[] buffer = new byte[1024];
int len1 = 0;
while ((len1 = in.read(buffer)) > 0) {
f.write(buffer, 0, len1);
}
f.close();
2.。)您可以压缩图像大小:
int nh = (int) ( bitmap.getHeight() * (512.0 / bitmap.getWidth()) );
bitmap = Bitmap.createScaledBitmap(bitmap,512,nh,true);