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() { public void run() { Message message = new Message(); message.what = 1; handler.sendMessage(message); }}; Handler handler = new Handler() { public void handleMessage(Message msg) { // TODO Auto-generated method stub // 要做的事情 super.handleMessage(msg); //Toast.makeText(VolleyDemoActivity.this,"ceshi",Toast.LENGTH_SHORT).show(); test(); } }; protected void onCreate(Bundle savedInstanceState) { //直接運行的界麵 super.onCreate(savedInstanceState); setContentView(R.layout.content_main); //進入主界麵 initView(); //界麵初始化 initListener(); //初始化監聽 } private void initListener() { button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //test(); timer.scheduleAtFixedRate(task, delay,intevalPeriod); //開啟定時器 } }); //團隊簡介按鈕的單機事件,toast彈出名字 button2.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Toast.makeText(VolleyDemoActivity.this,"團隊成員:金玲,郭殊辰,李學倩",Toast.LENGTH_SHORT).show(); } }); stop.setOnClickListener(new View.OnClickListener() { 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>() { //正確接收數據的回調 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() { //錯誤的監聽回調 public void onErrorResponse(VolleyError error) { textView2.setText("加載失敗"+error); } }); //將創建的請求添加到隊列中 requestQueue.add(stringRequest); } protected void onStop() { super.onStop(); //當Activity停止運行後,取消Activity的所有網絡請求 MyApplication.getRequestQueue().cancelAll(VolleyRequestDemo.VOLLEY_TAG); Log.i("### onStop", "cancel all:tag=" + VolleyRequestDemo.VOLLEY_TAG); } public void onClick(View v) { //另外一種單擊事件的方法,可以學習一下在下麵判斷ID即可 } }
本文版权:http://www.ndfweb.cn/news-847.html