• 一个程序员一月的开销统计分析、(附上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 = 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)

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

    谢谢!

  • 相关阅读:
    Codeforces Round #337 (Div. 2) A. Pasha and Stick 数学
    Educational Codeforces Round 4 D. The Union of k-Segments 排序
    Educational Codeforces Round 4 C. Replace To Make Regular Bracket Sequence 栈
    Educational Codeforces Round 4 B. HDD is Outdated Technology 暴力
    Educational Codeforces Round 4 A. The Text Splitting 水题
    Codeforces Round #290 (Div. 2) D. Fox And Jumping dp
    HDU 5601 N*M bulbs 找规律
    Codeforces Round #290 (Div. 2) C. Fox And Names dfs
    Codeforces Round #290 (Div. 2) B. Fox And Two Dots dfs
    Codeforces Round #290 (Div. 2) A. Fox And Snake 水题
  • 原文地址:https://www.cnblogs.com/chinhi/p/suzukiibd.html
Copyright © 2020-2023  润新知