Mein Ziel ist:Get Arraylist von Bilddateiobjekt von Arraylist von URL in android
- benötigt wie Bildpfad von api Anruf in URL-Zeichenfolge zu erhalten: "http://serverpath.com/projectname/images/imagename.png"
- Need Bildpfad senden API-Aufruf im Dateiobjekt. Also nehme ich nur ArrayList.
Ich sollte Bildpfad in Bildansicht zeigen, wenn es in Dateiobjekt konvertiert wird.
ich mit einigen Lösungen mit unterschiedlichem Dateiobjekt versuchen sind:
File f=null;
URL url = new URL(info4Model.getExternal_photos().get(position).getImage_path());
try {
// f = new File(url.toURI());//java.lang.IllegalArgumentException: Expected file scheme in URI:
//f = new File(url.getPath());// not showing file object in imageview
//f = new File(url.getFile());// not showing file object in imageview
f = getFileFromBitmap(info4Model.getExternal_photos().get(position).getImage_path());
//android.os.NetworkOnMainThreadException , AsyncTask option left only?
} catch (Exception e) {
}
///////////////////////////////////
public static Bitmap getBitmapFromURL(String url) {
try {
URL url1 = new URL(url);
HttpURLConnection connection = (HttpURLConnection) url1.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap bitmapFrmUrl = BitmapFactory.decodeStream(input);
return bitmapFrmUrl;
} catch (IOException e) {
e.printStackTrace();
return null;
}catch (Exception e){
e.printStackTrace();
return null;
}
}
File getFileFromBitmap(String url) {
Bitmap bmp = getBitmapFromURL(url);
SimpleDateFormat simpleDateFormat =
new SimpleDateFormat("MMddhhmmss");
String dateAsString = simpleDateFormat.format(new Date());
File filesDir = getActivity().getFilesDir();
File imageFile = new File(filesDir, dateAsString + ".png");
OutputStream os;
try {
os = new FileOutputStream(imageFile);
bmp.compress(Bitmap.CompressFormat.PNG, 100, os);
os.flush();
os.close();
} catch (Exception e) {
e.printStackTrace();
}
return imageFile;
}
Hier alle Dateiobjekte Fehler führen in den Kommentaren nach der Anweisung zeigen.
Danke, aber alle Objekte haben kommentierte Ergebnisse, wie Sie sehen können. Also meine Frage, um von all diesen niemandem ein einziges File-Objekt zu bekommen, funktioniert. –
Sie müssen eine einzige Modellklasse kisten und dann alle Werte in Modell und Modell in ArrayList einfügen ...! –