Может кто-нибудь дать мне руку. Как я могу использовать образец ниже, используя AsyncTask, а не блок Try.Как изменить загрузчик изображений Android в AsyncTask
Поскольку я просто хочу загрузить изображение из веб-хранилища в SD и получить возвращаемый сохраненный путь, чтобы я мог загрузить его на образ.
Я пользуюсь библиотекой https://github.com/Bearded-Hen/Android-Bootstrap У меня есть Circle Thumbnails ImageView. Я могу изменить изображение этого вида, используя изображение ящика. Вот почему я пытаюсь сохранить изображение первой затем загрузить на этот обычай ImageView
String filepath = "";
try
{
URL url = new URL("http://d3sdoylwcs36el.cloudfront.net/VEN-virtual-enterprise-network-business-opportunities-small-fish_id799929_size485.jpg");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setDoOutput(true);
urlConnection.connect();
File SDCardRoot = Environment.getExternalStorageDirectory().getAbsoluteFile();
String filename="downloadedFile.png";
Log.i("Local filename:",""+filename);
File file = new File(SDCardRoot,filename);
if(file.createNewFile())
{
file.createNewFile();
}
FileOutputStream fileOutput = new FileOutputStream(file);
InputStream inputStream = urlConnection.getInputStream();
int totalSize = urlConnection.getContentLength();
int downloadedSize = 0;
byte[] buffer = new byte[1024];
int bufferLength = 0;
while ((bufferLength = inputStream.read(buffer)) > 0)
{
fileOutput.write(buffer, 0, bufferLength);
downloadedSize += bufferLength;
Log.i("Progress:","downloadedSize:"+downloadedSize+"totalSize:"+ totalSize) ;
}
fileOutput.close();
if(downloadedSize==totalSize) filepath=file.getPath();
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch (IOException e)
{
filepath=null;
e.printStackTrace();
}
Log.e(TAG, "''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''");
Log.i("filepath:"," "+filepath) ;
//return filepath;
я получаю значение NULL для FilePath
использовать выше код в doInBackground() метода asynctask –
какая проблема вы получаете с помощью опубликованного кода? –
Я бы очень хотел предложить использование открытого исходного кода для загрузки и отображения изображений в 'ImageView'. Отъезд Пикассо: https://github.com/square/picasso –