`
wen742538485
  • 浏览: 228556 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

定时到服务器取数据并刷新

    博客分类:
  • java
阅读更多
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class Test extends Activity implements Runnable{
    /** Called when the activity is first created. */
        private Button btn_get = null;
        private Button btn_post = null;
        private TextView tv_rp = null;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        btn_get = (Button) this.findViewById(R.id.Button01);
        btn_post = (Button) this.findViewById(R.id.Button02);
        tv_rp = (TextView) this.findViewById(R.id.TextView);
        btn_get.setOnClickListener(new Button.OnClickListener(){

                        public void onClick(View v) {
                                // TODO Auto-generated method stub
                                String httpUrl = "http://192.168.0.132:8080/Android/httpreq.jsp?par=request-get";
                                HttpGet request = new HttpGet(httpUrl);
                                HttpClient httpClient = new DefaultHttpClient();
                                try {
                                        HttpResponse response = httpClient.execute(request);
                                        if(response.getStatusLine().getStatusCode()==HttpStatus.SC_OK){
                                                String str = EntityUtils.toString(response.getEntity());
                                                tv_rp.setText(str);
                                        }else{
                                                tv_rp.setText("请求错误");
                                        }
                                } catch (ClientProtocolException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();       
                                } catch (IOException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                }
                        }
               
        });
        btn_post.setOnClickListener(new Button.OnClickListener(){

                        public void onClick(View v) {
                                // TODO Auto-generated method stub
                                String httpUrl = "http://192.168.0.132:8080/Android/httpreq.jsp";
                                HttpPost request = new HttpPost(httpUrl);
                                List<namevaluepair> params = new ArrayList<namevaluepair>();
                                params.add(new BasicNameValuePair("par","request-post"));
                                try {
                                        HttpEntity entity = new UrlEncodedFormEntity(params, "UTF-8");
                                        request.setEntity(entity);
                                        HttpClient client = new DefaultHttpClient();
                                        HttpResponse response = client.execute(request);
                                        if(response.getStatusLine().getStatusCode()==HttpStatus.SC_OK){
                                                String str = EntityUtils.toString(response.getEntity());
                                                tv_rp.setText(str);
                                        }else{
                                                tv_rp.setText("请求错误");
                                        }
                                } catch (UnsupportedEncodingException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                } catch (ClientProtocolException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                } catch (IOException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                }
                        }
               
        });
        new Thread(this).start();
    }
    public void refresh(){
            String httpUrl = "http://192.168.0.132:8080/Android/httpreq.jsp";
            try {
                        URL url = new URL(httpUrl);
                        HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
                        urlConn.connect();
                        InputStream input = urlConn.getInputStream();
                        InputStreamReader inputreader = new InputStreamReader(input);
                        BufferedReader reader = new BufferedReader(inputreader);
                        String str = null;
                        StringBuffer sb = new StringBuffer();
                        while((str = reader.readLine())!= null){
                                sb.append(str).append("\n");
                        }
                        if(sb != null){
                                tv_rp.setText(sb.toString());
                        }else{
                                tv_rp.setText("NULL");
                        }
                        reader.close();
                        inputreader.close();
                        input.close();
                        reader = null;
                        inputreader = null;
                        input = null;
                } catch (MalformedURLException e) {
                        e.printStackTrace();
                } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
    }
    public Handler handler = new Handler(){
            public void handleMessage(Message msg){
                    super.handleMessage(msg);
                    refresh();
            }
    };
        public void run() {
                // TODO Auto-generated method stub
                while(true){
                        try {
                                Thread.sleep(1000);
                                handler.sendMessage(handler.obtainMessage());
                        } catch (InterruptedException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }
                }
        }
}

</namevaluepair></namevaluepair>
分享到:
评论

相关推荐

    shell脚本将Oracle服务器中数据定时增量刷新到ftp服务器中

    主要介绍了shell脚本将Oracle服务器中数据定时增量刷新到ftp服务器中,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下

    c语言实现http服务器浏览器实时刷新数据

    c语言实现http服务器,浏览器页面上实时刷新服务器的数据

    定时更新服务器缓存信息

    定时更新服务器缓存信息,一些大网站在运行一段时间后将无法运行,这时运行此代码可以清聆除缓存,使网站正常运行。

    java定时从ftp服务器更新相关文件

    远程ftp服务器会更新某目录下的一些文件,本地服务器需要定时下载这些更新后的文件 由最后修改时间判断该文件是不是最新的,然后下载更新的文件,这样可避免重复下载。 有jar包,有实例,完整可运行实例

    C++基于边缘采集的智能网关系统源码,Modbus和M0模拟两种工业场景,边缘计算处理本地数据,上传到服务器

    C++基于边缘采集的智能网关系统源码,Modbus和M0模拟两种工业场景,边缘计算处理本地数据,上传到服务器 基础功能 支持家居设备(M0)及工业设备(用modbus slave模拟)数据采集和远程控制\n 提供用户界面操作 网关...

    Android中使用的定时针(刷新页面请求服务器)详解

    我要在程序中用到5秒请求一下数据(不建议大家这样做,我的需求是这样) 代码展示: 1.在OnCreate中创建定时针Timer //每5秒请求一次服务器 timer=new Timer(); timer.scheduleAtFixedRate(new TimerTask() { @...

    C#实现MQTT连接服务器.zip

    MQTT连接服务器,定时发布车间信息,收到服务器车间信息请求后,也可以发布车间信息。定时采集机床数据,在界面刷新显示,并通过MQTT按照工厂设备id数据的格式发布至服务器。云端可查看设备状态数据。

    使用Easyui实现查询条件的后端传递并自动刷新表格的两种方法

    通过ajax的post函数传递参数并通过loadData方法将数据初始化到表格中 js代码(搜索按钮的点击事件部分): $(#standardQueryBtn).click(function(){//点击搜索按钮的触发事件 if($(#offerid).val() != ){//判断id...

    Bootstrap Table实现定时刷新数据的方法

    1、毁掉表格,再查询数据后append,如果你查大量的数据(例如:查询很多渠道的信息),而获取服务器数据又太慢,你就会看到表格在一行一行的增加 •定时器,多长时间执行一次,自己定义,此处是30S setInterval...

    PHP定时执行任务的3种方法详解

    3、让web浏览器定时刷新 具体实现 1、windows计划任务 PHP很少在win服务器上跑,具体实现也不再深究,看网上实现的原理大概是写bat脚本,然后让window任务添加执行这个bat脚本。 2、linux 的脚本实现 这里主要使用...

    网络数据安全.pptx

    数据备份与恢复 备份服务器的选择: 可根据备份的数据量、要求的备份速度以及备份服务器所采用的操作系统来决定选型,它可以从PC机到大型服务器、小型机不等。 网络备份软件的选择: 现在比较有影响力的网络备份...

    C#服务器推技术(http长连接)的应用实例

    2.不再定时不断请求Http请求,降低服务器资源消耗,可参考Taobao核心系统团队博客《http长连接200万尝试及调优》; 3.TX微博等很多应用均采用服务器推技术,你还在用Ajax? 网上关于服务器推技术的文章多,但关于.net...

    Android 广播、服务、对话框直接交互demo

    移动端定时访问服务器,获取到数据后通过广播把数据传递给广播接收器,然后弹出对话框

    C#开发经验技巧宝典

    0419 页面定时刷新后跳转到其他页 233 0420 打开新的窗口并传送参数 233 0421 动态显示用户头像 233 0422 利用Pannel控件显示和隐藏一组控件 233 0423 如何在GridView控件上添加删除确认 234 0424 如何为...

    聊天室chatroom_code

    聊天室基本原理是,抛开OGI和WWW服务器,根据HTML规范,接收到浏览器的请求以后,模仿WWW服务器的响应,将聊天内容发回浏览器。在浏览器看来就像浏览一... 不需要定时刷新,减少屏幕的闪烁,减少对服务器的请求次数。

    有一个很好的asp聊天室系统

     不需要定时刷新,减少屏幕的闪烁,减少对服务器的请求次数。  ----下面我们来看看具体实现流程。  一、 聊天服务器实现流程  ----用户数据输入都是通过URL传送,下面是几个URL实例,结合后面客户端流程,可以更...

    Socket-Chart.rar

    运用C#编写通过TCP打开服务器监控客户端发来的数据,将数据以图表的形态进行动态显示,运用chart控件定时器刷新界面显示.等待客服端传输的数据解析后存储进入队列中,定时刷新数据.

    一个php股票小网站股票实时显示系统

    本程序是一个股票实时显示系统 a.服务器端 是用php 写成 ,数据...e.ajax的后台数据传输到前台的过程使用了JSON 协议来封装 f.本程序支持可配置,切割图片的数量,和图片刷新间隔 ,都可以在config.xml 这个文件里面配置

    WebSocket的简单介绍及应用

    对此,一般的做法是用setTimeout()或setInverval()定时执行任务,任务内容是Ajax访问一次服务器,并在成功拿到返回数据后去更新页面。 这种定时刷新的做法会有这样一些感觉不足的地方: 频繁的定时网络请求对浏览器...

Global site tag (gtag.js) - Google Analytics