Android從Internet獲取圖片並儲存到快取
public class MainActivity extends AppCompatActivity { private Button button; private File file; private String path; private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { switch (msg.what){ case 0: ImageView iv= (ImageView) findViewById(R.id.imageView); iv.setImageBitmap((Bitmap) msg.obj); Toast.makeText(MainActivity.this,"從網路獲取圖片",Toast.LENGTH_LONG).show(); break; case 1: Toast.makeText(MainActivity.this,"獲取圖片失敗",Toast.LENGTH_LONG).show(); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button= (Button) findViewById(R.id.button); } public void click(View view) { path= "http://192.168.3.2:8080/hehe.jpg"; file = new File(getCacheDir(), getFileName(path)); if (file.exists()) { Bitmap bm= BitmapFactory.decodeFile(file.getAbsolutePath()); ImageView iv= (ImageView) findViewById(R.id.imageView); iv.setImageBitmap(bm); Toast.makeText(MainActivity.this,"快取的圖片",Toast.LENGTH_LONG).show(); } else { new Thread() { @Override public void run() { //設定網路路徑 //設定URL try { URL url = new URL(path); //獲取網路連線物件 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); //初設連線設定,請求方式,讀取超時,連線超時 conn.setRequestMethod("GET"); conn.setReadTimeout(5000); conn.setConnectTimeout(5000); //開啟連線 conn.connect(); //連線成功 if (conn.getResponseCode() == 200) { //獲取輸入流物件,此時請求的為一個圖片物件 InputStream is = conn.getInputStream(); //儲存檔案到快取 //建立檔案 FileOutputStream fos = new FileOutputStream(file); int lens = 0; byte[] bytes = new byte[1024]; while ((lens = is.read(bytes)) != -1) { fos.write(bytes, 0, lens); } fos.close(); Bitmap bm= BitmapFactory.decodeFile(file.getAbsolutePath()); //利用訊息處理機制傳送給主執行緒,請求更新UI Message ms = handler.obtainMessage(); ms.obj=bm; ms.what = 0; handler.sendMessage(ms); } else { Message ms = handler.obtainMessage(); ms.what = 1; handler.sendMessage(ms); } } catch (IOException e) { e.printStackTrace(); } } }.start(); } } public String getFileName(String path){ int index=path.lastIndexOf("/"); return path.substring(index+1); } }
三.佈局檔案
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context="study.com.cacheinternet.MainActivity"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button" android:onClick="click" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true"/> <ImageView android:layout_width="200dp" android:layout_height="200dp" android:id="@+id/imageView" android:layout_centerVertical="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true"/> </RelativeLayout>四.在配置檔案中新增訪問網路的許可權
<uses-permission android:name="android.permission.INTERNET"/>
相關推薦
Android從Internet獲取圖片並儲存到快取
public class MainActivity extends AppCompatActivity { private Button button; private File file; private String path; private Handler hand
android從網路獲取圖片並顯示和儲存
如何不斷獲取圖片並顯示出來,達到視訊的效果。 程式碼: <span style="font-size:12px;">publicclass GetPictureFromInternetActivity extends Activity { p
Android 相機拍照獲取圖片並儲存到指定位置。
public void takePhone(View view) { if (ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.WRITE_EXT
從URL獲取圖片並保存到本地
pos ons ring file timeout str oca pan load /// <summary> /// HttpWebRequest Property /// </summary&g
使用Android系統呼叫裁剪圖片並儲存
順序:開啟圖片--->獲取圖片Uri或者Bitmap--->開啟系統裁剪框--->獲得裁剪後的圖片的Uri或者Bitmap。1.單純開啟相簿選擇圖片Intent intent = ne
android 通過uri獲取圖片並根據限制大小讀取圖片的方法
uri = data.getData();BitmapFactory.Options options =newBitmapFactory.Options(); options.inJustDecodeBounds =true;try{Bitm
從網路獲取圖片並載入到ImageView
佈局檔案:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:la
Java從網路讀取圖片並儲存至本地
一、js程式碼: 程式碼如下: /** * 點選下載當前圖片 * */ &
跨域獲取圖片並自行上傳儲存
跨域獲取圖片並自行上傳儲存 涉及點: 跨域 CORS 協議 為什麼使用cors,不使用jsonp?因為cors更強大,方便安全,還不需要修改大量的前後端資料格式,只需修改伺服器配置引數,與請求引數。 想要跨域獲取資料與資源,必須由對方伺服器開啟
Android下載網路圖片並儲存在本地相簿中
package com.thfund.bigtree.StarCounselor.activity; import android.content.Context; import android.content.Intent; import android.grap
Java 從網頁指定url獲取圖片並壓縮到本地
執行平臺: windows10 JDK版本: 1.8 IDE: eclipse 一. 知識儲備 Java IO流 : 推薦部落格: Java IO詳解 本文用到的IO方法: DataInputStream; BufferedInputStream; FileO
Android下載網路圖片並儲存到相簿
下載類,可以url下載到相簿,記得在清單加許可權,6.0程式碼動態加許可權判斷,下載圖片要在子執行緒中下載,下載完後廣播更新相簿 在清單檔案裡面新增許可權: <!--網路--> <uses-permission android:name="android
Android 實現拍照,選擇圖片並剪下儲存
專案中有一個實現圖片的剪下功能和APP“酷站”的點選中間“+”字元,進行圖片選擇到最後剪下功能;“微信”選擇圖片並剪下類似 ,由於測試的模擬器中沒有圖片,所以把參考資料上圖片截下來展示下: 查了一些參考資料,使用的而並不是Android系統的圖片剪下方法,而是UCrop庫
Java實現頭像擷取裁剪後圖片儲存,獲取的是base64資料,怎麼轉換為圖片並儲存到資料庫。並讀取出來。
Java實現頭像拖拽擷取裁剪後圖片儲存,獲取的是base64資料,base64資料轉換為圖片後存入到資料庫。並讀取出來。 1.操作過程效果截圖: 點選編輯頭像進入頭像上傳頁面 頭像上傳頁面 點選選擇圖片,選擇需要上傳的圖片進行拖拽裁剪 裁剪後的
Android從本地選擇檔案並判斷檔案型別並獲取選到檔案大小的方法
最近有一個android選擇本地檔案的並判斷檔案型別的需求 首先要選擇檔案通過點選事件進入到檔案列表 這裡是瀏覽所有的檔案。用到的是startActivityForResult Intent intent = new Intent(Intent.ACTION_GET_CO
android 從matrix獲取處理過的圖片的實際寬度
很顯然的,這麼做費力不討好。效率不高。。。。。開始我以為這個坑爹的matrix的作者比較腦殘。既然沒有做出直接能拿當前圖片座標的方法。那應該也沒有想過會記錄圖片的變化吧。。可是後來我發現我錯了。。。。寫這段程式的人就是個學數學的購幣。。。。。。
Android拍照和從相簿獲取圖片(解決android7.0開啟相機崩潰的問題),同時也解決了拍完照後圖片方向不正的問題
再android7.0中相機操作需要動態申請許可權,在點選開啟相機按鈕時要先判斷許可權,沒有許可權要申請,有許可權再操作,同時在申請許可權的回撥方法中也要判斷是否有許可權,有許可權的話再呼叫開啟相機的方法 package test.img.com.myim
Android呼叫系統圖庫和相機獲取圖片並裁剪
最近用到從系統圖庫和相機獲取圖片並裁剪當頭像,根據郭霖大神的第一行程式碼呼叫相機和圖冊,來進行擴充套件和總結。 1、獲取許可權 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORA
JavaScript從剪下板中獲取圖片並在游標處插入
edit_content_text.addEventListener('paste', function (ev) { var clipboardData, items, item; console.log(ev.clipboardData.items[0].type) if (ev &am
獲取上傳的圖片並儲存為縮圖,解決gif背景變黑問題
{ //所有格式的圖片都可用,不是GIF格式的可以認為是隻有一幀GIF圖片 image.SelectActiveFrame( ImgFrmDim, i );//選擇圖片第幾幀 System.IO.