一个程序员一月的开销统计分析、(附上PC端和移动端android源码)
图片1(类别):
图片中的数据是我一月的花费统计分析、
这是该网站的地址:http://www.10086bank.com/(需要登录) 没有帐号马上注册一个吧、进入系统后点击“记一笔” 添加数据即可! 类别查询和详细查询!
PC端日程:
android版在这里:
android版调用站点中的webservice的功能 先上图:
// 判断是否网络连接 有返回true 失败返回falsepublic static boolean isNetworkConnected(Context context) {if (context != null) {ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();if (mNetworkInfo != null) {return mNetworkInfo.isAvailable();}}return false;}
实现android判断当前是否有网络连接的代码。
登录成功进入主界面了:
这里是android调用webservice的代码:
//点击查询按钮获取当天数据private ArrayList<HashMap<String, String>> GetThisMonthDataByUsercodeDetail(int year,int month,int day){ArrayList<HashMap<String, String>> list=null;SoapObject soapObject = new SoapObject(Competence.NAMESPACE, method_GetThisMonthDataByUsercodeDetail);soapObject.addProperty("year", year);soapObject.addProperty("month", month);soapObject.addProperty("day", day);SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);envelope.dotNet = true;envelope.bodyOut = soapObject;HttpTransportSE ht = new HttpTransportSE(Competence.URLs);try {ht.debug = true;ht.reset();ht.call(Competence.NAMESPACE+method_GetThisMonthDataByUsercodeDetail, envelope);SoapObject result=(SoapObject)envelope.getResponse();int count=result.getPropertyCount();if(count>1){list=new ArrayList<HashMap<String, String>>();for (int i = 0; i < count; i=i+2) {HashMap<String, String> map = new HashMap<String, String>(); map.put("ItemTitle", result.getProperty(i).toString());map.put("ItemText", result.getProperty(i+1).toString());list.add(map); }} } catch (Exception e) {// TODO: handle exception }return list;}
然后调用
//绑定数据private void OnDataToListView(ArrayList<HashMap<String, String>> mylist){if (mylist!=null) {ListView list = (ListView) findViewById(R.id.MyListView);SimpleAdapter mSchedule = new SimpleAdapter(DataManager.this,mylist,R.layout.my_listitem,new String[] {"ItemTitle", "ItemText"},new int[] {R.id.ItemTitle,R.id.ItemText}); list.setAdapter(mSchedule);mSchedule=null;list=null;}else {Mesg("没有数据!");}}
以上android调用10086bank.com
PC端用到了柱状图和饼状图分析功能、使用的是jquery图表插件工具highcharts (点击进入可下载js包),
下面是主要的js代码:
if (temps != "") {$("select[myenumid='" + myenumid + "']").parent().children().remove('div');$("select[myenumid='" + myenumid + "']").removeClass();$("select[myenumid='" + myenumid + "']").html("");$("select[myenumid='" + myenumid + "']").append(temps);$("select[myenumid='" + myenumid + "']").chosen();}myenumid = null;temps = null;for (var i = 0; i < obj.length; i++) {data1.push(obj[i].LAB);data2.push(parseFloat(obj[i].DAT));summoney = parseFloat(summoney) + parseFloat(obj[i].DAT);var one = [];one[0] = obj[i].LAB;one[1] = parseInt(obj[i].DAT);data.push(one);one = null;}
数据格式使用的是json格式,一个很厉害的数据传输格式。
页面中还用到children页面美化:
//填充 var isfull = 1; function fulldata() {if (isfull == 1) return;var myenumid = "myenumid007";$("select[myenumid='" + myenumid + "']").parent().children().remove('div');$("select[myenumid='" + myenumid + "']").removeClass();$("select[myenumid='" + myenumid + "']").html("");$("select[myenumid='" + myenumid + "']").append("<option value='食'>食</option>");$("select[myenumid='" + myenumid + "']").append("<option value='衣'>衣</option>");$("select[myenumid='" + myenumid + "']").append("<option value='住'>住</option>");$("select[myenumid='" + myenumid + "']").append("<option value='用'>用</option>");$("select[myenumid='" + myenumid + "']").append("<option value='行'>行</option>");$("select[myenumid='" + myenumid + "']").append("<option value='其它'>其它</option>");$("select[myenumid='" + myenumid + "']").chosen();$("select[myenumid='" + myenumid + "']").parent().children().children("a").attr("class", "chzn-single chzn-single-with-drop");$("select[myenumid='" + myenumid + "']").parent().children().children("div").attr("style", "left:0px;top:24px");$("select[myenumid='" + myenumid + "']").parent().children().children("div").children("div").children().focus();$("select[myenumid='" + myenumid + "']").parent().children().children("div").children("ul").children("li:first-child").attr("class", "active-result result-selected highlighted");myenumid = null; }
代码实现起来是很容易的、
PAK下载
PC端(100086bank.com)
文采有限、写不出好的东西、但有一颗自信的心!
谢谢!
转载于:https://www.cnblogs.com/chinhi/p/suzukiibd.html
一个程序员一月的开销统计分析、(附上PC端和移动端android源码)相关推荐
- 程序员如何应对中年危机,撸了大神写的spring源码笔记,超详细
前言: 我们通常在面试的时候难免会慌张不已.想必,经历过的人都能体会.但是如果你提前预测和准备面试官要问你的问题,并想出合理的回答方式,就会轻松很多.所以接下来的面试题是我从自己和其他人的面试经历中总 ...
- C语言/C++程序员大神打造纯C的电子时钟(加图形库+源码)
C语言/C++程序员大神打造纯C的电子时钟,每天看时间再也不麻烦了 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进 ...
- 情人节程序员用HTML网页表白 html七夕情人节表白示爱网站源码制作
❤ 精彩专栏推荐
- 程序员也可以很浪漫,精选10个圣诞节特效及源码
最近离圣诞节不远了.整理了一些关于圣诞相关的前端特效网页设计和小游戏的代码送大家.直接上效果吧. 代码过长的 可预览获取 查看源码特效合集 圣诞节快乐 - 文字渐入动画 <body>< ...
- 论一个程序员的编程修养(你品,你细品)
论一个程序员的编程修养 转自:陈浩 芯片之家 作者:陈浩 来源:嵌入式云IOT技术圈 什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是.对于一些技术细节来说和 ...
- Intent.createChooser方法源码解析(按我的解析,只有一个Intent是不会启动的??Android源码7.1.2)
参考: https://www.geek-share.com/detail/2631984744.html https://tuzhao.org/article/34#directory0136555 ...
- 一个程序员应该怎样去学习和掌握计算机英语
最近在学习英语,在本科的时候就通过了英语六级的考试,可是实话实说,那只是一次应试的过程,现在的英语仍然是张不开嘴,而且随着时间的流逝那些原本的词汇也忘得差不多了,在网上看到了一篇介绍程序员英语的文章, ...
- 一个程序员多年的收藏
程序员珍藏的东西会是什么?呵呵,除了平时写的代码,就是那些百看不厌的电子书了. 昨天很郁闷,我用了5年的移动硬盘,莫名奇妙的坏掉了.里面40G的资料全部报销了. 为了不再重蹈覆辙,我决定把重要的电子书 ...
- 一个程序员的多年珍藏--收藏
2010 - 01 - 15 [置顶] 一个程序员的多年珍藏(1月23日最新更新) 文章分类:Java编程 程序员珍藏的东西会是什么?呵呵,除了平时写的代码,就是那些百看不厌的电子书了. 昨天很郁闷, ...
最新文章
- You are my brother
- linux top 命令信息解释
- 客户端使用win共享文件出错解决方法
- 融云php sdk下载安装,LICENSE · 融云 RongCloud/server-sdk-php-composer - Gitee.com
- 公钥密码--Paillier
- 内蒙古广播电视大学计算机专修学院电话,内蒙古广播电视大学
- 元素或为1或为-1的行列式的值的估计
- 原生js代码实现Ajax
- linux redis配置文件位置,Linux 安装配置Redis
- Linux面板对Linux系统维护(Linux运维)全网最详细
- 支付宝小程序获取手机号授权
- 董明珠表示“格力不能更好运营,我绝不交班”,现实由不得她
- MySQL什么情况会导致索引失效?
- 【转帖】赤壁之战,曹操大败只因缺了Service Mesh
- 初探 sort 方法和 sorted 内置函数
- python练习题---矩阵求和
- 项目 调度 服务器,(2)项目构建(Reactor部分)【Lars-基于C++负载均衡远程服务器调度系统教程】...
- STM32的三种BOOT模式
- python基础串讲
- Martin Fowler关于microservices(微服务)的原文和翻译