zoukankan      html  css  js  c++  java
  • Async的简单应用

    package com.ct.myasync;
    
    import java.util.ArrayList;
    
    import org.apache.http.conn.ManagedClientConnection;
    
    import android.app.ListActivity;
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.os.SystemClock;
    import android.util.Log;
    import android.view.Menu;
    import android.widget.ArrayAdapter;
    import android.widget.Toast;
    
    public class MainActivity extends ListActivity{
        //这里是List Item内容,在这个例子中,将在后台任务中逐个加入
        private static String[] items={"lorem", "ipsum", "dolor","sit", 
            "amet", "consectetuer","adipiscing", "elit", "morbi","vel", 
            "ligula", "vitae","arcu", "aliquet", "mollis","etiam", "vel", 
            "erat","placerat", "ante","porttitor", "sodales","pellentesque", 
            "augue","purus"};
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            setListAdapter(new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1,new ArrayList<String>()));
            new AsyncAddStringTask().execute();
        }
        
        private class AsyncAddStringTask extends AsyncTask<Void, String, Void>{
            private void printInfo(String info){
                Log.i("WEI", info + " : Tread is " + Thread.currentThread().getName());
            }
            
            @Override
            protected void onPostExecute(Void result) {
                // TODO Auto-generated method stub
                printInfo("ct test-------------->onPostExecute ");
                Toast.makeText(MainActivity.this, "onPostExecute", Toast.LENGTH_LONG).show();
            }
    
            @Override
            protected void onPreExecute() {
                // TODO Auto-generated method stub
                printInfo("ct test-------------->onPreExecute ");
            
            }
    
            @Override
            protected void onProgressUpdate(String... values) {
                // TODO Auto-generated method stub
                printInfo("ct test-------------->onProgressUpdate "+values[0]);
                ((ArrayAdapter<String>)getListAdapter()).add(values[0]);
            }
    
            @Override
            protected Void doInBackground(Void... params) {
                // TODO Auto-generated method stub
                for(String item:items){
                    publishProgress(item);
                    printInfo("ct test-------------->doInBackground ");
                    SystemClock.sleep(100);
                }
                return null;
            }
            
        }
    
        @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;
        }
    
    }
  • 相关阅读:
    Oracle不常用SQL
    C# xml 读xml、写xml、Xpath、Xml to Linq、xml添加节点 xml修改节点
    Oracle常见错误:ORA-06550、ORA-00911、ORA-02085
    IIS设置允许跨域
    npm和yarn 切换为国内镜像(淘宝镜像)
    Wordpress 所有 hook 钩子
    【C#】WPF多线程登录需求中报错 “调用线程无法访问对象,因为另一个线程拥有该对象“
    【C#】 WPF 中WebBrowser拖动来移动窗口,改变窗口位置
    【Java】Hibernate一级缓存测试分析
    javac编译单文件、多文件引入jar包、-cp解决无法加载主类问题
  • 原文地址:https://www.cnblogs.com/ct732003684/p/2953103.html
Copyright © 2011-2022 走看看