android studio 定时器操作 实现定时执行相关任务
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即可 }
}
android studio 定时器操作 实现定时执行相关任务的更多相关文章
- android studio定时器
1.超时 CountDownTimer第一个参数超时时间,第二个参数多久执行一次onTick(), 到达设定的超时时间执行onFinsh(),cancel取消超时计数,start重新开始(从零开始). ...
- Android Studio 本地化操作
1.打开 string.xml 文件,在右上角,点 open-editor 2.点左上角的“地球”图标,就会弹出选择国家列表,输入zh会自动筛选,能很快选到中国简体中文 3.选择后,会在原来的列表中添 ...
- android studio sqlite操作代码片段
SQLiteDatabase db;Cursor cur; SimpleCursorAdapter adapter; // 打开或创建数据库db = openOrCreateDatabase(DB ...
- 在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"
面向对象:曾经使用过SVN的同学. (因为Git 它 可以说是双重的SVN (本地一个服务器,远程一个服务器)),提交代码要有两次步骤,先提交到本地服务器,再把本地服务器在提交到远程服务器. 所以连S ...
- 昼猫笔记 JavaScript -- 异步执行 | 定时器真的定时执行?
本篇主要内容:异步.定时器引发的思考 预计阅读时间:8分钟 了解 我们都知道在js中定时器有两种 setInterval() . setTimeout() setInterval() :按 ...
- tensorflow lite的demo在android studio上环境搭建
由于很久没有接触过Android开发,而且最早用的是eclipse,所以这个demo在android studio上的搭建过程,真的是踩了不少坑.记录这篇文章,纯粹是给自己一点收获. 环境搭建的过程, ...
- 第二章:Android Studio概述(二)[学习Android Studio汉化教程]
The Main Menu Bar 主菜单栏 主菜单栏位于Android Studio的最上面,你几乎可以利用主菜单和其子菜单来执行任何操作.不像Android Studio中其他的一些菜单,主菜单 ...
- [osx] android studio下修改avd的hosts文件
1. 启动avd 安装/启动avd就不说啦,可以直接在android studio里面操作的 2. 进入adb目录 当然是打开终端来敲命令啦. cd /Users/birdylee/Library/A ...
- [Learn Android Studio 汉化教程]第四章 : Refactoring Code
[Learn Android Studio 汉化教程]第四章 : Refactoring Code 第四章 Refactoring Code 重构代码 在Android Studio中开发,解决 ...
随机推荐
- 解决IE浏览器部分版本不支持background-size属性问题
background-size是CSS3新增的属性,现在有很多浏览器都支持CSS3了.但是IE浏览器有些版本还是不支持,比如IE8,IE9也有些CSS3的属性会支持,但是有些也不支持.在这里就了解一下 ...
- golang copy函数
数组切片内容复制 转自:http://studygolang.com/articles/4560 用于将内容从一个数组切片复制到另一个数组切片.如果加入的两个数组切片不一样大,就会按其中较小的那个数组 ...
- CodeForces-607B:Zuma (基础区间DP)
Genos recently installed the game Zuma on his phone. In Zuma there exists a line of n gemstones, the ...
- POJ1474:Video Surveillance(求多边形的核)(占位)
A friend of yours has taken the job of security officer at the Star-Buy Company, a famous depart- me ...
- 【POJ 2406】 Power Strings
[题目链接] 点击打开链接 [算法] KMP 如果字符串中存在循环节,则next[len] = (循环节个数 - 1) * 循环节长度 循环节个数 = len / (len - next[len]) ...
- 怎么解决Failed to load the JNI shared library
怎么解决Failed to load the JNIshared library 解决Failed to load the JNIshared library唯一的方法就是重新安装eclipse, ...
- 初识NDA
领导要签署保密协议,全是英文,叫我来翻译一下,这样便接触到了NDA,翻译过程中遇到不少问题,既然接触到了,还是多查查资料了解一下,以备以后的不时之需. NDA 全称 Non Disclosure Ag ...
- iOS---UICollectionView Class Reference---UICollectionView 类参考文档
UICollectionView 类: Inherits from UIScrollView : UIView : UIResponder : NSObject Conforms to NSCodin ...
- centos7搭建rsync
两台主机(centos7): 172.16.0.109 server 172.16.0.106 client 一.在172.16.0.109上 yum -y install rsync #安装 mkd ...
- C++笔试题(三)
普天是南京一家通信公司,全称为:南京普天通信股份有限公司,公司网址为:http://www.postel.com.cn 网上流传一套普天C++笔试题,我将我做的答案公布与此,仅供参考. 1.实现双向链 ...