編輯:關於Android編程
在寫這篇博文的時候,我參與了一個項目的開發,裡面涉及了很多網絡調用相關的問題,我記得我在剛剛開始做android項目的時候,曾經就遇到這個問題,當時在網上搜索了一下,發現了一篇博文,現在與大家分享一下,http://www.open-open.com/lib/view/open1376128628881.html
其實這篇文章的思想是有問題的,因為網絡是需要不斷的輪詢訪問的,所以必須要放在線程中,而不應該直接放在onCreate方法中,我對這段程序進行了一定的修改,將它們放在線程中更新就可以了。
這個事MainActivity.java的代碼:
package com.test.picture; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.widget.ImageView; public class MainActivity extends Activity { private ImageView imageView; private String picturePath = "http://content.52pk.com/files/100623/2230_102437_1_lit.jpg"; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub final Bitmap bitmap = returnBitMap(picturePath); imageView.post(new Runnable() { @Override public void run() { // TODO Auto-generated method stub imageView.setImageBitmap(bitmap); } }); } }).start(); } private Bitmap returnBitMap(String url) { URL myFileUrl = null; Bitmap bitmap = null; try { myFileUrl = new URL(url); } catch (MalformedURLException e) { e.printStackTrace(); } try { HttpURLConnection conn = (HttpURLConnection) myFileUrl .openConnection(); conn.setDoInput(true); conn.connect(); InputStream is = conn.getInputStream(); bitmap = BitmapFactory.decodeStream(is); is.close(); } catch (IOException e) { e.printStackTrace(); } return bitmap; } private void initView() { imageView = (ImageView) findViewById(R.id.picture); } }
我們在MainActivity.java中的onCreate方法中創建了一個新的線程,但是我們也明白不可以在非UI線程中操作用戶界面,那麼我們不可以直接在新的線程中操作UI,所以我們還要將改變post到UI線程中去。
上面的方法運行時沒有問題的,謝謝大家。
相對與視圖動畫 ,屬性動畫(android3.0提出的) 使用條件:完全彌補了View anim System的缺陷,你可以為一個對象的任何屬性添加動畫,(View或者非
首先給大家展示下運行效果圖:由於通訊錄在手機裡是以數據庫貯存的 所以我們可以通過一個方法context.getContentResolver().query(Phone.
一、關系型數據庫SQLIte 每個應用程序都要使用數據,Android應用程序也不例外,Android使用開源的、與操作系統無關的SQL數據庫&
微信公眾號是微信公眾平台下的一個小分支,有信息推廣推送的功能,公眾號每天定時的推送相關文章或者相關活動內容,讓用戶及時了解最新動態!那麼微信公眾號怎麼申請?