progressbar请求数据 加载demo1
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical" >
- <ProgressBar
- android:id="@+id/pb_handler1_loading"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_horizontal"
- android:visibility="invisible"/>
- <Button
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:onClick="getSubmit1"
- android:text="GET Submit" />
- <Button
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:onClick="getSubmit2"
- android:text="GET Submit2" />
- <EditText
- android:id="@+id/et_handler1_result"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:hint="显示结果" >
- </EditText>
- </LinearLayout>
- package com.example.volleylearn;
- import java.io.ByteArrayOutputStream;
- import java.io.InputStream;
- import java.net.HttpURLConnection;
- import java.net.URL;
- import android.app.Activity;
- import android.os.Bundle;
- import android.os.Handler;
- import android.os.Message;
- import android.view.View;
- import android.widget.EditText;
- import android.widget.ProgressBar;
- /**
- * 测试Handler的基本使用
- *
- 1. 创建Handler成员变量对象, 并重写其handleMessage()
- 2. 在分/主线程创建Message对象
- 3. 使用handler对象发送Message
- 4. 在handleMessage()中处理消息
- */
- public class HandlerTestActivity extends Activity {
- private ProgressBar pb_handler1_loading;
- private EditText et_handler1_result;
- //1. 创建Handler成员变量对象, 并重写其handleMessage()
- private Handler handler = new Handler(){
- public void handleMessage(Message msg) {//在主线程执行
- if(msg.what == 1) {
- //4. 在handleMessage()中处理消息
- String result = (String) msg.obj;
- et_handler1_result.setText(result);
- pb_handler1_loading.setVisibility(View.INVISIBLE);
- }
- }
- };
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_handler_test);
- pb_handler1_loading = (ProgressBar) findViewById(R.id.pb_handler1_loading);
- et_handler1_result = (EditText) findViewById(R.id.et_handler1_result);
- }
- /*
- 1. 主线程, 显示提示视图(ProgressDialog/ProgressBar)
- 2. 分线程, 联网请求, 并得到响应数据
- 3. 主线程, 显示数据/隐藏提示视图
- */
- public void getSubmit1(View v) {
- //1. 主线程, 显示提示视图(ProgressDialog/ProgressBar)
- pb_handler1_loading.setVisibility(View.VISIBLE);
- //2. 分线程, 联网请求, 并得到响应数据
- new Thread(){
- public void run() {
- String path = "http://192.168.10.165:8080/Web_Server/index.jsp?name=Tom&age=12";
- try {
- final String result = requestToString(path);
- //3. 主线程, 显示数据
- runOnUiThread(new Runnable() {
- @Override
- public void run() {
- et_handler1_result.setText(result);
- pb_handler1_loading.setVisibility(View.INVISIBLE);
- }
- });
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }.start();
- }
- public void getSubmit2(View v) {
- //1). 主线程, 显示提示视图(ProgressDialog/ProgressBar)
- pb_handler1_loading.setVisibility(View.VISIBLE);
- //2). 分线程, 联网请求, 并得到响应数据
- new Thread(){
- public void run() {
- String path = "http://192.168.10.165:8080/Web_Server/index.jsp?name=Tom&age=12";
- try {
- String result = requestToString(path);
- //3). 主线程, 显示数据
- //2. 在分/主线程创建Message对象
- Message message = Message.obtain();
- message.what = 1;//标识
- message.obj = result;
- //3. 使用handler对象发送Message
- handler.sendMessage(message);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }.start();
- }
- /**
- * 请求服务器端, 得到返回的结果字符串
- * @param path : http://192.168.30.165:8080/Web_server/index.jsp?username=tom&age=12
- * @return
- * @throws Exception
- */
- public String requestToString(String path) throws Exception {
- URL url = new URL(path);
- HttpURLConnection connection = (HttpURLConnection) url.openConnection();
- connection.setConnectTimeout(5000);
- connection.setReadTimeout(5000);
- connection.connect();
- InputStream is = connection.getInputStream();
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- byte[] buffer = new byte[1024];
- int len = -1;
- while ((len = is.read(buffer)) != -1) {
- baos.write(buffer, 0, len);
- }
- baos.close();
- is.close();
- String result = baos.toString();
- connection.disconnect();
- return result;
- }
- }
progressbar请求数据 加载demo1的更多相关文章
- 如何实现Echart不刷新页面,多语言切换下的地图数据重新加载,api请求数据加载,soketed数据实时加载
可视化项目中经常用到ecahrt,各种异步加载,连接socket,多语言切换等问题,现在汇总一下: Ecahrt初始化,全局统一init,可以初始化为0,等待后续数据操作 1.如果是api重新请求,数 ...
- 巧用ajax请求服务器加载数据列表时提示loading
我们利用weui.js中的weui.loading为效果,ajax的beforeSend与complete方法,做一个加载数据时会有几秒的 loading... 要在页面需要加载的JS文件: < ...
- BaseHttpListActivity,几行代码搞定Android Http列表请求、加载和缓存
Android开发中,向服务器请求一个列表并显示是非常常见的需求,但实现起来比较麻烦,代码繁杂. 随着应用的更新迭代,这种需求越来越多,我渐渐发现了实现这种需求的代码的共同点. 于是我将Activit ...
- 实现虚拟模式的动态数据加载Windows窗体DataGridView控件 .net 4.5 (一)
实现虚拟模式的即时数据加载Windows窗体DataGridView控件 .net 4.5 原文地址 :http://msdn.microsoft.com/en-us/library/ms171624 ...
- Android Volley和Gson实现网络数据加载
Android Volley和Gson实现网络数据加载 先看接口 1 升级接口 http://s.meibeike.com/mcloud/ota/cloudService POST请求 参数列表如下 ...
- Echarts通过Ajax实现动态数据加载
Echarts(3.x版)官网实例的数据都是静态的,实际使用中往往会要求从服务器端取数据进行动态显示,官网教程里给出的异步数据加载很粗略,下面就以官网最简单的实例为例子,详细演示如下过程:1.客户端通 ...
- [转载]再次谈谈easyui datagrid 的数据加载
这篇文章只谈jQuery easyui datagrid 的数据加载,因为这也是大家谈论最多的内容.其实easyui datagrid加载数据只有两种方式:一种是ajax加载目标url返回的json数 ...
- echarts异步数据加载(在下拉框选择事件中异步更新数据)
接触echarts 大半年了,从不会到熟练也做过不少的图表,隔了一段时间没使用这玩意,好多东西真心容易忘了.在接触echarts这期间也没有总结什么东西,今天我就来总结一下如何在echart中异步加载 ...
- Android之MVP模式实现登录和网络数据加载
MVP简介 相信大家对 MVC 都是比较熟悉了:M-Model-模型.V-View-视图.C-Controller-控制器,MVP作为MVC的演化版本,也是作为用户界面(用户层)的实现模式,那么类似的 ...
随机推荐
- 为Jenkins增加ssl(https)的访问支持(Windows/Linux)
前言: 增加ssl(https)的访问可以为部署在公网下的jenkins提供更安全的问题,最明显的好处应该是登录和jenkins-ci.jar的调用. 比如jenkins-ci.jar的调用,一般在w ...
- 实时竞价RTB广告平台_传漾科技_中国领先的智能数字营销引擎
实时竞价RTB广告平台_传漾科技_中国领先的智能数字营销引擎 Programmatic Framework™ 传漾程序化购买框架
- Android图片缓存之Bitmap详解(一)
前言: 最近准备研究一下图片缓存框架,基于这个想法觉得还是先了解有关图片缓存的基础知识,今天重点学习一下Bitmap.BitmapFactory这两个类. Bitmap: Bitmap是Android ...
- PhantomJS 基础及示例 (转)
概述 PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support f ...
- Dance In Heap(一):浅析堆的申请释放及相应保护机制
0×00 前面的话 在内存中,堆是一个很有趣的地方,因为它可以由用户去直接的进行分配与销毁,所以也产生了一些很有趣.奇思妙想的漏洞,像unlink漏洞.House系列漏洞等等.但是在学习的过程中,我们 ...
- python numpy实现多次循环读取文件 等间隔过滤数据
numpy的np.fromfile会出现如下的问题,只能一次性读取文件的内容,不能追加读取,连续两次的np.fromfile读到的东西一样 如果数据文件太大(几个G或以上)不能一次性全读进去,需要追加 ...
- [Bash] Understand and Use Functions in Bash
n this lesson, we'll go over how bash functions work. Bash functions work like mini bash scripts--yo ...
- 利用Python自动发送邮件
# -*- coding:utf-8 -*-from email.mime.text import MIMETextfrom email.header import Headerimport smtp ...
- 关于 AlphaGo 论文的阅读笔记
这是Deepmind 公司在2016年1月28日Nature 杂志发表论文 <Mastering the game of Go with deep neural networks and tre ...
- One usage of recurison: the tower of Hanoi
Statements: This blog was written by me, but most of content is quoted from book[Data Structure wit ...