ndfweb.cn

android studio 定时器操作 实现定时执行相关任务


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


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网站建设淘宝店 | 实用工具 | 外貿網站建設 | 联系我们
鲁公网安备 37110202000336号 鲁ICP备2021027697号-1 Sitemap - RSSRSS订阅