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中开发,解决 ...
随机推荐
- css3某些特性
在下列情况下,建议使用opacity属性而不是rgba()函数 1.实现多种颜色(元素)的半透明效果.使用opacity属性,不仅背景颜色,就连文本颜色.边框颜色都会变透明. 2.在不知道颜色的情况下 ...
- Ubuntu安装mycli,让mysql命令行可以自动提示
安装mycli 1.确保有安装python 2.确保有安装pip 3.进入su模式,以管理员身份安装 4.安装 pip install -U mycli 5.登录 mycli -u root 很好很强 ...
- 计算机科学 —— 时间戳(timestamp)
时间戳的一个重要属性即是:唯一性,以起到唯一标识的作用: 1. linux 命令行 $ date +%s 1506222745 2. Python 时间戳 内置 time 库 >> tim ...
- CodeForces161D: Distance in Tree(树分治)
A tree is a connected graph that doesn't contain any cycles. The distance between two vertices of a ...
- BZOJ_4423_[AMPPZ2013]Bytehattan_对偶图+并查集
BZOJ_4423_[AMPPZ2013]Bytehattan_对偶图+并查集 Description 比特哈顿镇有n*n个格点,形成了一个网格图.一开始整张图是完整的. 有k次操作,每次会删掉图中的 ...
- NOIP2003题解
传送门 考查题型 搜索 字符串 模拟 dp T1 神经网络 题目背景 人工神经网络(Artificial Neural Network)是一种新兴的具有自我学习能力的计算系统,在模式识别.函数逼近及贷 ...
- 【前端】Nodejs给没有引号的json数据添加引号
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/node_json.html 我们经常会遇到一些json数据需要放到json文件中,然后动态加载的场景. 但是也经常 ...
- bzoj 2083 Intelligence test —— 思路+vector
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2083 先把所有子序列都存下来,总长度应该有限制,所以用 vector 存: 要做到 O(n) ...
- scrollerView 滚动的时候改变 scrollerView 的背景色代码
要实现点击电池条的时候立即回到页面的顶部的时候注意: 只有当一个主控制器有一个scrollview 并把这个属性设置为yes,其他的scrollview.scrollsToTop = NO 这样才会响 ...
- BZOJ1787 meet
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1787 水题,但是结论很有趣. 题目求的是距离三个点之和最小的点. 这个很显然是在三个LCA上, ...