`
wen742538485
  • 浏览: 237674 次
  • 性别: 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>
分享到:
评论

相关推荐

    Ajax实现定时刷新,获取后台数据实现技术

    它通过在后台与服务器交换数据并更新部分网页内容,提高了用户体验,使得网页更加动态和响应迅速。本篇文章将深入探讨如何利用Ajax实现定时刷新,以便实时获取后台数据。 一、Ajax基础 1. XMLHttpRequest对象:...

    asp_net中如何定时刷新数据

    本篇文章将详细介绍几种常用的在ASP.NET中实现定时刷新数据的方法,并通过具体示例来帮助理解。 #### 1. 使用ASP.NET AJAX中的Timer控件 在ASP.NET AJAX中,`Timer` 控件是一种非常有效的工具,用于实现页面的部分...

    Ajax定时刷新局部页面

    Ajax 局部刷新的基本原理是通过 JavaScript 发送 XMLHttpRequest 请求到服务器,服务器处理请求后返回数据,然后客户端根据这些数据更新页面的相应部分。 #### 三、定时刷新功能实现 定时刷新是指按照预设的时间...

    定时局部刷新table

    局部刷新的关键在于使用Ajax技术向服务器发送请求并获取最新的数据。在`reFresh()`函数中,通过`sendPostRequest`函数发送异步POST请求到服务器端的`listJobLogAjax.action`接口。 ```javascript function reFresh...

    Ajax无刷新实现定时更新数据

    为了解决这一问题,Ajax(Asynchronous JavaScript and XML)技术应运而生,它允许网页在不重新加载整个页面的情况下异步地与服务器交换数据并更新部分网页内容,从而实现了网页的无刷新更新。 #### 一、理解Ajax无...

    JQUERY AJAX定时操作服务器数据

    **jQuery AJAX 定时操作服务器数据** 在Web开发中,我们经常需要实现客户端与服务器之间的实时通信,例如轮询更新数据、发送心跳包等。jQuery的AJAX功能为我们提供了便捷的方式来实现这一目标。本篇文章将深入讲解...

    页面刷新 定时刷新 设置刷新

    在网页浏览过程中,有时我们需要对页面进行定时刷新以获取最新的数据或者查看动态更新的信息。页面刷新功能是一项常用且实用的工具,尤其对于那些实时性要求较高的应用,如股票报价、天气预报、新闻网站等。本篇文章...

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

    总之,这个项目展示了如何用C语言从零开始构建一个简单的HTTP服务器,并实现浏览器页面的实时数据刷新。这个过程中涵盖了网络编程、HTTP协议的理解、数据处理以及多线程编程等多个关键知识点。通过实践这个项目,...

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

    本篇文章将详细讲解如何使用shell脚本来实现Oracle服务器中的数据定时增量刷新到FTP服务器的过程,这对于系统的实时性与数据一致性有着至关重要的作用。 首先,我们需要理解整个流程的核心组成部分: 1. **Oracle...

    一个无刷新效果定时自动更新页面的例子

    1. **创建XMLHttpRequest对象**:这是Ajax的核心,用于发送异步请求到服务器并接收响应。 ```javascript function createXmlHttpRequest() { if (window.XMLHttpRequest) { XmlHttp = new XMLHttpRequest(); ...

    【原创】苦苦寻找的: ajax 定时读取数据,无刷新在页面显示

    本篇原创文章将探讨如何利用Ajax实现定时读取服务器数据,并在页面上无刷新地展示这些数据。 【描述】: 虽然描述为空,但从标题可以推测,该文章可能涉及的是一个实际的示例,即使用Ajax来定期从MySQL数据库中...

    C#定时刷新访问网页工具源码

    【C#定时刷新访问网页工具源码】是一个基于C#编程语言和WPF(Windows Presentation Foundation)框架开发的应用程序,其主要功能是周期性地自动访问用户设定的网页URL,以便进行实时数据监控或者自动化信息获取。...

    定时刷新网页软件

    1. 配置合适的刷新间隔:根据网页内容的更新速度和自身需求,合理设置刷新频率,防止过于频繁的刷新导致网页加载缓慢或服务器压力过大。 2. 监控网络状况:尽管软件有网络故障恢复机制,但用户仍需关注网络连接,...

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

    为了确保数据刷新的效率和用户体验,需要注意以下几点: - **异步请求**:使用 `async: true` 参数确保 AJAX 请求是非阻塞的,这样在等待服务器响应期间,用户界面仍然可交互。 - **超时设置**:设置合适的超时时间...

    Web界面数据动态刷新示例

    数据动态刷新通常通过Ajax(异步JavaScript和XML)技术实现,它允许Web应用程序在不重新加载整个页面的情况下与服务器交换数据并更新部分页面内容。在Ext.NET中,我们可以使用Ajax请求来定期从服务器获取新的数据,...

    定时更新服务器缓存信息

    然而,随着网站流量的增长以及数据的变化,如果不及时更新缓存中的数据,可能会导致用户访问到过期的信息,甚至引发一些更严重的问题,比如资源冲突或者数据不一致等。 #### 缓存管理的重要性 对于大型网站而言,...

    实现网页自动定时刷新到某个页面

    ### 实现网页自动定时刷新到某个页面 在现代网页开发中,有时为了保持信息的实时性和准确性,开发者可能会采用自动定时刷新技术来确保用户能够获取最新的数据或状态。本篇文章将详细探讨如何通过HTML元信息标签`...

    定时刷新页面小程序

    【定时刷新页面小程序】是一种网页应用,主要用于实时同步页面中的数据,提高用户体验。在Web开发中,有时我们需要确保用户看到的信息是最新的,特别是在处理实时数据如股票行情、天气预报或者在线聊天室等场景。该...

    定时刷新在一定时间需要处理的数据示例

    1. **Linux Cron**: 在服务器端,可以使用Cron job来设置周期性的数据刷新任务。Cron是一个强大的计划任务工具,可以按分钟、小时、日期等不同粒度设定任务执行时间。 2. **Java Timer/TimerTask**: 对于Java开发者...

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

    Java定时从FTP服务器更新相关文件是一项常见的任务,特别是在自动化数据同步和备份的场景中。这里主要涉及的技术点包括FTP协议、Java编程以及文件系统操作。本文将深入探讨这些知识点,并提供一个基于`ftp4j`库的...

Global site tag (gtag.js) - Google Analytics