一个程序员一月的开销统计分析、(附上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 毫无疑问,作为程序员应该是首选的浏览 ...
随机推荐
- zuul忽略表达式
如果有error过滤器,会进入error
- EF6 CodeFirst连接MySql 报nvarchar('max')错误解决办法
1.在DBContext类加标签[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))] 2.在Nuget控制台输入u ...
- ubuntu下安装ffmpeg扩展
可通过PPA进行安装 sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next sudo apt-get update sudo apt-get ...
- python 之format字符串格式化
print函数之format字符串格式化方法的使用与学习笔记. 一.映射关系 (1)“映射”示例,以下通过位置举例说明: [+]Example_1: >>> print(" ...
- java入门第一章——java开发入门
习题解答 一.填空题 (p2)1.java的三个技术平台分别是(java SE.java EE.java ME)(标准.企业.小型) (p3)2.java程序的运行环境简称为(JRE)(开发环境-JD ...
- cluvfy stage命令用法
1.获取集群验证工具cluvfy的帮助信息 grid@rac1:/home/grid>cluvfy -help USAGE: cluvfy [ -help ] cluvfy stage { -l ...
- coredata 删除与更新
http://blog.csdn.net/rhljiayou/article/details/18037729 //删除 -(void)deleteData { NSManagedObjectCont ...
- Bootstrap 徽章(Badges)
本章将讲解Bootstrap徽章(Badges),徽章与标签相似,主要的区别是徽章的圆角比较圆滑. 徽章(Badges)主要用于突出显示新的或未读的项,如果使用徽章,只需要把<span clas ...
- LiteIDE 错误: 进程无法启动
问题 运行 01_hello.go,提示以下错误 新建文件夹().exe [C:/Users/Administrator/Desktop/新建文件夹()] 错误: 进程无法启动. 原因 工程目录名不能 ...
- 在Linux下安装redis
http://www.cnblogs.com/xiaohongxin/p/6854095.html 追加: 通过配置文件启动最好先./redis.cli shutdown ,再到当前目录在./redi ...