使用Volley StringRequest Get的方式进行发票查询操作
//进行发票查询
btnFpSelect.setOnClickListener(btnFpSelectClickListener);
private OnClickListener btnFpSelectClickListener = new OnClickListener(){
@Override
public void onClick(View v) {
fphm = etFphm.getText().toString(); //发票号码
fpzje = etFpzje.getText().toString(); //发票总金额
kjrq = etKjrq.getText().toString(); //开具日期
khmch = etKhmch.getText().toString(); //客户名称
khmch = StrUtil.toUrlUtf8(khmch); //因为我的环境是GBK所以在进行网络操作时中文要进行Utf-8转码
xhfshwdjh = etXhfshwdjh.getText().toString(); //销货方税务登记号
if(rbFlag.equals("是")){//表示存在税控码
kshm = etShkm.getText().toString(); //税控码
if(kshm.length()<20){
fpchxToast("控税码应为20位的数字!",etShkm);
return;
}
//将税控码分隔成5段每段长度为4的数组
skms = StrUtil.splitStr(kshm, 4);
}
if(fpdm.length()<12){
fpchxToast("发票代码应为长度12位的数字!",etFphm);
return;
}
if(fphm.length()<8){
fpchxToast("发票号码应为长度8位的数字!",etFphm);
return;
}
if(fpzje.length()<1){
fpchxToast("请输入发票金额!",etFpzje);
return;
}
if(!kjrq.matches("\\d{4}-\\d{2}-\\d{2}")){
fpchxToast("请输入正确的日期格式!",etKjrq);
return;
}
if(khmch.length()<1){
fpchxToast("请输入客户名称!",etKhmch);
return;
}
if(xhfshwdjh.length()<18){
fpchxToast("请输入正确的销货方税务登记码!",etXhfshwdjh);
return;
}
//进行查询
oprFpchx();
}
};
/**
* 通过StringRequest Get的方式进行发票查询
*/
private void oprFpchx(){
String url="http://192.168.0.100/jsjKjPtFp.do?"; url+="fpdm="+fpdm+"&fphm="+fphm+"&kjfnsrsbh="+xhfshwdjh+"&kpje="+fpzje+
"&kprq="+kjrq;
if(rbFlag.equals("是")){
url+="&skm="+skms[0]+"&skm="+skms[1]+"&skm="+skms[2]
+"&skm="+skms[3]+"&skm="+skms[4]+"&spfnsrmc="+khmch;
}else{
url+="&spfnsrmc="+khmch;
} pd = ProgressDialog.show(getActivity(), "发票查询", "正在查询中..."); RequestQueue rQueue = WzhVolley.getRequestQueue(); StringRequest getRequest = new StringRequest(
Request.Method.GET,
url,
createFpchxSuccessListener(),
createFpchxErrorListener());
rQueue.add(getRequest);
}
private Response.Listener<String> createFpchxSuccessListener(){
return new Response.Listener<String>() {
@Override
public void onResponse(String result) {
String info="";
pd.dismiss();
if(result.indexOf(fphm)>0){
info="\t您查询的内容与开票人开具的发票信息一致!";
}else{
info="\t您查询的内容与开票人开具的发票信息不一致!";
}
AlertDialog.Builder dialog = new AlertDialog.Builder(getActivity());
dialog.setIcon(R.drawable.ic_warnings_info);
dialog.setTitle("查询结果!");
dialog.setMessage(info);
dialog.setNegativeButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
dialog.create().show();
}
};
}
private Response.ErrorListener createFpchxErrorListener(){
return new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError arg0) {
pd.dismiss();
Toast.makeText(getActivity(), "网络超时请稍后再试!", Toast.LENGTH_SHORT).show();
}
};
}
使用Volley StringRequest Get的方式进行发票查询操作的更多相关文章
- 六种方式实现hibernate查询
最近在学习Hibernate的基本内容,刚好在项目中有用到,基本上都是用到哪就学哪. 今天看看六种方式实现hibernate查询......... 分别是HQL查询,对象化查询Criteria方法,动 ...
- 不要在 foreach 循环里进行元素的 remove/add 操作。remove 元素请使用 Iterator 方式,如果并发操作,需要对 Iterator 对象加锁
不要在 foreach 循环里进行元素的 remove/add 操作.remove 元素请使用 Iterator 方式,如果并发操作,需要对 Iterator 对象加锁. 正例: Iterator&l ...
- 【转载】JavaWeb之DBUtils QueryRunner类对数据表的增、删、查(8种结果集处理方式)、改操作
一.使用QueryRunner类,实现对数据表的 insert delete update package com.shuhuadream.queryrunner; import java.sql.C ...
- Hibernate 查询方式、JPA查询方式
hibernate 查询方式: OID 查询 对象导航查询 HQL 方式查询 QBC方式查询 原生SQL方式查询 JPA 查询方式: OID 查询 对象导航查询 JPQL 方式查询 CriteriaB ...
- 使用原生JDBC方式对数据库进行操作
使用原生JDBC方式对数据库进行操作,包括六个步骤: 1.加载JDBC驱动程序 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM.可以通过java.lang.Class类的静态方法forNa ...
- Android Volley - volley StringRequest編碼問題
有些時候這個類並不能很好的解決中文編碼問題 如果出現亂碼,就 要重寫該類的parseNetworkResponse 方法了. 繼承StringRequest,然後重寫parseNetworkRespo ...
- 在非SQL客户端使用命令行方式定期连接SQL Server 服务器并模拟用户查询操作,同时输出信息内容
一个很长的标题,实现的功能就是尽量使用非人力的方式模拟人去做一件事情,为了便于记录,将他们输出成文件方便查阅. 图形界面方式,使用微软自己的ConnMaker.exe,或者Microsoft 数据连接 ...
- Thinkphp查询 1.查询方式 2.表达式查询 3.快捷查询 4.区间查询 5.组合查询 6.统计查询 7.动态查询 8.SQL 查询
1.使用字符串作为条件查询 $user = M('User'); var_dump($user->where('id=1 AND user="蜡笔小新"')->sele ...
- 非链接方式访问数据库--查询的数据集用Dataset来存储。
private void Button_Click_1(object sender, RoutedEventArgs e) { //非链接方式访问数据库, //1创建连接对象(连接字符串) using ...
随机推荐
- Python模块如何安装 并确认模块已经安装好?
看自己有没有安装好,最简单的办法在可以再控制台下: C:\Users\sony>python Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC ...
- Linux企业级项目实践之网络爬虫(26)——线程池
一旦有一个抓取请求开始,就创建一个新的线程,由该线程执行任务,任务执行完毕之后,线程就退出.这就是"即时创建,即时销毁"的策略.尽管与创建进程相比,创建线程的时间已经大大的缩短,但 ...
- DLL模块例1:使用.def模块导出函数,规范修饰名称,显示连接调用dll中函数
以下内容,我看了多篇文章,整合在一起,写的一个例子,关于dll工程的创建,请参考博客里另一篇文章:http://www.cnblogs.com/pingge/articles/3153571.html ...
- SPOJ3267--D-query (树状数组离线操作)
题意查询区间 [l,r]内有多少个不同的数字 先把所有询问按 右端点进行排序,然后离线操作.如果该位置的数字 已经出现过那么把前一个位置-1,当前位置+1.扫一遍输出. #include <cs ...
- HDU2196-Computer
原题连接: http://acm.hdu.edu.cn/showproblem.php?pid=2196 思路: 好了,无敌了,经过昨晚4个钟头+今上午1个小时的奋战,这题终于被我AC了 收获的确是不 ...
- 大型分布式C++框架《四:netio之buffer管理器 下》
每周一篇又来了.这次主要介绍netio的buffer管理器. 首先buffer管理是每一个网络层不可回避的问题.怎么高效的使用buffer是很关键的问题.这里主要介绍下我们的netio是怎么处理.说实 ...
- CSS常用操作-对齐
index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &l ...
- (转)UIWebView与JavaScript的那些事儿
UIWebView是IOS SDK中渲染网面的控件,在显示网页的时候,我们可以hack网页然后显示想显示的内容.其中就要用到javascript的知识,而UIWebView与javascript交互的 ...
- 利用JasperReport+iReport进行Web报表开发
用JasperReport+iReport进行Web报表开发 序言 在非常多实际的项目里,报表都是当中十分重要的组成部分,比如把查询结果以报表的形式呈现出来.这里所提到的报表可不是简单的二维表,而是拥 ...
- Nested Class Templates
Templates can be defined within classes or class templates, in which case they are referred to as ...