ndfweb.cn

android studio 定時器操作 實現定時執行相關任務


2021-05-03 18:17:02 (3167)



package ipget.wenzheng.studio.ipget;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast;import com.android.volley.RequestQueue;import com.android.volley.Response;import com.android.volley.VolleyError;import com.android.volley.toolbox.StringRequest;import com.android.volley.toolbox.Volley;import java.util.Date;import java.util.Timer;import java.util.TimerTask;public class VolleyDemoActivity extends AppCompatActivity implements View.OnClickListener {    private Button button;   //初始化按鈕控件    private Button button2;  //初始化按鈕控件    private TextView TextView1; //初始化文本控件    private TextView textView2; //初始化文本控件    private EditText ip;        //初始化編輯框    private TextView yanwu;     //初始化文本控件    private Button stop;    Timer timer = new  Timer();   //定義全局變量   long delay = 2000;    long intevalPeriod = 5* 1000;    TimerTask task = new TimerTask() {        @Override        public void run() {            Message message = new Message();            message.what = 1;            handler.sendMessage(message);        }};    Handler handler = new Handler() {        @Override        public void handleMessage(Message msg) {            // TODO Auto-generated method stub            // 要做的事情            super.handleMessage(msg);            //Toast.makeText(VolleyDemoActivity.this,"ceshi",Toast.LENGTH_SHORT).show();            test();        }    };    @Override    protected void onCreate(Bundle savedInstanceState) {     //直接運行的界麵        super.onCreate(savedInstanceState);        setContentView(R.layout.content_main);  //進入主界麵        initView();   //界麵初始化        initListener();  //初始化監聽    }    private void initListener() {       button.setOnClickListener(new View.OnClickListener() {           @Override           public void onClick(View v) {               //test();               timer.scheduleAtFixedRate(task, delay,intevalPeriod);  //開啟定時器           }       });         //團隊簡介按鈕的單機事件,toast彈出名字        button2.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Toast.makeText(VolleyDemoActivity.this,"團隊成員:金玲,郭殊辰,李學倩",Toast.LENGTH_SHORT).show();            }        });        stop.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                timer.cancel();                task.cancel();            }        });    }    /**     * 初始化控件     * 獲取控件的ID     */    private void initView() {        button2 = (Button) findViewById(R.id.button2);        ip = (EditText) findViewById(R.id.ip);        button = (Button)findViewById(R.id.button);        TextView1 = (TextView) findViewById(R.id.textView1);        textView2 = (TextView) findViewById(R.id.textView2);        yanwu = (TextView) findViewById(R.id.yanwu);        stop = (Button) findViewById(R.id.stop);    }    private void test() {        Toast.makeText(VolleyDemoActivity.this,"正在刷新數據。。。",Toast.LENGTH_SHORT).show();        //創建一個請求隊列        RequestQueue requestQueue = Volley.newRequestQueue(VolleyDemoActivity.this);        //創建一個網絡請求        String url_GET =  ip.getText().toString() ;        //第一個參數為url  第二個參數為  監聽回調,新建即可        StringRequest stringRequest = new StringRequest(url_GET, new Response.Listener<String>() {            //正確接收數據的回調            @Override            public void onResponse(String response) {                //  分解數據                //將從網頁獲取到的數據進行分解,倒序查找的方法進行分解                //取出溫度值                String tval = response.substring(response.length()-19,response.length()-14);                //取出濕度值                String hval = response.substring(response.length()-13,response.length()-8);                //取出煙霧值                String yval = response.substring(response.length()-26,response.length()-20);                //將數據存儲到相應控件中                TextView1.setText(tval);                textView2.setText(hval);                yanwu.setText(yval);            }        }, new Response.ErrorListener() {            //錯誤的監聽回調            @Override            public void onErrorResponse(VolleyError error) {                textView2.setText("加載失敗"+error);            }        });        //將創建的請求添加到隊列中        requestQueue.add(stringRequest);    }    @Override    protected void onStop() {        super.onStop();        //當Activity停止運行後,取消Activity的所有網絡請求        MyApplication.getRequestQueue().cancelAll(VolleyRequestDemo.VOLLEY_TAG);        Log.i("### onStop", "cancel all:tag=" + VolleyRequestDemo.VOLLEY_TAG);    }    @Override    public void onClick(View v) {   //另外一種單擊事件的方法,可以學習一下在下麵判斷ID即可    } }

本文版权:http://www.ndfweb.cn/news-847.html
  NDF俱乐部
  国际域名注册
  建站咨询
简体中文 NDF网站建设淘宝店 | ICO图标在线生成 | 外贸网站建设 | 联系我们
©2007-2025 NDF Corporation 鲁ICP备08005967号 Sitemap - RSSRSS订阅