編輯:關於Android編程
在Android中可以通過handler方法完成數據的線程間的傳遞,但一定要將handler得到的數據通過loop傳遞到主線程再更新UI嗎?其實也可以直接使用handler設計的post方法進行實現,handler的post方法是在主線程運行的,可以直接進行UI的更新操作。
MainActivity的代碼
package com.example.e15_handler_post;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Log;
import android.view.Menu;
import android.widget.ImageView;
public class MainActivity extends Activity {
private ImageView imageView;
private Handler myhandler=new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView=(ImageView)this.findViewById(R.id.imageView1);
new MyThread().start();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public class MyThread extends Thread{
byte[] data=new byte[1024];
int len=0;
@Override
public void run() {
// TODO Auto-generated method stub
try {
URL url=new URL("http://111.0.229.223:8080/http/hangzhou.jpg");
try {
HttpURLConnection connection=(HttpURLConnection) url.openConnection();
InputStream inputStream=connection.getInputStream();
ByteArrayOutputStream arrayOutputStream=new ByteArrayOutputStream();
while((len=inputStream.read(data))!=-1){
arrayOutputStream.write(data, 0, len);
}
data=arrayOutputStream.toByteArray();
Log.i("info", "------->"+data.length);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Runnable runnable=new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
Bitmap bm=BitmapFactory.decodeByteArray(data, 0,data.length );
imageView.setImageBitmap(bm);
}
};
myhandler.post(runnable);
}
}
}
Android基於ViewDragHelper仿QQ5.0側滑界面效果
QQ5.0側滑效果實現方案有很多方式,今天我們使用ViewDragHelper來實現一下。先上效果圖:①自定義控件SlidingMenu繼承FrameLayout,放在F
Android官方開發文檔Training系列課程中文版:管理系統UI之隱藏狀態條
這節課將會介紹如何隱藏不同的版本的狀態條。隱藏狀態條可以使內容展示區域更大,因此可以提供一種更強的身臨其境的用戶體驗。含有狀態條的APP:隱藏狀態條的APP,注意這裡的A
學習Android之第八個小程序文件保存(Notification、AndroidTestCase)
效果圖: .java文件有MainActivity.java、FileService.java、FileServiceTest.java, .xml文
Android——Intent總結
Intent組件雖然不是四大組件,但卻是連接四大組件的橋梁,學習好這個知識,也非常的重要。一、什麼是Intent1、Intent的概念:Android中提供了Intent