Вопросы по Android Dev для начинающих - Вопросы по конкретным камерам - PullRequest
1 голос
/ 09 марта 2012

Я учусь программировать Android прямо сейчас, и у меня есть несколько вопросов, с которыми, я надеюсь, вы, ребята, сможете мне помочь.

1) если я заставлю свою программу вызвать камеру и сделать еечтобы сделать снимки, и я хочу сохранить эти снимки, где я могу запрограммировать их в магазине?в какой папке?в папке сборки или res?

2) Я хочу также отправить изображения на сервер, но боюсь, что размер изображения будет слишком большим.В любом случае я могу сжать изображение, чтобы оно могло быть меньше, а затем отправить маленькую версию?или в любом случае я могу сделать снимок в низком разрешении / качестве для начала?

Ответы [ 2 ]

1 голос
/ 09 марта 2012

1) Ваше приложение во время выполнения не имеет доступа к изменению папки ресурсов / ресурсов.Вы должны временно записать его в свой каталог ИЛИ сохранить его на SD-карте.

2) Bitmap API имеет возможность сжимать изображения с определенными параметрами.Посетите сайт SDK для получения дополнительной информации.

0 голосов
/ 20 января 2018

1.) Вы можете сохранить эти изображения во внешний каталог или SDCard.

     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);
...