android和java没什么区别,基本通用

解决方案 »

  1.   

    以前是搞c++的,多线程的机制了解一点,也写过一些多成程序
    现在写android,写一个拷贝文件的程序,拷贝进度在一个进度条上展示出来,了解的话应该不算什么,我想找个程序先运行一起来,然后照样子做一个,主要想图个快啊
      

  2.   

    ProcessDialog结合Thread处理耗时操作
      

  3.   

    我手头有个自己写的小demoimport android.app.Activity;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Looper;
    import android.os.Message;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;// Log.d("Seker", "");
    public class MainActivity extends Activity implements Button.OnClickListener{
        private Button button00, button01, button02;
        public Handler mHandler;
            
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);        setContentView(R.layout.main);
            
            button00 = (Button)findViewById(R.id.Button00);
            button00.setOnClickListener(this);
            
            button01 = (Button)findViewById(R.id.Button01);
            button01.setOnClickListener(this);
            
            button02 = (Button)findViewById(R.id.Button02);
            button02.setOnClickListener(this);
            button02.setVisibility(View.INVISIBLE);
            
            mHandler = new Handler(){
                public void handleMessage(Message msg){
                    int what = msg.what;
                    int arg1 = msg.arg1;
                    int arg2 = msg.arg2;
                    
                    Log.d("Seker", "MainActivity: \twhat: " + what + "\t arg1: " + arg1 + "\t arg2: " + arg2);
                }
            };
        }    @Override
        public void onClick(View v) {
            int id = v.getId();
            switch (id){
            case R.id.Button00:
                onButton00Clicked();
                break;
            case R.id.Button01:
                onButton01Clicked();
                break;
            case R.id.Button02:
                onButton02Clicked();
                break;
            }
        }
        
        private void onButton00Clicked(){
            TestThread testthread = new TestThread();
            testthread.run();
            Log.d("Seker", "button1 clicked, create test thread.");
        }
        
        private void onButton01Clicked(){
            Message message = new Message();
            message.what = 0;
            message.arg1 = 0;
            message.arg2 = 0;
            mHandler.sendMessage(message);
            
            Log.d("Seker", "button1 clicked, send message 0, 0, 0.");
        }
        
        private void onButton02Clicked(){
            Message message = new Message();
            message.what = 2;
            message.arg1  =2;
            message.arg2 = 2;
            mHandler.sendMessage(message);
            
            Log.d("Seker", "button2 clicked, send message 2, 2, 2.");
        }
        
        public class TestThread extends Thread{
            public Handler m_Handler;
            @Override
            public void run() {
                Log.d("Seker", "TestThread.run()");
                //Looper.prepare();
                
                m_Handler = new MyHandler(Looper.myLooper());
                
                Log.d("Seker", "TestThread.send 100 messages.");
                for (int i = 1; i < 100; i ++){
                    Message message = new Message();
                    message.what = i;
                    message.arg1  =i;
                    message.arg2 = i;
                    m_Handler.sendMessage(message);
                    
                    Message message2 = new Message();
                    message2.what = i;
                    message2.arg1  =i;
                    message2.arg2 = i;
                    mHandler.sendMessage(message2);
                }
                
                Looper.loop();
            }
        }
        
        public class MyHandler extends Handler {
            public MyHandler(Looper looper){
                   super(looper);
            }        @Override
            public void handleMessage(Message msg) {
                int what = msg.what;
                int arg1 = msg.arg1;
                int arg2 = msg.arg2;
                
                Log.d("Seker", "TestThread: \twhat: " + what + "\t arg1: " + arg1 + "\t arg2: " + arg2);
            }
        }
    }