zoukankan      html  css  js  c++  java
  • AsyncTask

    package com.example.testinvokewebservice;
    
    import android.os.AsyncTask;
    import android.widget.TextView;
    
    import com.model.ParamsModel;
    public class DownloadAsyncTask extends AsyncTask<ParamsModel, Integer, String>{
    
        public TextView view;
        private int i=0;
        @Override
        protected String doInBackground(ParamsModel... params) {
            // TODO Auto-generated method stub
            i = params[0].getiStart();
            for(int i1=0;i1<100;i1++)
            {
                i++;
                try {
                    Thread.sleep(1000);
                    publishProgress(i);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
            }
            return Integer.toString(i);
        }
    
        /* (non-Javadoc)
         * @see android.os.AsyncTask#onPreExecute()
         */
        @Override
        protected void onPreExecute() {
            // TODO Auto-generated method stub
            view.setText("正准备执行后台操作");
        }
    
        /* (non-Javadoc)
         * @see android.os.AsyncTask#onPostExecute(java.lang.Object)
         */
        @Override
        protected void onPostExecute(String result) {
            // TODO Auto-generated method stub
            view.setText("执行后台操作完成,i的结果是:"+result);
        }
    
        /* (non-Javadoc)
         * @see android.os.AsyncTask#onProgressUpdate(java.lang.Object[])
         */
        @Override
        protected void onProgressUpdate(Integer... values) {
            // TODO Auto-generated method stub
            //如果直接是  view.setText(values[0]) 会出错呢。。 这个地方很奇怪
            view.setText(values[0] + "");
        }
    }
    package com.example.testinvokewebservice;
    
    import com.model.ParamsModel;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;
    
    public class MainActivity extends Activity {
        
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            Button btn= (Button)findViewById(R.id.btnLogin);
            btn.setOnClickListener(new View.OnClickListener() {
                
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    EditText editText = (EditText)findViewById(R.id.editText);
                    String strValue = editText.getText().toString();
                    
                    TextView view = (TextView)findViewById(R.id.textView);
                    ParamsModel model = new ParamsModel();
                    model.setiStart(Integer.valueOf(strValue));
                    DownloadAsyncTask download = new DownloadAsyncTask();
                    download.view = view;
                    download.execute(model);
                }
            });
        }
    }
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="com.example.testinvokewebservice.MainActivity" >
    
        <EditText 
            android:id="@+id/editText"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:hint="请输入初始数字:"
            />
        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    
        <Button
            android:id="@+id/btnLogin"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="195dp"
            android:gravity="center_vertical"
            android:text="调用WebService" />
    
    </RelativeLayout>
  • 相关阅读:
    用户体验的时间尺度
    ibatis的xml中的dtd问题
    ASP.NET AJAX调用服务
    C#打包安装与卸载
    学习 WCF (6)学习调用WCF服务的各种方法
    C#.NET ActiveX控件的制作
    如何使用C#开发“类ActiveX组件”
    Asp.Net框架下WebService和Remoting的区别
    今天打开网站,突然发现sql 2005出现错误:数据库 'mybase_db' 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。
    VS部署中的ProductCode问题
  • 原文地址:https://www.cnblogs.com/niuge/p/4577010.html
Copyright © 2011-2022 走看看