图片1(类别):

图片中的数据是我一月的花费统计分析、

这是该网站的地址:http://www.10086bank.com/(需要登录)  没有帐号马上注册一个吧、进入系统后点击“记一笔”  添加数据即可!   类别查询和详细查询!

PC端日程:       

android版在这里:

android版调用站点中的webservice的功能    先上图:

  1. // 判断是否网络连接 有返回true 失败返回false
  2. public static boolean isNetworkConnected(Context context) {
  3. if (context != null) {
  4. ConnectivityManager mConnectivityManager = (ConnectivityManager) context
  5. .getSystemService(Context.CONNECTIVITY_SERVICE);
  6. NetworkInfo mNetworkInfo = mConnectivityManager
  7. .getActiveNetworkInfo();
  8. if (mNetworkInfo != null) {
  9. return mNetworkInfo.isAvailable();
  10. }
  11. }
  12. return false;
  13. }

实现android判断当前是否有网络连接的代码。

登录成功进入主界面了:

这里是android调用webservice的代码:

  1. //点击查询按钮获取当天数据
  2. private ArrayList<HashMap<String, String>> GetThisMonthDataByUsercodeDetail(int year,int month,int day){
  3. ArrayList<HashMap<String, String>> list=null;
  4. SoapObject soapObject = new SoapObject(Competence.NAMESPACE, method_GetThisMonthDataByUsercodeDetail);
  5. soapObject.addProperty("year", year);
  6. soapObject.addProperty("month", month);
  7. soapObject.addProperty("day", day);
  8. SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
  9. envelope.dotNet = true;
  10. envelope.bodyOut = soapObject;
  11. HttpTransportSE ht = new HttpTransportSE(Competence.URLs);
  12. try {
  13. ht.debug = true;
  14. ht.reset();
  15. ht.call(Competence.NAMESPACE+method_GetThisMonthDataByUsercodeDetail, envelope);
  16. SoapObject result=(SoapObject)envelope.getResponse();
  17. int count=result.getPropertyCount();
  18. if(count>1){
  19. list=new ArrayList<HashMap<String, String>>();
  20. for (int i = 0; i < count; i=i+2) {
  21. HashMap<String, String> map = new HashMap<String, String>();
  22. map.put("ItemTitle", result.getProperty(i).toString());
  23. map.put("ItemText", result.getProperty(i+1).toString());
  24. list.add(map);
  25. }
  26. }
  27. } catch (Exception e) {
  28. // TODO: handle exception
  29. }
  30. return list;
  31. }

然后调用

  1. //绑定数据
  2. private void OnDataToListView(ArrayList<HashMap<String, String>> mylist){
  3. if (mylist!=null) {
  4. ListView list = (ListView) findViewById(R.id.MyListView);
  5. SimpleAdapter mSchedule = new SimpleAdapter(DataManager.this,mylist,R.layout.my_listitem,new String[] {"ItemTitle", "ItemText"},new int[] {R.id.ItemTitle,R.id.ItemText});
  6. list.setAdapter(mSchedule);
  7. mSchedule=null;
  8. list=null;
  9. }
  10. else {
  11. Mesg("没有数据!");
  12. }
  13. }

以上android调用10086bank.com

PC端用到了柱状图和饼状图分析功能、使用的是jquery图表插件工具highcharts (点击进入可下载js包),

下面是主要的js代码:

  1. if (temps != "") {
  2. $("select[myenumid='" + myenumid + "']").parent().children().remove('div');
  3. $("select[myenumid='" + myenumid + "']").removeClass();
  4. $("select[myenumid='" + myenumid + "']").html("");
  5. $("select[myenumid='" + myenumid + "']").append(temps);
  6. $("select[myenumid='" + myenumid + "']").chosen();
  7. }
  8. myenumid = null;
  9. temps = null;
  10.  
  11. for (var i = ; i < obj.length; i++) {
  12.  
  13. data1.push(obj[i].LAB);
  14. data2.push(parseFloat(obj[i].DAT));
  15.  
  16. summoney = parseFloat(summoney) + parseFloat(obj[i].DAT);
  17.  
  18. var one = [];
  19. one[] = obj[i].LAB;
  20. one[] = parseInt(obj[i].DAT);
  21. data.push(one);
  22. one = null;
  23.  
  24. }

数据格式使用的是json格式,一个很厉害的数据传输格式。

页面中还用到children页面美化:

  1. //填充
  2. var isfull = 1;
  3. function fulldata() {
  4. if (isfull == 1) return;
  5. var myenumid = "myenumid007";
  6. $("select[myenumid='" + myenumid + "']").parent().children().remove('div');
  7. $("select[myenumid='" + myenumid + "']").removeClass();
  8. $("select[myenumid='" + myenumid + "']").html("");
  9. $("select[myenumid='" + myenumid + "']").append("<option value='食'>食</option>");
  10. $("select[myenumid='" + myenumid + "']").append("<option value='衣'>衣</option>");
  11. $("select[myenumid='" + myenumid + "']").append("<option value='住'>住</option>");
  12. $("select[myenumid='" + myenumid + "']").append("<option value='用'>用</option>");
  13. $("select[myenumid='" + myenumid + "']").append("<option value='行'>行</option>");
  14. $("select[myenumid='" + myenumid + "']").append("<option value='其它'>其它</option>");
  15. $("select[myenumid='" + myenumid + "']").chosen();
  16.  
  17. $("select[myenumid='" + myenumid + "']").parent().children().children("a").attr("class", "chzn-single chzn-single-with-drop");
  18. $("select[myenumid='" + myenumid + "']").parent().children().children("div").attr("style", "left:0px;top:24px");
  19. $("select[myenumid='" + myenumid + "']").parent().children().children("div").children("div").children().focus();
  20. $("select[myenumid='" + myenumid + "']").parent().children().children("div").children("ul").children("li:first-child").attr("class", "active-result result-selected highlighted");
  21. myenumid = null;
  22. }

代码实现起来是很容易的、

PAK下载

PC端(100086bank.com)

文采有限、写不出好的东西、但有一颗自信的心!

谢谢!

一个程序员一月的开销统计分析、(附上PC端和移动端android源码)的更多相关文章

  1. 如果你恨一个程序员 忽悠他去做iOS开发(戏谑篇)

    .state { text-align: right; height: 16px; line-height: 16px; color: #999; padding-top: 5px; overflow ...

  2. 如果你恨一个程序员,忽悠他去做iOS开发

    如果你恨一个程序员,忽悠他去做iOS开发.不管他背景是cobel还是 java,送他一本iOS开发的书.这种书最好是国人写的,容易以偏概全一点,相比洋鬼子的书,更容易学到皮毛.这叫舍不得孩子套不着狼, ...

  3. 每一个程序员需要了解的10个Linux命令

    作为一个程序员,在软件开发职业生涯中或多或少会用到Linux系统,并且可能会使用Linux命令来检索需要的信息.本文将为各位开发者分享10个有用的Linux命令,希望对你会有所帮助. 以下就是今天我们 ...

  4. --专访雷果国: 从1.5K到18K 一个程序员的5年成长之路--

    导语:今年三月份,在CSDN博客和新浪微博上有一篇<从1.5K到18K,一个程序员的5年成长之路>被众人分享和传阅,这篇博文首先介绍了作者自学之初薄弱的基础,然后通过流水账形式分享了那个从 ...

  5. 阅读<构建之法>第13、14、15、16、17章 与 《一个程序员的生命周期》读后感

    第十三章   软件测试 这一章介绍了很多关于测试的方法,比如说单元测试,代码覆盖率测试,构建验证测试,验收测试等,我有一个很纠结的问题,如果我开发软件,是把这么多测试全做完,还是挑一些测试来进行呢?如 ...

  6. [Python 学习]2.5版yield之学习心得 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …

    [Python 学习]2.5版yield之学习心得 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source - [Pyth ...

  7. 【转】每一个程序员需要了解的10个Linux命令

    作为一个程序员,在软件开发职业生涯中或多或少会用到Linux系统,并且可能会使用Linux命令来检索需要的信息.本文将为各位开发者分享10个有用的Linux命令,希望对你会有所帮助. 以下就是今天我们 ...

  8. 如果恨一个程序员,忽悠他去做iOS开发

    如果你恨一个程序员,忽悠他去做iOS开发.不管他背景是cobel还是 java,送他一本iOS开发的书.这种书最好是国人写的,容易以偏概全一点,相比洋鬼子的书,更容易学到皮毛.这叫舍不得孩子套不着狼, ...

  9. 作为一个程序员,你了解 win 上有哪些必装的软件吗

    关于 win 的一些基础必知内容之前已经分享过,没有看过的可以戳此处→Windows 使用之那些你还不知道操作 新系统安装的第一个软件 Google Chrome 毫无疑问,作为程序员应该是首选的浏览 ...

随机推荐

  1. 设置Cookie最大存活时间

    Cookie和Session都是由Tomcat自动创建的对象,Cookie的默认最大存活时间是 -1 ,即当浏览器关闭时Cookie就消失了:Session的默认最大存活时间是30分钟. 使用Sess ...

  2. Azure 镜像市场支持一键部署到云

    本视频教程介绍了Azure 镜像市场和一键部署到云. Azure 镜像市场(AMP)由世纪互联运营,是一个联机应用程序和服务市场,它通过独立软件服务商(ISV)能够成为 Azure 客户(Custom ...

  3. bootstrap-table学习

    参考学习  http://bootstrap-table.wenzhixin.net.cn/getting-started/ 包括Bootstrap库(如果你的项目没有使用它)和bootstrap-t ...

  4. sqlserver中计算某个特殊字符在字符串中出现的位置

    -- ============================================= -- Author: Evan -- Create date: 2018年3月15日10:: -- D ...

  5. 2017-3-7-lint82single-number

    2017-3-7-lint82single-number 在河之洲 算法 小书匠 problem 82single-number/ solution int singleNumber(vector&l ...

  6. 通过WMIC导出系统日志

    查看日志类型 wmic nteventlog get filename C:\>wmic nteventlog get filename FileName appevent secevent s ...

  7. 棋盘问题——POJ1321

    棋盘问题——深度优先搜索 题目描述: 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘 ...

  8. 解决ubuntu上ifconfig没有eth0/ens33且无法上网的问题

    ifconfig只有一个轮回端口lo,没有我们的网卡eth0,一开始以为是vsphere(新手对于vsphere不是很熟悉)上我的虚拟机配置问题,还查看了相关的网络配置,后来才知道是因为: 问题出在配 ...

  9. Bootstrap历练实例:激活导航状态

    激活导航状态 您可以在激活状态的胶囊式导航和列表导航中放置徽章.通过使用 <span class="badge"> 来激活链接,如下面的实例所示: <!DOCTY ...

  10. 【思维题 线段树】cf446C. DZY Loves Fibonacci Numbers

    我这种maintain写法好zz.考试时获得了40pts的RE好成绩 In mathematical terms, the sequence Fn of Fibonacci numbers is de ...