竹木人

----------------隐感存理,去伪存真,做个安分的守候者

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

包结构:

  com.XXXX.loading

    xxxxLoading.java

  com.XXXX.main

    xxxxMain.java

handle<更多参考该大牛,冒昧链接,若不愿,望告知!>作用:

比如一个应用程序启动的时候会启动一个主线程,用于对UI事件的响应,而我们如果将读取网络数据或者本地数据也写在主线程,如果5秒没有将数据

读取完成,就会出现界面假死,提示退出程序,这样一来,我们就得把这些耗时的程序写到一个子线程里,因子线程涉及UI更新,所以主线程就不安全了,

这样由于handle是跑在主线程里的,它可以通过POST等方式通过发送消息<Message>与子线程通信,这样可以达到安全的UI更新。

我们没用sleep等方法做延迟就是因为这些方法会阻塞线程,用handle进行此类实践处理是安全的!

 


public class xxxxLoading extends Activity{
private final int SPLASH_DISPLAY_LENGHT = 2000;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.loading);
//loadingImage=(ImageView) findViewById(R.id.loadingImage);
//loadingImage.setImageResource(R.drawable.background);
//xxxx请自行替换成你自己的activity前缀
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent intent
= new Intent(xxxxLoading.this, xxxxMain.class);
xxxxLoading.
this.startActivity(intent);
//overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
xxxxLoading.this.finish();
}

}, SPLASH_DISPLAY_LENGHT);

}
 

当然两个Acvity都得在AndroidManifest.xml里面注册,另外在AndroidManifest.xml设置全屏图片<无标题栏>如下:

android:theme="@android:style/Theme.NoTitleBar"
posted on 2012-06-04 23:25  竹木人  阅读(1231)  评论(0编辑  收藏  举报