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;
        }
    
    }
  • 相关阅读:
    Spring-boot 项目中使用 jackson 遇到的一个问题
    Spring Cloud 简介
    VSCode配置JAVA开发环境
    Smtp错误码
    Git遇到的问题
    对于static静态
    面向对象
    类与对象的概念
    java执行过程
    nacos安装部署
  • 原文地址:https://www.cnblogs.com/ct732003684/p/2953103.html
Copyright © 2011-2022 走看看