自做Android App查询上海市公交卡余额
本文在Android中实现查询上海地区公共交通卡余额的功能,以卡号为关键字,其它地区不在查询范围。
先来2张效果图(本人不做UI,界面有点简单啊,莫怪莫怪)
视图文件
画了个简单的EditText用于输入卡号,Button用来确定查询
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.longjingtech.ljhotelandroidapp.HotelServiceActivity">
<EditText
android:id="@+id/traffic_check_edittext"
android:hint="@string/traffic_check_hint_textview"
android:layout_marginTop="200dp"
android:layout_gravity="center"
android:gravity="center"
android:maxLength="15"
android:drawableLeft="@drawable/search"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/traffic_check_button"
android:gravity="center"
android:layout_gravity="center"
android:text="@string/traffic_check_start"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
核心代码
//查询API地址
String requestUrl = "http://220.248.75.36/handapp/PGcardAmtServlet?arg1=";
editText = (EditText)findViewById(R.id.traffic_check_edittext);
button = (Button)findViewById(R.id.traffic_check_button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
userCardNum = editText.getText().toString();
if (userCardNum.isEmpty()) {
Toast.makeText(HotelServiceActivity.this,"卡号不能为空,请重新输入",Toast.LENGTH_SHORT).show();
}
else {
//清空输入框的内容
editText.setText("");
//start to check balance
new Thread(new Runnable() {
@Override
public void run() {
Looper.prepare();
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(requestUrl + userCardNum);
try {
HttpResponse httpResponse = httpClient.execute(httpPost);
Log.e(TAG,"retCode: " + httpResponse.getStatusLine().getStatusCode());
if (httpResponse.getStatusLine().getStatusCode() == 200) {
htmlResponse = EntityUtils.toString(httpResponse.getEntity(),"utf-8");
/*
* 返回数据格式 null('金额')
* */
resultBalance = htmlResponse.substring(6,htmlResponse.length() - 3);
AlertDialogSingleButton.Builder builder = new AlertDialogSingleButton.Builder(HotelServiceActivity.this);
builder.setMessage("卡号" + userCardNum + "的余额为 " + resultBalance)
.setPositiveButton(R.string.vod_exit_ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).create().show();
}
} catch (IOException e) {
e.printStackTrace();
}
Looper.loop();
}
}).start();
}
}
});
经过测试,通过这种方法查询有一天时间的延迟,应该是查询中心与公交数据中心没有做到实时同步,不过对于用户的正常使用,完全不是问题,赶紧自己动手试试吧。
自做Android App查询上海市公交卡余额相关推荐
- python selenium 自动化查询上海公交卡余额,并邮件通知
1.下载python安装. https://www.python.org/downloads/release/python-351/ 2.安装selenium 2.1.通过pip 安装 pip ins ...
- 卡苹果6plus在线_嘉兴公交“嘉通行”APP上线,公交卡可以在线充值啦!
4月30日,"嘉通行"APP正式上线运营,该APP集实体公交卡在线充值.年检.公交动态信息查询.嘉兴公交乘车码等功能于一体.具有NFC全功能安卓手机,可直接对实体公交卡进行充值.补 ...
- 在线查询交通卡公交卡余额
今天无意中发现一个可以在线查询上海交通卡余额的网站,非常快捷方便,记录一下 ,以备以后用到. zoz.la
- 小米运动APP小米手环公交卡充值,出现参数非法错误
小米远动APP,小米手环4,公交卡充值,在付款时弹出上图内容,以前好的突然成这样,网上找了解决方案未果,后来发现在手机管家里(我的是红米K30)选择手机管家,然后选择应用管理,然后选择右上角的默认应用 ...
- Android 开发之实现公交卡扣费功能
对公交卡实现扣费功能主要分以下几个部分: 1.读取公交卡的余额 2.扣费 3.重获Tac 4.获取PSAMID 5.获取相应的参数 首先我们先看下实现这些功能的案例布局 <span style= ...
- android通过NFC读取公交卡的余额和交易记录
通过NFC的读模式,读取公交卡的余额和交易记录.这是一个开源的工程,可以读取深圳通.羊城通.北京卡.八达通.武汉通等等. 读取分四个步骤: 1.select PSF (1PAY.SYS.DDF01) ...
- Android app性能优化解决卡慢顿之布局优化
前面博客分析了导致app卡顿慢的直接原因,这里就从原因出发,分析一些优化方案(这里主要是从直接影响渲染机制的布局相关进行分析) 1) Invalidations, Layouts, and Perfo ...
- android怎么添加地铁卡,安卓手机公交卡怎么刷
安卓手机还能刷公交?安卓手机新推出的功能可以当公交卡用?是不是很新颖?有兴趣的朋友可以来了解一下. 12月19日,三星SAMSUNG Pay终于支持的公交卡功能,首批开通城市仅限北京上海,而此前小米M ...
- 支持nfc的android手机型号,哪些手机型号支持刷公交卡 支持nfc功能的手机有哪些汇总...
随着手机的智能化,越来越多支持NFC功能.当你的手机支持NFC功能后,即可成功充值公交卡或充当公交卡,直接刷手机乘公交,很方便智能的功能.那么,哪些手机型号支持刷公交卡呢?一起来本文看看吧! 哪些手机 ...
最新文章
- A Learned Representation for Artistic Style论文理解
- 删除文件中指定的一行
- 通过串口输入控制指令控制图像在VGA显示器中的显示位置
- 项目中常用的sql整理和详细01
- 某马Java架构师实战学习手册
- 《PHP求职宝典》--Web设计页面笔记
- 专题1.1——Exchange2013部署前准备条件
- Python 之 Python2 和 Python3 的区别
- 喜马拉雅 xm文件转m4a_喜马拉雅电台、课程语音如何转成文字?
- 111_Power Pivot 24小时维度:累计、同比、环比相关
- MapReduce Service更换集群外部时钟源,仅需10步
- 用RT Server Customizer定制Windows 2008 R2安装光盘
- 模组厂商对话 MTK:智能音箱市场谈红海还早,下一个爆品将诞生丨WARE 2018
- 欧姆龙plc交互协议hostlink
- FastDFS实现原理及流程
- python爬虫——彼岸图网
- 浙江省高校教师职称计算机考试成绩查询系统,浙江省高校招生考试信息管理系统...
- 魔兽十区服务器人最多,十区毁灭计划 新一轮wow大服务器实装公告
- python 3 5的值_杨桃Python基础教程第5章:Python数据类型(3)列表s[M:n]值,的,三,smn,取值...
- 第一章概述-------第一节--1.6 计算机网络的性能
热门文章
- FOMO的量子商用黎明
- CF AIM Tech Round 5 (rated, Div. 1 + Div. 2) B. Unnatural Conditions 思维 ʕ •ᴥ•ʔ
- 用vue仿贝壳地图找房功
- 基于Android的地铁查询系统app-计算机毕业设计
- 【原创】基于SSM框架的电影在线观看网站设计与实现
- python 统计各个文件夹图片数目的柱状图,并给各个类标注标签
- 修复损坏的Outlook个人文件夹(PST)文件
- Perceptive Advisors携手多个战略联盟创立联拓生物(LianBio)并建构营运平台
- 剑网3显示服务器维护,11点10分服务器维护是什么鬼
- CSS中大于号[]的含义