Мне нужно добавить новую функциональность в мое приложение. Я должен хранить много изображений JPG из Интернета в телефоне.
Если в телефоне есть sdcard, файлы JPG должны храниться на sdcard. В противном случае они должны храниться во внутренней памяти, только если на телефоне есть место для этого.
Тогда я должен сделать следующее:
- Проверьте, есть ли у телефона SDCARD. Если есть, SDCARD dir - это судьба, если нет, ВНУТРЕННЯЯ ПАМЯТЬ - это судьба.
- Проверьте, есть ли в телефоне место для хранения фотографий.
- Если есть место, сохраните фотографии в каталоге под названием
/Magazine/
Я знаю, как получить файл JPG из Интернета и как преобразовать его в BITMAP, но это единственное, что я знаю, я не знаю, как сохранить его как JPG, и я не знаю других вещей.
public static Bitmap getRemoteBitmap(String url) {
Bitmap bm=null;
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response;
try {
((AbstractHttpClient) httpclient).getCredentialsProvider().setCredentials(
new org.apache.http.auth.AuthScope(null,-1),
new org.apache.http.auth.UsernamePasswordCredentials(MagazineStatus._username, MagazineStatus._password));
response = httpclient.execute(new HttpGet(url));
StatusLine statusLine = response.getStatusLine();
if(statusLine.getStatusCode() == HttpStatus.SC_OK) {
try {
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
bm=BitmapFactory.decodeStream(content );
}catch(Exception ex) {Log.e("DBF Error",ex.toString());}
}else {
response.getEntity().getContent().close();
throw new IOException(statusLine.getReasonPhrase());
}
}catch(ClientProtocolException cpe) {Log.e("ClientProtocolException @ at FPT",cpe.toString());} catch(Exception ex) {Log.e("Exception at FETCHPROJECTASK",ex.toString());}
return bm;
}
Я ищу в Google, как делать то, что мне нужно, но я не могу найти какую-либо четкую информацию, я предпочитаю спросить вас, как сделать это наилучшим, оптимальным способом.
1021 * БЛАГОДАРЯ *