一个程序员一月的开销统计分析、(附上PC端和移动端android源码)
图片1(类别):
图片中的数据是我一月的花费统计分析、
这是该网站的地址:http://www.10086bank.com/(需要登录) 没有帐号马上注册一个吧、进入系统后点击“记一笔” 添加数据即可! 类别查询和详细查询!
PC端日程:
android版在这里:
android版调用站点中的webservice的功能 先上图:
- // 判断是否网络连接 有返回true 失败返回false
- public 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 = ; 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[] = obj[i].LAB;
- one[] = 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;
- }
代码实现起来是很容易的、
文采有限、写不出好的东西、但有一颗自信的心!
谢谢!
一个程序员一月的开销统计分析、(附上PC端和移动端android源码)的更多相关文章
- 如果你恨一个程序员 忽悠他去做iOS开发(戏谑篇)
.state { text-align: right; height: 16px; line-height: 16px; color: #999; padding-top: 5px; overflow ...
- 如果你恨一个程序员,忽悠他去做iOS开发
如果你恨一个程序员,忽悠他去做iOS开发.不管他背景是cobel还是 java,送他一本iOS开发的书.这种书最好是国人写的,容易以偏概全一点,相比洋鬼子的书,更容易学到皮毛.这叫舍不得孩子套不着狼, ...
- 每一个程序员需要了解的10个Linux命令
作为一个程序员,在软件开发职业生涯中或多或少会用到Linux系统,并且可能会使用Linux命令来检索需要的信息.本文将为各位开发者分享10个有用的Linux命令,希望对你会有所帮助. 以下就是今天我们 ...
- --专访雷果国: 从1.5K到18K 一个程序员的5年成长之路--
导语:今年三月份,在CSDN博客和新浪微博上有一篇<从1.5K到18K,一个程序员的5年成长之路>被众人分享和传阅,这篇博文首先介绍了作者自学之初薄弱的基础,然后通过流水账形式分享了那个从 ...
- 阅读<构建之法>第13、14、15、16、17章 与 《一个程序员的生命周期》读后感
第十三章 软件测试 这一章介绍了很多关于测试的方法,比如说单元测试,代码覆盖率测试,构建验证测试,验收测试等,我有一个很纠结的问题,如果我开发软件,是把这么多测试全做完,还是挑一些测试来进行呢?如 ...
- [Python 学习]2.5版yield之学习心得 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …
[Python 学习]2.5版yield之学习心得 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source - [Pyth ...
- 【转】每一个程序员需要了解的10个Linux命令
作为一个程序员,在软件开发职业生涯中或多或少会用到Linux系统,并且可能会使用Linux命令来检索需要的信息.本文将为各位开发者分享10个有用的Linux命令,希望对你会有所帮助. 以下就是今天我们 ...
- 如果恨一个程序员,忽悠他去做iOS开发
如果你恨一个程序员,忽悠他去做iOS开发.不管他背景是cobel还是 java,送他一本iOS开发的书.这种书最好是国人写的,容易以偏概全一点,相比洋鬼子的书,更容易学到皮毛.这叫舍不得孩子套不着狼, ...
- 作为一个程序员,你了解 win 上有哪些必装的软件吗
关于 win 的一些基础必知内容之前已经分享过,没有看过的可以戳此处→Windows 使用之那些你还不知道操作 新系统安装的第一个软件 Google Chrome 毫无疑问,作为程序员应该是首选的浏览 ...
随机推荐
- 设置Cookie最大存活时间
Cookie和Session都是由Tomcat自动创建的对象,Cookie的默认最大存活时间是 -1 ,即当浏览器关闭时Cookie就消失了:Session的默认最大存活时间是30分钟. 使用Sess ...
- Azure 镜像市场支持一键部署到云
本视频教程介绍了Azure 镜像市场和一键部署到云. Azure 镜像市场(AMP)由世纪互联运营,是一个联机应用程序和服务市场,它通过独立软件服务商(ISV)能够成为 Azure 客户(Custom ...
- bootstrap-table学习
参考学习 http://bootstrap-table.wenzhixin.net.cn/getting-started/ 包括Bootstrap库(如果你的项目没有使用它)和bootstrap-t ...
- sqlserver中计算某个特殊字符在字符串中出现的位置
-- ============================================= -- Author: Evan -- Create date: 2018年3月15日10:: -- D ...
- 2017-3-7-lint82single-number
2017-3-7-lint82single-number 在河之洲 算法 小书匠 problem 82single-number/ solution int singleNumber(vector&l ...
- 通过WMIC导出系统日志
查看日志类型 wmic nteventlog get filename C:\>wmic nteventlog get filename FileName appevent secevent s ...
- 棋盘问题——POJ1321
棋盘问题——深度优先搜索 题目描述: 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘 ...
- 解决ubuntu上ifconfig没有eth0/ens33且无法上网的问题
ifconfig只有一个轮回端口lo,没有我们的网卡eth0,一开始以为是vsphere(新手对于vsphere不是很熟悉)上我的虚拟机配置问题,还查看了相关的网络配置,后来才知道是因为: 问题出在配 ...
- Bootstrap历练实例:激活导航状态
激活导航状态 您可以在激活状态的胶囊式导航和列表导航中放置徽章.通过使用 <span class="badge"> 来激活链接,如下面的实例所示: <!DOCTY ...
- 【思维题 线段树】cf446C. DZY Loves Fibonacci Numbers
我这种maintain写法好zz.考试时获得了40pts的RE好成绩 In mathematical terms, the sequence Fn of Fibonacci numbers is de ...