Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 從網絡獲取圖片保存到SD卡中

Android 從網絡獲取圖片保存到SD卡中

編輯:關於Android編程

今天做分享功能時,需要把分享的圖片保存在SD中,不是本地。把代碼分享一下,後面會附上Demo

1.要把圖片緩存到SD卡中,需要獲取寫入數據的權限和創建刪除文件的權限,另處,要獲取網絡,需要從獲取上網根限

 


    
    

2.就是正式代碼了。需要開一個異步任務請求網絡

 

 

class MyImageAsync extends AsyncTask{

		@Override
		protected String doInBackground(String... params) {
			HttpClient httpClient = new DefaultHttpClient();
			HttpGet httpGet = new HttpGet(params[0]);
			try {
				HttpResponse response = httpClient.execute(httpGet);
				if(response.getStatusLine().getStatusCode() == 200){
					HttpEntity entity = response.getEntity();
					InputStream is = entity.getContent();
					 
				        File f = new File(myJpgPath);  
				        f.createNewFile();  
				        FileOutputStream fos = null;  
				        try {  
				            fos = new FileOutputStream(f);  
				            byte[] buf=new byte[1024];
							int length;
							while((length=is.read(buf))!=-1){
								fos.write(buf, 0, length);
							}
							
							is.close();
							fos.close();
				        } catch (FileNotFoundException e) {  
				            e.printStackTrace();  
				        }  
				        try {  
				            fos.flush();  
				            fos.close();  
				        } catch (IOException e) {  
				            e.printStackTrace();  
				        } 
				}
			} catch (ClientProtocolException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			return null;
		}

最後我們只需要去調用這個異步任務就可以了。

 

 

String url = http://ww3.sinaimg.cn/bmiddle/6e91531djw1e8l3c7wo7xj20f00qo755.jpg;
	String myJpgPath = Environment.getExternalStorageDirectory()+/pepper/ + test.png; 
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		new MyImageAsync().execute(url);
	}

至此,整個功能就已經完成了,最後保存的圖片會在SD卡中,/pepper/ test.png路徑下。 

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved