1. 程式人生 > >Android中使用ImageView控制元件顯示網路圖片

Android中使用ImageView控制元件顯示網路圖片

在android4.0以後的版本中,為了使得主介面流暢,所以設定了不允許在主執行緒中訪問網路,為了安全,又不允許在其它執行緒中訪問控制元件,這樣就造成了ImageView等需要使用網路的控制元件更新時的問題,本文以Handler+Runnable的方式實現了ImageView控制元件顯示網路圖片.



在android4.0之後,如果在主執行緒中訪問網路,會報一個android.os.networkonmainthreadexception的異常.因為在ui執行緒中訪問網路的話,就要等待網路傳輸完成,期間就會阻塞執行緒,使介面卡住.


為了訪問網路資源,可以開啟一個執行緒,非同步載入.但這個新執行緒又不具有更新控制元件的能力,所以就需要一箇中間人來完成ui執行緒和網路執行緒的聯絡,本文使用的是訊息機制,網路執行緒傳送一個訊息,ui執行緒中收到後執行相應工作.

package com.example.netimage;   import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL;   import android.os.Bundle; import android.os.Handler; import android.os.Message;
import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.EditText; import
android.widget.ImageView;   public class MainActivity extends Activity {            private Button b;      private EditText et;      public ImageView iv;        @Override      protected void onCreate(Bundle savedInstanceState) {          super .onCreate(savedInstanceState);          setContentView(R.layout.activity_main);                    b = (Button) this .findViewById(R.id.button1);          b.setOnClickListener( new ButtonOnClickListener());                    iv = (ImageView) this .findViewById(R.id.imageView1);          et = (EditText)

相關推薦

Android使用ImageView控制元件顯示網路圖片

在android4.0以後的版本中,為了使得主介面流暢,所以設定了不允許在主執行緒中訪問網路,為了安全,又不允許在其它執行緒中訪問控制元件,這樣就造成了ImageView等需要使用網路的控制元件更新時的問題,本文以Handler+Runnable的方式實現了ImageView控制元件顯示網路圖片.

MFCpicture控制元件顯示圖片

1.開啟BMP圖片 CBitmap* m_pBitmap = new CBitmap; m_pBitmap->LoadBitmap(IDB_BITMAP1);   2.第一種方式,用CDC顯示 CDC *pDC = GetDlgItem(IDC_AAAA)->Ge

SOUI使用img控制元件顯示jpg圖片的方法

1.標頭檔案 #include "../../controls.extend/FileHelper.h" #include <GdiPlus.h> #pragma comment(lib,"gdiplus")   2.建立控制元件 SImageWnd* m_pI

Android通過Picasso來載入網路圖片,並通過ListView顯示出來。

在使用之前需要將Picasso的jar包匯入。 MainActivity程式碼: import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.o

Android自定義控制元件之區域性圖片放大鏡--BiggerView

零、前言: 本文的知識點一覽 1.自定義控制元件及自定義屬性的寫法,你也將對onMesure有更深的認識 2.關於bitmap的簡單處理,及canvas區域裁剪 3.本文會實現兩個自定義控制元件:FitImageView(圖片自適應)和BiggerView(放大鏡),前者為後者作為鋪墊。 4.最後會

Android獲取控制元件尺寸的時機

在Android開發的時候,我們通常要獲取控制元件的大小。在activity中獲取控制元件的大小,onCreate()方法獲取到的值往往是0,是因為在系統執行該方法的時候,控制元件還沒有繪製完成。而在activity獲取或失去焦點的時候會呼叫一個onWindowFocusCh

ScrollView頂部控制元件顯示不完整

問題原因: 當在ScrollView中巢狀GridView,ListView控制元件的時候,這些控制元件會搶佔ScrollView的焦點,導致內容不能正常的顯示。 解決辦法: 將ScrollView內部控制元件失去焦點。 gridV

Android設定控制元件可見與不可見

第一種    gone         表示不可見並且不佔用空間 第二種    visible       表示可見 第三種    invisible    表示不可見但是佔用空間 可見與不可見的表現形式有兩種。 在佈局檔案中: [html]view plaincopyprint? andr

AndroidEditText控制元件的幾種使用方法

       2. MultiAutoCompleteTextView是AutoCompleteTextView的子類,它是對AutoCompleteTextView的擴充套件,但是你必須提供一個 MultiAutoCompleteTextView.Tokenizer來區分不同的字串,通過使用這個方法:set

MFC實現picture控制元件顯示jpg圖片檔案

void CMFC_display_opencvDlg::OnBnClickedOk() { // TODO: 在此新增控制元件通知處理程式程式碼 //CDialogEx::OnOK()

androidListView控制元件最簡單的用法

建立一個活動,在xml檔案中新增一個ListView控制元件,id定義為list1,並且設定為滿屏顯示,程式碼如下: <ListView android:id="@+id/list1" android:layout_width="wrap_conten

MFCrichedit控制元件插入BMP圖片

1在對話方塊中拉入一個RichEdit控制元件。為它關聯一個控制元件值 CRichEditCtrl m_rch; 2加入2個頭檔案 #include <afxole.h> #include <richole.h> 3在對話方塊中,新增成員函式

androidRecyclerView控制元件的使用

1、RecyclerView控制元件不在標準的庫裡面,需要先引入,引入比較簡單,點選控制元件右邊的下載按鈕即可   2、先新增一個新聞實體類,用來為新聞列表提供資料,news.java: package com.example.chenrui.common; public cl

androidRecyclerView控制元件的列表項橫向排列

本文是在上一篇文章的基礎上做的修改:android中RecyclerView控制元件的使用 1、修改列表項news_item.xml: <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.Const

mfc picture控制元件顯示png圖片

onpaint函式裡新增程式: CClientDC *pDC = new CClientDC(GetDlgItem(IDC_LIGHT));CRect rect;GetDlgItem(IDC_LIGH

Android第三方控制元件PhotoView的基本使用

PhotoView的簡介:這是一個圖片檢視庫,實現圖片瀏覽功能,支援pinch(捏合)手勢或者點選放大縮小。支援在ViewPager中翻頁瀏覽圖片。 PhotoView 是一款擴充套件自Android ImageView ,支援通過單點/多點觸控來進行圖片縮放的智慧控制

AndroidTextView控制元件的singleLine廢棄解決

在Android中想實現TextView的單行顯示,很簡單的一個方法是TextView中的singleLine設定為True即可,當文字內容超過單行的時候,就會在該行行尾部新增三個省略號代替。 顯示

AndroidDatePicker控制元件用法解析

關於DatePicker這個控制元件的解析有以下幾點: 1、首先是顯示問題,在Android 3.0系統以後使用DatePicker控制元件會出現一堆和日期相關的介面,比如下圖: 有沒有發現,如果使用

Android獲取控制元件的位置

getLocationOnScree:計算該檢視在全域性座標系中的x,y值,(注意這個值是要從螢幕頂端算起,也就是索包括了通知欄的高度)//獲取在當前螢幕內的絕對座標 getLocationInWindow :計算該檢視在它所在的widnow的座標x,y值,//獲取在整個視

Android日曆控制元件的使用

一.概述 因為專案中要用到選擇日期的功能,所以特此來研究一下相關方面的知識,總結一下,也為了以後使用起來更加方便。 二.介紹 Android中自帶了兩個控制元件,DatePicker和TimePicker,分別用來選擇日期和時間的,我們看看如何使用。