栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

无法将图像保存到SD卡

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

无法将图像保存到SD卡

 Try this works.. import java.io.BufferedInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.net.URL; import java.net.URLConnection; import android.app.Activity; import android.app.Dialog; import android.app.ProgressDialog; import android.content.Context; import android.content.Intent;  import android.net.Uri;  import android.os.AsyncTask;  import android.os.Bundle;  import android.util.Log;  import android.view.View;  import android.view.View.OnClickListener;  import android.widget.Button;  public class main extends Activity {      public static final int DIALOG_DOWNLOAD_PROGRESS = 0;    private Button startBtn;    private ProgressDialog mProgressDialog;        @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        startBtn = (Button)findViewById(R.id.startBtn);        startBtn.setonClickListener(new onClickListener(){ public void onClick(View v) {     startDownload(); }        });    }    private void startDownload() {        String url = "http://farm1.static.flickr.com/114/298125983_0e4bf66782_b.jpg";        new DownloadFileAsync().execute(url);    }    @Override    protected Dialog onCreateDialog(int id) {        switch (id) {        case DIALOG_DOWNLOAD_PROGRESS: mProgressDialog = new ProgressDialog(this); mProgressDialog.setMessage("Downloading file.."); mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); mProgressDialog.setCancelable(false); mProgressDialog.show(); return mProgressDialog;        default: return null;        }    }class DownloadFileAsync extends AsyncTask<String, String, String> {    @Override    protected void onPreExecute() {        super.onPreExecute();        showDialog(DIALOG_DOWNLOAD_PROGRESS);    }    @Override    protected String doInBackground(String... aurl) {        int count;    try {    URL url = new URL(aurl[0]);    URLConnection conexion = url.openConnection();    conexion.connect();    int lenghtOfFile = conexion.getContentLength();    Log.d("ANDRO_ASYNC", "Lenght of file: " + lenghtOfFile);    FileOutputStream obj;    InputStream input = new BufferedInputStream(url.openStream());    //obj=openFileOutput("some_photo_from_gdansk_poland.jpg", Context.MODE_PRIVATE);    String Path="/sdcard/";//"/data/data/com.server/";    OutputStream output = new FileOutputStream(Path+"some_photo_from_gdansk_poland.jpg");//obj    byte data[] = new byte[1024];    long total = 0;        while ((count = input.read(data)) != -1) { total += count; publishProgress(""+(int)((total*100)/lenghtOfFile)); output.write(data, 0, count);        }        output.flush();        output.close();        input.close();    } catch (Exception e) {}    return null;    }    protected void onProgressUpdate(String... progress) {         Log.d("ANDRO_ASYNC",progress[0]);         mProgressDialog.setProgress(Integer.parseInt(progress[0]));    }    @Override    protected void onPostExecute(String unused) {        dismissDialog(DIALOG_DOWNLOAD_PROGRESS);    }}   }  and add android.permission.WRITE_EXTERNAL_STORAGE


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/454872.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号