recherche

Maison  >  Questions et réponses  >  le corps du texte

android - 页面显示andriod系统目录下图片

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

阿神阿神2889 Il y a quelques jours481

répondre à tous(2)je répondrai

  • 天蓬老师

    天蓬老师2017-04-17 17:46:08

    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();
                }
            }
        }

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-17 17:46:08

    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

    répondre
    0
  • Annulerrépondre