图片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;
}

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

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. feign容断忽略某些异常

    @HystrixCommand(ignoreExceptions={ BusinessException.class, IllegalArgumentException.class, BadCrede ...

  2. iOS VIPER架构(二)

    第一篇文章对VIPER进行了简单的介绍,这篇文章将从VIPER的源头开始,比较现有的几种VIPER实现,对VIPER进行进一步的职责剖析,并对各种细节实现问题进行挖掘和探讨.最后给出两个完整的VIPE ...

  3. Wireshark漫谈(一)

    可能有人会说,一个软件的安装有什么好谈的,无非就是"同意,同意,同意......是,是,是"诸如此类的选项.的确,Wireshark软件的安装步骤是挺简单的,不过本文不是想谈安装步 ...

  4. LoadRunner使用(1)

    一.LoadRunner脚本录制 LoadRunner测试分为两个步骤: 第一步:录制脚本,其实就是监控并记录这段时间发送的HTTP请求 第二步:启动多个线程,用录制的脚本,模拟多线程发送请求. (1 ...

  5. 2017-3-7-lint183-wood-cut

    2017-3-7-lint183-wood-cut 在河之洲 算法 lintcode problem lintcode183 wood cut solution 注意两点 注意边界条件 取的是最大值而 ...

  6. [神经网络]一步一步使用Mobile-Net完成视觉识别(四)

    1.环境配置 2.数据集获取 3.训练集获取 4.训练 5.调用测试训练结果 6.代码讲解 本文是第四篇,下载预训练模型并训练自己的数据集. 前面我们配置好了labelmap,下面我们开始下载训练好的 ...

  7. HTTP、HTTP2.0、HTTPS、SPDY

    本文原链接:https://cloud.tencent.com/developer/article/1082516 HTTP,HTTP2.0,SPDY,HTTPS你应该知道的一些事 1.web始祖HT ...

  8. Java执行系统命令工具类(JDK自带功能)

    CommandUtil.java package utils; import java.io.ByteArrayOutputStream; import java.io.IOException; im ...

  9. Html5的等学习

    看了w3c感觉是说明文档,没有详细的说明,然后就去看其他的 html5其实就是在html的基础上做了一些改变,感觉html5的推广还是需要时间的,因为习惯问题,虽然html5有很多很方便的标签如art ...

  10. python - 辨识alert、window以及操作

    selenium之 辨识alert.window以及操作 原创 2016年08月24日 11:01:04 4820 0 2 更多关于python selenium的文章,请关注我的专栏:Python ...