android - 页面显示andriod系统目录下图片
阿神
阿神 2017-04-17 17:44:08
0
2
477

从服务器下载图片到本地路径,然后在前端展示那个图片,路径这块应该怎么处理?求大神支招啊。

阿神
阿神

闭关修行中......

répondre à tous(2)
Peter_Zhu

1. Créez un dossier pour stocker les images
2. Créez un fichier pour stocker les images
3. Téléchargez des images et écrivez-les dans des fichiers

//一般图片存储在手机SD卡 获取手机的SD卡根目录增加temp的文件夹路径
Environment.getExternalStorageDirectory().getAbsolutePath() + "/temp";

Téléchargez les images et stockez-les dans le code principal local

void doSaveImage(){
        String filePath = FileUtil.getEnvironmentPath();
        Log.i("doSaveImage",filePath + "");
        File fileFloder = new File(filePath);
        if(!fileFloder.exists()){
            if(fileFloder.mkdirs()){
                Log.i("doSaveImage","file.mkdirs"  + " true");
            }else{
                Log.i("doSaveImage","file.mkdirs"  + " false");
                Toast.makeText(this,"save error!",Toast.LENGTH_SHORT).show();
            }
        }
        InputStream in = null;
        OutputStream out = null;
        try {
            Log.i("doSaveImage",AppConst.IMG_HEAD_URL + mUrl);
            URL url = new URL(AppConst.IMG_HEAD_URL + mUrl);
            URLConnection con = url.openConnection();
            con.setConnectTimeout(5*1000);
            int contentLength = con.getContentLength();
            in = con.getInputStream();
            byte[] bytes = new byte[1024];
            File file = new File(fileFloder.getPath(), name +".jpg");
            out = new FileOutputStream(file);
            int len;
            while ((len = in.read(bytes)) != -1){
                Log.i("doSaveImage",len + "");
                out.write(bytes,0,len);
            }
        } catch (Exception  e) {
            e.printStackTrace();
        }finally {
            try{
                if(in != null) in.close();
                if(out != null) out.close();
            }catch (IOException e){
                e.printStackTrace();
            }
        }
    }
洪涛

String path = null;
if (getExternalCacheDir() != null) {//Déterminez si le stockage externe est disponible, c'est-à-dire la carte SD
//S'il y en a, utilisez la carte SD
chemin = contexte .getExternalCacheDir().getAbsolutePath() File.separator;
} else {
//Sinon, il y a la propre mémoire du téléphone
path= context.getCacheDir().getAbsolutePath() File.separator;
}

Ce qui précède écrit uniquement dans le répertoire racine, vous pouvez créer de nouveaux répertoires en fonction de vos besoins

Le contexte de la méthode getExternalCacheDir peut être utilisé directement dans Application, ou getExternalCacheDir peut être appelé directement dans Application

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal