• 开启一个线程Thread并用进度条显示进度

    Thread的使用
    服务器君一共花费 18.117 ms 进行了 4 次数据库查询,努力地为您提供了这个页面。
    广告很萌的
    1. Chapter: 从代码角度去认识 Thread
      1. 1. 开启一个线程Thread并用进度条显示进度

    线程 Thread 是 Java 和 Android 的一个重要概念,这里我们先撇开一些概念性的东西,用代码来看看如何使用线程

    还是接前面的例子,我们在 PaintingActivity 里面做一个按钮,点击按钮开启一个线程去加载下一幅的图片,目前我们就不做加载图片,取而代之的是,我们就弄一个进度条吧。

    PaintingActivity :

    private Button btn_next;
    private ProgressBar pgb;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    	// TODO Auto-generated method stub
    	super.onCreate(savedInstanceState);
    	setContentView(R.layout.painting);
    	
    	btn_next = (Button)findViewById(R.id.btn_loadnext);
    	pgb = (ProgressBar)findViewById(R.id.loading_progress);
    	
    	btn_next.setOnClickListener(new ButtonListener());
    }
    
    class ButtonListener implements OnClickListener{
    
    	@Override
    	public void onClick(View v) {
    		// TODO Auto-generated method stub
    		if( v.getId() == R.id.btn_loadnext){
    			//startActivity(intent);
    			Thread t = new LoadPicThread();
    			t.start();
    		}
    	}
    	
    }
    
    class LoadPicThread extends Thread{
    	public void run(){
    		for(int i = 0; i <= 100; i++){
    			try {
    				Thread.sleep(20);
    			} catch (InterruptedException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    			pgb.setProgress(pgb.getProgress() + 1);
    		}
    	}
    }
    

    painting.xml

    <ProgressBar 
    	android:id="@+id/loading_progress"
    	android:layout_width="match_parent"
    	android:layout_height="wrap_content"
    	style="?android:attr/progressBarStyleHorizontal"
    	/>
    
    <Button
    	android:id="@+id/btn_loadnext"
    	android:layout_width="match_parent"
    	android:layout_height="wrap_content"
    	android:layout_below="@+id/loading_progress"
    	android:text="NextPic" />
    

    代码写得很简单直观,这里就不多解释了,程序运行结果:

更多 推荐条目

Welcome to NowaMagic Academy!

现代魔法 推荐于 2013-02-27 10:23   

本章最新发布
随机专题
  1. [数据库技术] SQL基础语法 1 个条目
  2. [移动开发] Activity 初步知识 2 个条目
  3. [移动开发] Android里的ContentValues 2 个条目
  4. [数据结构] 散列表(哈希表) 13 个条目
  5. [PHP程序设计] PHP数组的遍历 7 个条目
  6. [Python程序设计] Tornado 服务器环境配置 3 个条目
  7. [Python程序设计] Django数据库模型 6 个条目
  8. [运维管理] 防火墙原理与应用 5 个条目
  9. [数据结构] 图的定义 1 个条目
  10. [PHP程序设计] PHP数组探索 4 个条目
  11. [软件工程与项目管理] 浏览器与CSS渲染技巧 2 个条目
  12. [移动开发] 从代码角度去认识 Handler 4 个条目
窗口 -- [资讯]