`

android 后台处理数据+进度条

 
阅读更多

map中可以获取逐条数据.

package com.google.zxing.client.android.util;

import java.util.HashMap;
import java.util.Map;

public class MapUtil {

// 接收服务端的map,从map中可以获取逐条数据.
public static Map<String, String> getMap(String a) {
Map<String, String> goods = new HashMap<String, String>();
String[] str = a.trim().split("¥n/¥");
for (int i = 0; i < str.length; i++) {
String[] str1 = str[i].trim().split("¥n");
if (str1.length > 1) {
goods.put(str1[0], str1[1]);
} else {

goods.put(str1[0], "");

}
}
return goods;
}


}


/**
* 使用异步类上传数据 这里面请求服务器并且在数据传递结束后关闭了进度条
*/
private class DoPOst extends AsyncTask<Void, Integer, Void> {

String s;

// 接收服务端已Map形式传来的字符串
private Map<String, String> goods;

@Override
protected Void doInBackground(Void... arg0) {

try {
s = queryBFMW(resultNum);
Log.i("Other", "服务端查询后结果-------"+s+"------");
goods = MapUtil.getMap(s);

} catch (Exception e) {
e.printStackTrace();
}
return null;
}

@Override
protected void onPostExecute(Void result) {
dialog.dismiss();
if (s == null || "".equals(s) || "网络异常".equals(s)) {
Toast.makeText(getApplicationContext(), "抱歉,未查到数据", 1)
.show();

} else {
/**
* 接收服务端字符串,通过Key 接收Value.
*/
String checkNum = goods.get("checking");

String codeContent = goods.get("code");
String kymtContent = goods.get("kymt");


if ("0".equals(checkNum.trim())) {
Toast.makeText(Zs.this, "..........!", 1).show();
return;
} else if ("1".equals(checkNum.trim())) {

if("null".equals(kymtContent)||"".equals(kymtContent) || kymtContent == null ){
return;
}else
// if("hsm".equalsIgnoreCase(checkNum))
{
kymtNumber = Integer.parseInt(kymtContent.trim());
Log.i("Other", "-----"+kymtNumber+"----------");
}

if (codeContent == null || "".equals(codeContent)) {
Toast.makeText(getApplicationContext(), ".........",
1).show();

return;
}

if (goods != null) {

hsmEt.setText(codeContent);
}

}
else if ("2".equals(checkNum.trim())) {
Toast.makeText(getApplicationContext(), ".....", 1).show();
return;
}
else if ("3".equals(checkNum.trim())) {
Toast.makeText(getApplicationContext(), ".....!", 1).show();
return;
}




/**
* 处理其他问题
*/
else {

}
}

super.onPostExecute(result);
}
}
/**
*
* @param resultNum
* @return
*/
private String queryBFMW(String resultNum) {
String ss = resultNum;
String url = HttpUtil.BASE_URL
+ "/servlet/HsmCodeServlet?type=sjzsmw&hsmCode=" + resultNum
+ "&userID=" + userName + "&typeName=bf";
Log.i("Other", "------"+url+"-----------");
return HttpUtil.queryStringForPost(url);
}

以下为进度条实现

private AlertDialog dialog;

// 显示对话框
View view = LayoutInflater.from(getApplicationContext()).inflate(
R.layout.progress_dialog, null);
dialog = new AlertDialog.Builder(this).setView(view).create();
dialog.show();

// 初始化
DoPost doPost = new DoPost();
doPost.execute();

progress_dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<ProgressBar
android:id="@+id/progress_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="true"
android:indeterminateDrawable="@drawable/bbs_progress" />

<TextView
android:id="@+id/processText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/progress_icon"
android:layout_alignTop="@+id/progress_icon"
android:layout_toRightOf="@+id/progress_icon"
android:gravity="center"
android:text="请稍后..." >
</TextView>

</RelativeLayout>

bbs_progress.xml

<?xml version="1.0" encoding="UTF-8"?>
<rotate
android:drawable="@drawable/bbs_waiting"
android:useLevel="true"
android:fromDegrees="0.0"
android:toDegrees="360.0"
android:pivotX="50.0%"
android:pivotY="50.0%"
xmlns:android="http://schemas.android.com/apk/res/android" />

bbs_btn_check.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<ProgressBar
android:id="@+id/progress_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="true"
android:indeterminateDrawable="@drawable/bbs_progress" />

<TextView
android:id="@+id/processText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/progress_icon"
android:layout_alignTop="@+id/progress_icon"
android:layout_toRightOf="@+id/progress_icon"
android:gravity="center"
android:text="请稍后..." >
</TextView>

</RelativeLayout>

分享到:
评论

相关推荐

    Android入门到精通源代码.

    第8章 Android中的后台服务Service 8.1 Service的作用 8.2 Service的实现 8.2.1 创建Service 8.2.2 启动Service 8.3 Toast和Notification应用 8.3.1 使用Notification通知 用户服务启动 8.3.2 使用Toast显示通知信息...

    android开发实例大全_王东华

    本书以Android应用程序的开发为主题,并结合真实的案例向读者详细介绍了Android的基本组件的使用及应用程序开发的整个流程。本书的讲述由浅入深,实例全面并典型,几乎囊括了所有和Android应用相关的项目。全书分为...

    Android开发资料合集-World版!

    9.37、通过ANDROID 客户端上传数据到服务器 251 9.38、文件下载类 255 9.39、下载文件的进度条提示 263 9.40、通过HTTPCLIENT从指定SERVER获取数据 265 9.41、通过FTP传输文件,关闭UI获得返回码 266 9.42、激活...

    Android 开发技巧

    9.37、通过ANDROID 客户端上传数据到服务器 251 9.38、文件下载类 255 9.39、下载文件的进度条提示 263 9.40、通过HTTPCLIENT从指定SERVER获取数据 265 9.41、通过FTP传输文件,关闭UI获得返回码 266 9.42、激活...

    含有loading效果登录界面

    Android实现远程登录功能,含有进度条loading登录效果,登录后台通知更新UI线程,主要用于登录失败,通知UI线程更新界面,检查用户登陆,服务器通过DataOutputStream的dos.writeInt(int);来判断是否登录成功(服务器返回...

    Android应用源码完整功能版机锋安卓市场

    注意:本源码不带服务端源码 项目内所有数据直接在机锋网获取 本项目源码为商业源码 售价50专家币 以下截图是项目编译后的工程截图 截图中的功能都已经实现 识货的朋友可以在后台在线充值后下载 涉及模块&amp;技术...

    原型设计,axure9最全组件库

    3.抽屉菜单,导航菜单,搜索,分页条,滑块,进度条,走马灯,评星,验证码,日历,时间设置,选中统计,图片轮播,漂浮广告,喜欢,点赞,抽奖转盘等 4.包含了界面模型、设备模型、流程元素、标注元素、交互手势等...

    Office办公助手 v1.1.8

    适用固件:Android 2.2.X及以上 分享日期:2014-02-19 游戏题材:商业 开发商:Elinasoft Technologies 内容介绍 此软件专为办公室白领以及商务人士设计. Office办公助手提供最高效并且易用的移动办公功能。 包括...

    计步器的实现

    android计步器的实现,自定义的一个弧形进度条,记步通过手机的传感器来实现,也就是说不支持传感器的机子(应该很老的了吧)就没有效果。看看效果图: 这里写图片描述这里写图片描述 自定义View public class ...

    开发一款任意APP-开发一款任意APP需要的类库以及多渠道打包命名框架 如需学习用法详见旧版本:https://github.com/geeklx/jiuzhidao_xinjiagou.zip

    切换语言common:BaseApp BaseAppManager BaseViewHelperemptyview:正在加载 暂无数据 有数据 无网络 布局切换expandableview:非常好用的Expandableviewfileprovider:鸿洋的6.0 7.0 8.0 权限管理类flowlayout:...

Global site tag (gtag.js) - Google Analytics