beyaz ANDROID önceki kitkat Bir sd kartında görüntüyü sorunsuz bir şekilde saklayabildim, şimdi çok zorum.Android Lollipop SD-CARD üzerinde arka planda indirilen görüntüyü kaydetme
Android Lollipop'un yeni bir Access Store Çerçevesinin nasıl kullanıldığını ve bunun benim için yararlı olup olmadığını bilmiyorum.
aşağıda Bu kod Projemin bir parçasıdır ve bu yeni Android ASF kullanmak değiştirmek nasıl mükemmel
private Bitmap getBitmap(String url, String image){
String root = Environment.getExternalStorageDirectory().toString();
root = "/mnt/extSdCard/";
Bitmap bitmap = null;
File f=fileCache.getFile(url);
//from SD cache
bitmap = decodeFile(f);
if(bitmap!=null)
return bitmap;
try{
bitmap = BitmapFactory.decodeFile(root + image);
if(bitmap!=null){
return bitmap;
}
}catch (Exception e) {
e.printStackTrace();
}
//from web
if (netInfo != null && netInfo.isConnectedOrConnecting()) {
Foto foto = new Foto();
try {
try{
foto = new ObjectMapper().readValue(new URL("http://www.xxxxxx.yyyy/project/script.php?id="+url),
Foto.class);
if(foto!=null){
String[] values = image.split("/");
File dir = new File(root + values[0]);
if (!dir.exists()) {
dir.mkdir();
String fname = values[1];
File file = new File (dir, fname);
bitmap = BitmapFactory.decodeByteArray(foto.getFoto(), 0, foto.getFoto().length);
try {
FileOutputStream out = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}else{
String fname = values[1];
File file = new File (dir, fname);
bitmap = BitmapFactory.decodeByteArray(foto.getFoto(), 0, foto.getFoto().length);
try {
FileOutputStream out = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
//bitmap = decodeFile(f);
return bitmap;
}else{
return bitmap;
}
}catch(Exception e){
e.printStackTrace();
return null;
}
} catch (Exception ex){
if (ex instanceof SQLiteConstraintException){
bitmap = BitmapFactory.decodeByteArray(foto.getFoto(), 0, foto.getFoto().length);
return bitmap;
}else{
ex.printStackTrace();
return null;
}
}
}else{
return bitmap;
}
}
çalıştı ??
Environment.getExternalStorageDirectory().getAbsolutePath();
kullanırsam sd-card yolunu alamıyorum. i sdcard yazabiliyordu bu örnekte SAF kullanılarak
Teşekkür
Şu anda karşılaştığınız hata nedir? Kök değerini neden kodlanmış dizeye yeniden atayacaksınız? Bu Environment.getExternalStorageDirectory(). GetAbsolutePath() kullanın; – Stallion
'Environment.getExternalStorageDirectory() işlevini kullanıyorum. GetAbsolutePath(); 'sd-kart yolu –