西安郵電大學(xué)計(jì)算機(jī)學(xué)院數(shù)據(jù)庫課程設(shè)計(jì)的報(bào)告480p兩個(gè)財(cái)富值_第1頁
西安郵電大學(xué)計(jì)算機(jī)學(xué)院數(shù)據(jù)庫課程設(shè)計(jì)的報(bào)告480p兩個(gè)財(cái)富值_第2頁
西安郵電大學(xué)計(jì)算機(jī)學(xué)院數(shù)據(jù)庫課程設(shè)計(jì)的報(bào)告480p兩個(gè)財(cái)富值_第3頁
西安郵電大學(xué)計(jì)算機(jī)學(xué)院數(shù)據(jù)庫課程設(shè)計(jì)的報(bào)告480p兩個(gè)財(cái)富值_第4頁
西安郵電大學(xué)計(jì)算機(jī)學(xué)院數(shù)據(jù)庫課程設(shè)計(jì)的報(bào)告480p兩個(gè)財(cái)富值_第5頁
已閱讀5頁,還剩405頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

...wd......wd......wd...西安郵電大學(xué)〔計(jì)算機(jī)學(xué)院〕綜合應(yīng)用軟件課程設(shè)計(jì)報(bào)告題目:易貸寶-企業(yè)-銀行-農(nóng)民貸款系統(tǒng)專業(yè)名稱:計(jì)算機(jī)科學(xué)與技術(shù)班級:計(jì)科1201學(xué)生姓名:學(xué)號〔8位〕:指導(dǎo)教師:喬安全起止時(shí)間:2014年11月17日—2014年11月28日一、課程設(shè)計(jì)目的①在數(shù)據(jù)庫原理課程根基上,培養(yǎng)綜合運(yùn)用數(shù)據(jù)庫知識的能力。②學(xué)會數(shù)據(jù)庫的設(shè)計(jì)、規(guī)劃以及應(yīng)用程序的開發(fā)和調(diào)試,掌握客戶機(jī)/服務(wù)器體系構(gòu)造,學(xué)會大型數(shù)據(jù)庫的工作模式。③大型數(shù)據(jù)庫管理系統(tǒng)存放于服務(wù)器,數(shù)據(jù)庫放在服務(wù)器上,學(xué)生在客戶機(jī)上開發(fā)應(yīng)用程序訪問服務(wù)器上的數(shù)據(jù)庫,并完成應(yīng)用系統(tǒng)所要求的各項(xiàng)功能,應(yīng)用程序的開發(fā)需要采用當(dāng)前流行的新軟件。二、課程設(shè)計(jì)內(nèi)容數(shù)據(jù)庫的設(shè)計(jì)根據(jù)所選的題目,經(jīng)過調(diào)查研究,構(gòu)建合理的數(shù)據(jù)庫。首先構(gòu)建基本表以及表和表之間的聯(lián)系,在此根基上構(gòu)建視圖和索引表。此次選題共建設(shè)11張表,各表之間外鍵關(guān)聯(lián)極強(qiáng)。服務(wù)器的組織根據(jù)建設(shè)的基本表、視圖和索引表搭建服務(wù)器。前端開發(fā)工具:采用JAVA進(jìn)展編寫服務(wù)器端:JDK1.7,mysql5.6開發(fā)應(yīng)用程序利用所學(xué)的新軟件開發(fā)工具進(jìn)展應(yīng)用程序的開發(fā)。連接、調(diào)試。三、軟硬件環(huán)境及系統(tǒng)所采用的體系構(gòu)造系統(tǒng)的體系構(gòu)造為C/S構(gòu)造1.前臺——開發(fā)工具Eclipse+ADT22.0.3+GenyMotion開發(fā)語言為:Java〔使用JDK1.6〕開發(fā)環(huán)境:Android4+Windows8x64后臺——開發(fā)工具:MyEclipse2014+Tomcat7.0+MySQL5.6+SQLYog開發(fā)語言為:Java〔使用JDK1.7〕,SQL開發(fā)環(huán)境為:Windows7x64四、需求分析易貸寶是一款為面向農(nóng)戶貸款的貸款應(yīng)用,實(shí)行“公司+農(nóng)戶+信貸〞的產(chǎn)業(yè)鏈模式進(jìn)展申貸。所謂“公司+農(nóng)戶+信貸〞,就是實(shí)行農(nóng)戶貸款,企業(yè)擔(dān)保方式。利用企業(yè)市場洞察力、信息敏感度和資金實(shí)力相對較強(qiáng)的優(yōu)勢,由企業(yè)為關(guān)聯(lián)農(nóng)戶貸款提供擔(dān)保,既把企業(yè)與農(nóng)戶的利益嚴(yán)密地聯(lián)系在一起,又能增強(qiáng)單個(gè)農(nóng)戶抗風(fēng)險(xiǎn)能力創(chuàng)新?lián)P问剑瑢?shí)現(xiàn)風(fēng)險(xiǎn)共擔(dān)。這樣利用農(nóng)戶現(xiàn)成生產(chǎn)設(shè)備減少了生產(chǎn)成本,公司和周圍農(nóng)民都有了經(jīng)濟(jì)效益。通過對農(nóng)業(yè)龍頭企業(yè)進(jìn)展支持,以及對形成農(nóng)業(yè)產(chǎn)業(yè)鏈的前提——農(nóng)戶種植、收購、加工等上下游提供相應(yīng)的信貸支持、提供信息服務(wù)、發(fā)放惠農(nóng)卡等,不僅滿足企業(yè)開展的資金需求還對上下游客戶提供延伸的金融服務(wù),這樣銀行也能降低風(fēng)險(xiǎn),形成農(nóng)戶、企業(yè)、銀行等多贏局面?!耙踪J寶〞是一款集貸款服務(wù)、供需資訊于一體的金融類應(yīng)用程序。很好的運(yùn)用了“公司+農(nóng)戶+信貸〞這一模式。具體流程如下:農(nóng)產(chǎn)品收購企業(yè)向銀行申請貸款,并按照企業(yè)和銀行協(xié)議,棉花收購企業(yè)需將這筆款項(xiàng)中的一定比例借給有需求的農(nóng)戶,用于農(nóng)戶的擴(kuò)大再生產(chǎn),并負(fù)責(zé)向農(nóng)戶提供生產(chǎn)技術(shù)指導(dǎo)和產(chǎn)品收購。這筆借款以農(nóng)戶在企業(yè)中的訂單做抵押。農(nóng)戶將其現(xiàn)在或?qū)砩a(chǎn)的農(nóng)場品銷售給企業(yè),作為獲得貸款的對價(jià)和歸還貸款的方式,最后由企業(yè)向銀行歸還貸款本息?!耙踪J寶〞創(chuàng)新了信貸管理方式,依托產(chǎn)業(yè)化龍頭企業(yè),把銀行貸款發(fā)放和農(nóng)業(yè)產(chǎn)業(yè)化有機(jī)地結(jié)合在一起?!耙踪J寶〞貸款的設(shè)計(jì)理念是通過產(chǎn)業(yè)鏈貸款資金封閉運(yùn)行化解信貸資金的風(fēng)險(xiǎn),從而解決農(nóng)戶貸款難、擔(dān)保難的問題。同時(shí)立足于簡化企業(yè)貸款流程,減少企業(yè)款項(xiàng)下達(dá)時(shí)間,為企業(yè)提供優(yōu)惠利率。同時(shí)利用銀行做資金融通,以“公司+農(nóng)戶+信貸〞的模式實(shí)現(xiàn)三方共贏。具體的需求分析:農(nóng)戶注冊登陸:用戶名、用戶密碼、用戶密碼確認(rèn)、手機(jī)號。注冊之后出現(xiàn)用戶信息,可以暫不填寫,但是在申請貸款之前必須得填寫用戶信息:身份認(rèn)證:中文姓名、身份證號、出生年月、現(xiàn)居地址經(jīng)營狀況:種植行業(yè)、種植規(guī)模、種植年限、年投入成本、年收入、貸款用途銀行卡號:卡號、余額〔貸款對象須從事種養(yǎng)殖業(yè),并且有過種植經(jīng)歷,即年限不可為0。規(guī)模、年限、成本收入、貸款用途作為銀行放貸金額的考量〕擔(dān)保企業(yè)信息:企業(yè)名稱、企業(yè)注冊號、企業(yè)地址、企業(yè)、申請進(jìn)度〔銀行線上核實(shí),符合后根據(jù)企業(yè)地址線下審核,審查交易來往記錄等內(nèi)容〕4.貸款申請:申請農(nóng)戶、貸款金額、貸款期限、申請企業(yè)、狀態(tài)、申請日期、用途、應(yīng)還日期〔必須完善用戶信息之后才能在線申請,提交申請后根據(jù)用戶信息進(jìn)展審核〕5.進(jìn)度查詢:查詢用戶款項(xiàng)審核進(jìn)度。有未審核,正在審核,審核未通過三種情況。未通過審核列有未審核通過的原因。6.在線尋找擔(dān)保企業(yè):可以通過定位尋找附近的農(nóng)企,也可搜索企業(yè),并實(shí)現(xiàn)線上溝通。發(fā)送擔(dān)保申請。7.申請記錄:申請記錄中有農(nóng)戶貸款的申請記錄,記錄農(nóng)戶貸款的金額,貸款日期,款項(xiàng)狀態(tài)〔已還款,未還款〕顯示到期歸還金額,應(yīng)還款的日期8.還款:產(chǎn)品申請數(shù)量單價(jià)合計(jì)金額提交還款申請等待企業(yè)線上核實(shí)〔農(nóng)戶提交申請后,在線下交易的同時(shí)企業(yè)完成線上核實(shí)〕9.邀請好友:邀請通訊錄中的好友。方式為短信。10.平臺介紹:介紹易貸寶,語言通俗易懂關(guān)于:簡單介紹開發(fā)團(tuán)隊(duì)意見反響:提交文字信息客服:一鍵撥打客服11.企業(yè)注冊:用戶名、密碼、密碼確認(rèn)、企業(yè)名稱、注冊號〔注冊號必須輸入完整信息,名稱可以模糊匹配〕成立日期、登記機(jī)關(guān)、地址、經(jīng)營范圍、企業(yè)12.我的消息:查看農(nóng)戶的消息,并在線溝通。13.查看申請:查看向自己申請的農(nóng)戶的所有信息,線下核實(shí)之后線上通過擔(dān)保申請。通過或拒絕擔(dān)保申請的農(nóng)戶。通過的農(nóng)戶保存在我的擔(dān)保農(nóng)戶中。查看農(nóng)戶的還款申請,在交易的同時(shí)通過還款驗(yàn)證,農(nóng)戶的申請記錄中款項(xiàng)更新為已還款。14.我的擔(dān)保農(nóng)戶:查看所擔(dān)保農(nóng)戶的所有信息、審核進(jìn)度、并實(shí)現(xiàn)交流。五、系統(tǒng)設(shè)計(jì) 1.系統(tǒng)構(gòu)造圖〔功能模塊圖〕 見附件一2.后臺接口:1.農(nóng)民注冊servlet/FarmerRegistServletStringname農(nóng)民姓名Stringpassword密碼Stringphone農(nóng)民返回值name_has_registed有信息姓名,注冊失敗phone_has_registed有重復(fù),注冊失敗regist_success注冊成功regist_failed注冊失敗2.農(nóng)民資料完善://localhost:8080/servlet/FarmerDetialServletIntegerfid農(nóng)民idStringplantIndestury種植行業(yè)StringplantScale種植規(guī)模IntegerplantYear種植年限FloatannualInvestment年投入FloatannualEarning年收入StringloanUse貸款用途返回值message_save_success信息保存成功message_has_certained信息已確認(rèn)過save_failed保存失敗3.農(nóng)民個(gè)人信息完善://localhost:8080/servlet/FarmerIdentityServletIntegerfid農(nóng)民idcnNAME中文姓名identityNumber農(nóng)民身份證號birthday生日address住址返回值message_save_success信息保存成功message_has_certained信息已確認(rèn)過save_failed保存失敗4.農(nóng)民持有銀行卡情況://localhost:8080/servlet/servlet/FBankCardServletIntegerfid農(nóng)民idStringbankName銀行名稱StringcardNumber銀行卡號返回值cardNumber_has_certained銀行卡已存在message_save_success信息保存成功message_has_save信息保存〔超過一張卡〕save_failed保存失敗5.企業(yè)注冊://localhost:8080/servlet/servlet/EnterpriseServletStringname企業(yè)登錄名Stringpassword登錄密碼StringenterpriseName企業(yè)名稱StringregistNumber企業(yè)注冊號返回結(jié)果name_has_registed存在一樣注冊名,注冊失敗enterpriseName_has_registed存在一樣企業(yè)名,注冊失敗registNumber_has_registed存在一樣注冊號,注冊失敗regist_success注冊成功regist_failed注冊失敗6.企業(yè)信息完善/servlet/EnterpriseDetialServletIntegereid企業(yè)idStringestablishDate成立日期StringregistAuthorith登記機(jī)關(guān)StringbusinessScope經(jīng)營范圍StringphoneNumber企業(yè)返回結(jié)果message_save_success信息插入成功message_has_certained信息已插入save_failed插入失敗7.企業(yè)持有銀行卡情況://localhost:8080/servlet/servlet/EBankServletIntegereid企業(yè)idStringbankName銀行名稱StringcardNumber銀行卡號返回值number_has_certained銀行卡已存在message_save_success信息保存成功message_has_save信息保存〔超過一張卡〕message_save_failed保存失敗8.農(nóng)民登陸://localhost:8080/servlet/FarmerLoginServletStringname農(nóng)民姓名Stringpassword密碼返回結(jié)果login_failed登陸失敗{"farmer":{"id":1,"name":"zc","password":"123","hasIdentity":1,"hasDetial":1,"hasBankCard":1},"farmerDetial":{"fid":1,"plantIndestury":"123","plantScale":"123","plantYear":123,"annualInvestment":123,"annualEarning":123,"loanUse":"123"},"farmerIdentity":{"fid":1,"cnName":"qwe","identityNumber":"123","birthday":"123","address":"123"},"bankCards":[{"fid":1,"bankName":"123","cardNumber":"123","money":10000}]}9.企業(yè)登陸://localhost:8080/servlet/EnterpriseLoginServletStringname企業(yè)登錄名Stringpassword登錄密碼返回結(jié)果login_failed登陸失敗{"enterprise":{"id":1,"name":"haha","password":"123","enterpriseName":"123","registNumber":"123","hasDetial":1,"hasBankCard":1},"enterprisedetial":{"eid":1,"establishDate":"123","registAuthorith":"123","businessScope":"123","phoneNumber":"123"},"bankCards":[{"eid":1,"bankName":"123","cardNumber":"123","money":6000000}]}10.更新農(nóng)民銀行卡金額/servlet/FarmerUpdateMoneyServletIntegerid銀行卡idFloatmoney錢數(shù)返回結(jié)果money_less_failed所要取出的錢大于已有的錢,取錢失敗get_money_success取錢成功save_money_success存錢成功update_money_failed更新失敗11.更新企業(yè)銀行卡金額/servlet/EnterpriseUpdateMoneyServletIntegerid銀行卡idFloatmoney錢數(shù)返回結(jié)果money_less_failed所要取出的錢大于已有的錢,取錢失敗get_money_success取錢成功save_money_success存錢成功update_money_failed更新失敗12.查詢企業(yè)銀行卡信息/servlet/EBankCardDetialServletIntegereid企業(yè)id返回結(jié)果no_bankcard無銀行卡信息[{"id":1,"eid":1,"bankName":"123","cardNumber":"123","money":5930000},{"id":2,"eid":2,"bankName":"234","cardNumber":"23456","money":8000000}]13.查詢農(nóng)民銀行卡信息/servlet/FBankCardDetialServletIntegerfid農(nóng)民id返回結(jié)果no_bankcard無銀行卡信息[{"id":1,"fid":1,"bankName":"123","cardNumber":"123","money":110000}]14.模擬在線查找企業(yè)〔產(chǎn)生10個(gè)eid隨機(jī)數(shù),返回enterprise,enterprisedetial中的全部內(nèi)容〕/servlet/FindEnterpriseServlet返回結(jié)果[{"id":1,"name":"haha","enterpriseName":"123","registNumber":"123","businessScope":"123","phoneNumber":"123","establishDate":"123"},….]隨機(jī)返回10個(gè)企業(yè)及其信息用戶提出擔(dān)保申請/servlet/GurantEnterpriseServletIntegerfid農(nóng)民idIntegereid企業(yè)id返回結(jié)果gurant_success申請?zhí)岢龀晒urant_failed申請?zhí)岢鍪?6.企業(yè)承受農(nóng)戶擔(dān)保申請/servlet/UpdateGurantDateSuccessServletIntegerid擔(dān)保信息id返回結(jié)果update_success更新申請信息為承受成功update_failed更新申請信息為承受失敗17.企業(yè)不承受農(nóng)戶擔(dān)保申請/servlet/UpdateGurantDateFailedServletIntegerid擔(dān)保信息id返回結(jié)果update_success更新申請信息為不承受成功update_failed更新申請信息為不承受失敗18.用戶向企業(yè)貸款/servlet/LoanServletfid農(nóng)民ideid企業(yè)idfbid農(nóng)民存入的銀行卡idmoney貸款金額remoney應(yīng)還金額loanDays貸款期限useOfLoan貸款用途返回結(jié)果loan_success申請貸款成功loan_failed申請貸款失敗19.企業(yè)正在審理貸款/servlet/LoanPendingServletid貸款id返回參數(shù)loan_update_pending_success更改狀態(tài)為企業(yè)正在審理貸款成功loan_update_pending_failed更改狀態(tài)為企業(yè)正在審理貸款失敗20.企業(yè)決定不放貸/servlet/LoanFailedServletid貸款id返回結(jié)果loan_update_failed_success更改狀態(tài)為企業(yè)不放貸成功loan_update_failed_failed更改狀態(tài)為企業(yè)不放貸失敗21.企業(yè)決定放貸/servlet/LoanSuccessServletid貸款idebid企業(yè)所用的銀行卡id返回結(jié)果loan_update_success_success更改狀態(tài)為企業(yè)決定放貸成功loan_update_success_success更改狀態(tài)為企業(yè)決定放貸失敗22.農(nóng)戶查看我的所有貸款情況/servlet/FarmerAllLoanServletIntegerfid返回結(jié)果[{"eid":1,"establishDate":"123","registAuthorith":"123","businessScope":"123","phoneNumber":"123","fid":1,"fbid":1,"money":123,"remoney":234,"loanDays":12,"loanSuccessDate":"2014-11-17","repaymentDate":"2014-11-17","useOfLoan":"12","status":7}]23.農(nóng)戶提出還款/servlet/FarmerRepaymentServletIntegerfid農(nóng)民idIntegereid企業(yè)idIntegerfbid農(nóng)戶選擇還款的銀行卡idIntegerlid借款項(xiàng)idStringrepaymentContent還款內(nèi)容返回結(jié)果reapply_success更改狀態(tài)為農(nóng)民提出還款成功reapply_failed更改狀態(tài)為農(nóng)民提出還款失敗24.企業(yè)正在審核還款/servlet/LoanRependingServletIntegerid還款id返回結(jié)果update_loan_repending_success更改狀態(tài)為企業(yè)正在審核還款成功update_loan_repending_failed更改狀態(tài)為企業(yè)正在審核還款失敗25.企業(yè)決定還款成功/servlet/RepaySuccessServletIntegerid還款idIntegerebid企業(yè)銀行卡id返回結(jié)果update_loan_success_success更改狀態(tài)為企業(yè)決定還款成功成功update_loan_success_failed更改狀態(tài)為企業(yè)決定還款成功失敗26.農(nóng)戶查看所有還款信息27.農(nóng)戶查詢?nèi)繐?dān)保信息/servlet/FarmerGetAllGurantInfoServletIntegerfid農(nóng)戶id返回結(jié)果no_data沒有數(shù)據(jù)JSON:[{"id":1,"askDate":"2014-11-17","status":1,"enterprise":{"enterpriseName":"dell"}}]擔(dān)保進(jìn)度數(shù)據(jù)28.企業(yè)查詢所有擔(dān)保信息/servlet/EnterpriseGetAllGurantApplyServletIntegereid企業(yè)id返回結(jié)果(no_data沒有數(shù)據(jù)JSON:[{"id":3,"askDate":"2014-11-17","cnName":"zzzc","identityNumber":,"address":"xianchangan"}]此處返回status=1的信息,表示我要處理的擔(dān)保申請3.數(shù)據(jù)庫設(shè)計(jì)ER圖1.農(nóng)戶表farmeridINT農(nóng)民id〔主鍵〕nameVARCHAR(255)農(nóng)民姓名passwordVARCHAR(255)登陸密碼phoneVARCHAR(20)農(nóng)民hasIdentityTINYINT是否確認(rèn)身份信息,1確認(rèn)hasDetialTINYINT是否確認(rèn)經(jīng)營信息,1確認(rèn)hasBankCardTINYINT是否擁有銀行卡2.農(nóng)戶細(xì)節(jié)表farmerdetialfidINT農(nóng)民id〔主鍵+外鍵〕plantIndesturyVARCHAR(255)種植行業(yè)plantScaleVARCHAR(255)種植規(guī)模plantYearINT種植年限annualInvestmentFLOAT年投入annualEarningFLOAT年收入loanUseVARCHAR(255)貸款用途3.農(nóng)戶確認(rèn)信息表farmeridentityfidINT農(nóng)民id〔主鍵+外鍵〕cnNameVARCHAR(255)中文姓名identityNumberVARCHAR(255)身份證號birthdayVARCHAR(255)出生年月addressVARCHAR(255)現(xiàn)居地址4.農(nóng)民銀行卡表fbankcardidINT銀行卡id〔主鍵〕fidINT農(nóng)民id〔外鍵〕bankNameVARCHAR(255)銀行名稱cardNumberVARCHAR(255)銀行卡號moneyFLOAT金額5.企業(yè)表enterpriseidINT企業(yè)id〔主鍵〕nameVARCHAR(255)企業(yè)登陸名稱passwordVARCHAR(255)密碼enterpriseNameVARCHAR(255)企業(yè)名稱registNumberVARCHAR(255)注冊號hasDetialTINYINT是否填寫企業(yè)信息hasBankCardTINYINT是否填寫銀行卡6.企業(yè)細(xì)節(jié)表enterprisedetialeidINT企業(yè)id〔主鍵+外鍵〕establishDateVARCHAR(255)成立日期registAuthorithVARCHAR(255)登記機(jī)關(guān)businessScopeVARCHAR(255)經(jīng)營范圍phoneNumberVARCHAR(255)企業(yè)7.企業(yè)銀行卡表ebankcardidINT銀行卡id〔主鍵〕eidINT企業(yè)id〔外鍵〕bankNameVARCHAR(255)銀行名稱cardNumberVARCHAR(255)銀行卡號moneyFLOAT金額8.擔(dān)保表gurantidINT擔(dān)保信息id〔主鍵〕fidINT農(nóng)民id〔外鍵〕eidINT企業(yè)id〔外鍵〕askDateVARCHAR(255)申請日期gurantDateVARCHAR(255)申請成功日期statusINT申請狀態(tài)9.信息表messageidINT信息idtypeINT信息類型contentVARCHAR(255)信息內(nèi)容fidINT農(nóng)民ideidINT企業(yè)iddateVARCHAR(255)發(fā)送日期hasReadTINYINT是否閱讀,1已讀10.貸款表loanIdINT貸款id〔主鍵〕fidINT農(nóng)民id〔外鍵〕eidINT企業(yè)id〔外鍵〕fbidINT農(nóng)民存入的銀行卡id〔外鍵〕ebidINT企業(yè)存入的銀行卡id〔外鍵〕moneyFLOAT貸款金額remoneyFLOAT應(yīng)還金額loanDaysINT貸款期限loanSuccessDateVARCHAR(255)成功貸款日期repaymentDateVARCHAR(255)還款日期useOfLoanVARCHAR(255)貸款用途statusINT狀態(tài)11.還款表repaymentIdINT還款id〔主鍵〕fidINT農(nóng)民id〔外鍵〕eidINT企業(yè)id〔外鍵〕fbidINT農(nóng)民存入的銀行卡id〔外鍵〕ebidINT企業(yè)存入的銀行卡id〔外鍵〕lidINT借款id〔外鍵〕repaymentContentVARCHAR(255)還款工程六、系統(tǒng)的實(shí)施系統(tǒng)的實(shí)現(xiàn)方法,應(yīng)用程序的編制方法,重要代碼的說明?!部梢越o出流程圖〕系統(tǒng)的實(shí)現(xiàn)方法Server端使用JDBC+Apache的開源接口進(jìn)展數(shù)據(jù)庫操作,同時(shí)使用了傳統(tǒng)的Servlet+Service+Dao設(shè)計(jì),實(shí)現(xiàn)了事務(wù)管理,Servlet層實(shí)現(xiàn)參數(shù)接收和信息發(fā)送接收,Service實(shí)現(xiàn)業(yè)務(wù)邏輯的處理,Dao層直接操縱數(shù)據(jù)庫數(shù)據(jù)庫的設(shè)計(jì)軟件的設(shè)計(jì)采用面向?qū)ο蟮膶?shí)現(xiàn)方式,所以數(shù)據(jù)庫要遵循這一思想,先不編寫數(shù)據(jù)庫SQL腳本,先設(shè)計(jì)實(shí)體類〔對應(yīng)服務(wù)器代碼的com.xiyou.ydb.model層下的Entity〕Server端對請求參數(shù)的處理關(guān)鍵代碼如下:publicclassEncodingFilterimplementsFilter{privateStringcharset="UTF-8";@Overridepublicvoiddestroy(){}@OverridepublicvoiddoFilter(ServletRequestrequest,ServletResponseresponse, FilterChainchain)throwsIOException,ServletException{ ServletRequestreq=(ServletRequest)request;if(req.getMethod().equalsIgnoreCase("GET")){if(!(reqinstanceofGetRequest)){ req=newGetRequest(req,charset);//處理get請求編碼 } }else{ req.setCharacterEncoding(charset);//處理post請求編碼 } chain.doFilter(req,response); }@Overridepublicvoidinit(FilterConfigfConfig)throwsServletException{ Stringcharset=fConfig.getInitParameter("charset");if(charset!=null&&!charset.isEmpty()){this.charset=charset; } }}使用一個(gè)過濾器,實(shí)現(xiàn)全站請求碼轉(zhuǎn)碼,方便中文數(shù)據(jù)的發(fā)送和承受Server端數(shù)據(jù)庫連接方式為了提高Server的系統(tǒng)吞吐量,采用C3P0數(shù)據(jù)庫連接池,C3P0依賴的jar包有c3p0-0.9.2-pre1.jar和mchange-commons-0.2.jar,并且需要在classpath下添加c3p0數(shù)據(jù)庫的連接信息c3p0-config.xml:<?xmlversion="1.0"encoding="UTF-8"?><c3p0-config><!--數(shù)據(jù)庫連接池--><default-config><propertyname="jdbcUrl"><![CDATA[ jdbc:mysql://localhost:3306/ydb?useUnicode=true&characterEncoding=UTF8&useServerPrepStmts=true&prepStmtCacheSqlLimit=256&cachePrepStmts=true&prepStmtCacheSize=256&rewriteBatchedStatements=true]]></property><propertyname="driverClass">com.mysql.jdbc.Driver</property><propertyname="user">root</property><propertyname="password">root</property><propertyname="acquireIncrement">3</property><propertyname="initialPoolSize">10</property><propertyname="minPoolSize">2</property><propertyname="maxPoolSize">10</property></default-config></c3p0-config>Android網(wǎng)絡(luò)請求實(shí)現(xiàn)方式:原那么上手寫,不使用GitHub上的開源工程,不使用別人的jar包。關(guān)鍵代碼:請求/** *用于POST請求生成字符串的方法 * *@paramurl *(請求的地址) *@paramparams *(POST請求參數(shù)) *@return請求結(jié)果 */publicstaticStringqueryStringForPost(Stringurl, Map<String,String>rawParams){ Postrequest=newPost(url); List<NameValuePair>params=null;if(rawParams!=null){ params=newArrayList<NameValuePair>();for(Stringkey:rawParams.keySet()){ params.add(newBasicNameValuePair(key,rawParams.get(key))); } }try{if(params!=null){ request.setEntity(newUrlEncodedFormEntity(params,.UTF_8)); } }catch(UnsupportedEncodingExceptione1){ e1.printStackTrace(); }Stringresult=null;try{ Responseresponse=newDefaultClient().execute(request);if(response.getStatusLine().getStatusCode()==200){ System.out.println("requesesuccessful"); result=EntityUtils.toString(response.getEntity(),"utf-8"); System.out.println("result>"+result);returnresult; } }catch(ClientProtocolExceptione){ e.printStackTrace(); result=Utils.NETWORK_ERROR;returnresult; }catch(IOExceptione){ e.printStackTrace(); result=Utils.NETWORK_ERROR;returnresult; }returnnull; }該方法返回的字符串即為Server返回的數(shù)據(jù),可以是JSON數(shù)據(jù),之后通過客戶端對JSON數(shù)據(jù)進(jìn)展解析,從而得到View上的數(shù)據(jù)Android端的MVC設(shè)計(jì)方式:Model即和服務(wù)器同步,使用實(shí)體類封裝數(shù)據(jù)庫中的數(shù)據(jù);View層即使用xml文件完成靜態(tài)布局,節(jié)省代碼;Controller即使用Activity控制Android程序的執(zhí)行Android實(shí)現(xiàn)的類似WEB(B/S)的應(yīng)用的Cookie保存在Android平臺下,有一個(gè)特殊的類android.app.Application,作用范圍類似WEB應(yīng)用的ApplicationScope,使用它來保存應(yīng)用程序的當(dāng)前狀態(tài)publicclassAppStatusextendsApplication{publicfinalstaticStringTAG="AppStatus";privateFarmerfarmer;privateFarmerDetialfarmerDetial;privateFarmerIdentityfarmerIdentity;privateList<FBankCard>fbankCards=newArrayList<FBankCard>();privateEnterPriseenterPrise;privateEnterPriseDetialenterPriseDetial;privateList<EBankCard>ebankCards=newArrayList<EBankCard>();publicFarmergetFarmer(){returnfarmer; }publicvoidsetFarmer(Farmerfarmer){this.farmer=farmer; }publicFarmerDetialgetFarmerDetial(){returnfarmerDetial; }publicvoidsetFarmerDetial(FarmerDetialfarmerDetial){this.farmerDetial=farmerDetial; }publicFarmerIdentitygetFarmerIdentity(){returnfarmerIdentity; }publicvoidsetFarmerIdentity(FarmerIdentityfarmerIdentity){this.farmerIdentity=farmerIdentity; }publicList<FBankCard>getFbankCards(){returnfbankCards; }publicvoidsetFbankCards(List<FBankCard>fbankCards){this.fbankCards=fbankCards; }publicEnterPrisegetEnterPrise(){returnenterPrise; }publicvoidsetEnterPrise(EnterPriseenterPrise){this.enterPrise=enterPrise; }publicEnterPriseDetialgetEnterPriseDetial(){returnenterPriseDetial; }publicvoidsetEnterPriseDetial(EnterPriseDetialenterPriseDetial){this.enterPriseDetial=enterPriseDetial; }publicList<EBankCard>getEbankCards(){returnebankCards; }publicvoidsetEbankCards(List<EBankCard>ebankCards){this.ebankCards=ebankCards; }publicbooleanisFarmerStatus(){returnisFarmerStatus; }publicvoidsetFarmerStatus(booleanisFarmerStatus){this.isFarmerStatus=isFarmerStatus; }privatebooleanisFarmerStatus;//當(dāng)前用戶種類true為農(nóng)戶.false為企業(yè)@OverridepublicvoidonCreate(){super.onCreate(); Log.i(TAG,"onCreate"); }}Android端自定義View的實(shí)現(xiàn):以SearchView為例:這個(gè)自定義View繼承自android.widget.RelativeLayout,實(shí)現(xiàn)他的三個(gè)構(gòu)造函數(shù)publicSearchView(Contextcontext)publicSearchView(Contextcontext,AttributeSetattrs)和publicSearchView(Contextcontext,AttributeSetattrs,intdefStyle),這樣便能通過xml文件調(diào)用。之后需要實(shí)現(xiàn)protectedvoidonDraw(CanvasCanvas)方法,對整個(gè)View進(jìn)展繪制;最后重寫publicbooleanonTouch(MotionEventevent)方法,對點(diǎn)擊時(shí)間監(jiān)聽響應(yīng),即可完成點(diǎn)擊后執(zhí)行的動作。完整代碼:publicclassSearchViewextendsRelativeLayout{publicstaticfinalStringTAG="SearchView";privateOnClickListeneronClickListener;publicOnClickListenergetOnClickListener(){returnonClickListener;}publicvoidsetOnClickListener(OnClickListeneronClickListener){this.onClickListener=onClickListener;}publicSearchView(Contextcontext){super(context); initBitmap();}publicSearchView(Contextcontext,AttributeSetattrs){super(context,attrs);initBitmap();}publicSearchView(Contextcontext,AttributeSetattrs,intdefStyle){super(context,attrs,defStyle);initBitmap();}publicstaticfinalbooleanD=BuildConfig.DEBUG;//TODOBuildConfig@SuppressWarnings("unused")privatelongTIME_DIFF=1500;int[]lineColor=newint[]{0x7B,0x7B,0x7B};int[]innerCircle0=newint[]{0xb9,0xff,0xFF};int[]innerCircle1=newint[]{0xdf,0xff,0xFF};int[]innerCircle2=newint[]{0xec,0xff,0xFF};int[]argColor=newint[]{0xF3,0xf3,0xfa};privatefloatoffsetArgs=0;privatebooleanisSearching=false;privateBitmapbitmap;privateBitmapbitmap1;privateBitmapbitmap2;publicbooleanisSearching(){returnisSearching; }publicvoidsetSearching(booleanisSearching){this.isSearching=isSearching;offsetArgs=0;invalidate();}privatevoidinitBitmap(){if(bitmap==null){bitmap=Bitmap.createBitmap(BitmapFactory.decodeResource( getResources(),R.drawable.gplus_search_bg));}if(bitmap1==null){bitmap1=Bitmap.createBitmap(BitmapFactory.decodeResource( getResources(),R.drawable.locus_round_click));}if(bitmap2==null){bitmap2=Bitmap.createBitmap(BitmapFactory.decodeResource( getResources(),R.drawable.gplus_search_args));} }@SuppressLint("DrawAllocation")@OverrideprotectedvoidonDraw(Canvascanvas){super.onDraw(canvas); canvas.drawBitmap(bitmap,getWidth()/2-bitmap.getWidth()/2, getHeight()/2-bitmap.getHeight()/2,null);if(isSearching){RectrMoon=newRect(getWidth()/2-bitmap2.getWidth(), getHeight()/2,getWidth()/2,getHeight()/2 +bitmap2.getHeight()); canvas.rotate(offsetArgs,getWidth()/2,getHeight()/2); canvas.drawBitmap(bitmap2,null,rMoon,null);offsetArgs=offsetArgs+3; }else{ canvas.drawBitmap(bitmap2,getWidth()/2-bitmap2.getWidth(), getHeight()/2,null);} canvas.drawBitmap(bitmap1,getWidth()/2-bitmap1.getWidth()/2, getHeight()/2-bitmap1.getHeight()/2,null);if(isSearching)invalidate();}@OverridepublicbooleanonTouchEvent(MotionEventevent){switch(event.getAction()){caseMotionEvent.ACTION_DOWN: handleActionDownEvenet(event);returntrue;caseMotionEvent.ACTION_MOVE:returntrue;caseMotionEvent.ACTION_UP:returntrue; }returnsuper.onTouchEvent(event); }privatevoidhandleActionDownEvenet(MotionEventevent){ RectFrectF=newRectF(getWidth()/2-bitmap1.getWidth()/2, getHeight()/2-bitmap1.getHeight()/2,getWidth()/2 +bitmap1.getWidth()/2,getHeight()/2 +bitmap1.getHeight()/2);if(rectF.contains(event.getX(),event.getY())){if(D) Log.d(TAG,"clicksearchdevicebutton");onClickListener.onClick(this);if(!isSearching()){ setSearching(true); }else{ setSearching(false); } } }}數(shù)據(jù)庫3NF和關(guān)聯(lián)關(guān)系1NF:所謂第一范式〔1NF〕是指數(shù)據(jù)庫表的每一列都是不可分割的基本數(shù)據(jù)項(xiàng),同一列中不能有多個(gè)值,即實(shí)體中的某個(gè)屬性不能有多個(gè)值或者不能有重復(fù)的屬性。如果出現(xiàn)重復(fù)的屬性,就可能需要定義一個(gè)新的實(shí)體,新的實(shí)體由重復(fù)的屬性構(gòu)成,新實(shí)體與原實(shí)體之間為一對多關(guān)系。在第一范式〔1NF〕中表的每一行只包含一個(gè)實(shí)例的信息。簡而言之,第一范式就是無重復(fù)的列。2NF:第二范式〔2NF〕是在第一范式〔1NF〕的根基上建設(shè)起來的,即滿足第二范式〔2NF〕必須先滿足第一范式〔1NF〕。第二范式〔2NF〕要求數(shù)據(jù)庫表中的每個(gè)實(shí)例或行必須可以被惟一地區(qū)分。為實(shí)現(xiàn)區(qū)分通常需要為表加上一個(gè)列,以存儲各個(gè)實(shí)例的惟一標(biāo)識。這個(gè)惟一屬性列被稱為主關(guān)鍵字或主鍵、主碼。3NF:在第二范式的根基上,數(shù)據(jù)表中如果不存在非關(guān)鍵字段對任一候選關(guān)鍵字段的傳遞函數(shù)依賴那么符合第三范式。簡而言之,第三范式就是屬性不依賴于其它非主屬性。所謂傳遞函數(shù)依賴,指的是如果存在"A

B

C"的決定關(guān)系,那么C傳遞函數(shù)依賴于A。數(shù)據(jù)庫關(guān)系1.企業(yè)-農(nóng)戶擔(dān)保關(guān)系2.農(nóng)戶自身身份,經(jīng)營狀況3.企業(yè)自身身份,經(jīng)營狀況,銀行卡信息4.農(nóng)戶-企業(yè)貸款信息5.農(nóng)戶-企業(yè)還款信息局部界面演示農(nóng)戶首頁農(nóng)戶首頁登錄歡迎界面農(nóng)戶賬戶農(nóng)戶還款進(jìn)度農(nóng)戶貸款進(jìn)度農(nóng)戶賬戶農(nóng)戶還款進(jìn)度農(nóng)戶貸款進(jìn)度農(nóng)戶申請擔(dān)保進(jìn)度搜索界面農(nóng)戶申請擔(dān)保進(jìn)度搜索界面搜索結(jié)果搜索結(jié)果貸款界面貸款界面選擇銀行卡選擇銀行卡選擇銀行卡選擇銀行卡企業(yè)主界面農(nóng)戶還款項(xiàng)企業(yè)主界面農(nóng)戶還款項(xiàng)企業(yè)賬戶企業(yè)賬戶企業(yè)承受貸款企業(yè)承受貸款關(guān)于App企業(yè)承受還款關(guān)于App企業(yè)承受還款七、系統(tǒng)評價(jià)及心得體會1.數(shù)據(jù)庫設(shè)計(jì)過程:數(shù)據(jù)庫設(shè)計(jì)時(shí),不能著急,要按照明確的額步驟執(zhí)行:明確需求分析->寫出數(shù)據(jù)字典->畫數(shù)據(jù)流圖->畫ER圖->創(chuàng)立實(shí)體類->寫SQL腳本。其中,數(shù)據(jù)庫的ER圖實(shí)際上是在模擬數(shù)據(jù)更新流程,此時(shí)可以用到Activiti工作流這個(gè)框架來進(jìn)展梳理,也可以直接使用Activiti工作框架執(zhí)行各個(gè)步驟;Server端開發(fā)過程:分層開發(fā),明確數(shù)據(jù)庫之后,先編寫model層〔domain,vo〕,即使用面向?qū)ο蟮姆绞接成鋽?shù)據(jù)庫,注意,1-1映射使用本類主鍵作為映射類的外鍵;1-N映射在1端使用Set集合映射N端,在N端使用1端的實(shí)體類映射;N-N映射使用中間表映射,中間表包含兩端的主鍵作為外鍵,實(shí)體類設(shè)計(jì)時(shí)保存兩端的實(shí)體類。這種思想符合面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。Service層要明確邏輯關(guān)系,要盡量想到各種異常情況,對不同的狀況有不同的反響,這樣客戶端才能做出合理的響應(yīng)。同時(shí),Service層要使用事務(wù),保證數(shù)據(jù)庫操作的原子性。Servlet層需要對參數(shù)進(jìn)展簡單處理,類似于Struts2的ModelDriven方式承受參數(shù),將表單數(shù)據(jù)封裝成一個(gè)數(shù)據(jù)庫中的實(shí)體類,對Service層傳遞對象,這樣更符合面向?qū)ο蟮能浖O(shè)置方式。另外,在Servlet層注入Service層的對象,在Service層注入Dao層的對象。這種理念符合Spring的Ioc容器理念,可以高效開發(fā)程序。Dao層為了簡化JDBC的操作,可以使用Apache的接口操縱數(shù)據(jù)庫,org.apache,commons.dbutils.QueryRunner,這個(gè)類底層實(shí)現(xiàn)了JDBC的基本操作,包括PreparedStatment,自動開啟事務(wù),包括事務(wù)回滾。查詢過程中,可以使用一下幾個(gè)類:org.apache,commons.dbutils.handlers.BeanHandlerorg.apache,commons.dbutils.handlers.BeanListHandlerorg.apache,commons.dbutils.handlers.ScalerHandlerorg.apache,commons.dbutils.handlers.MapHandlerorg.apache,commons.dbutils.handlers.MapListHandler等,可以實(shí)現(xiàn)對基本數(shù)據(jù)類型的簡單封裝,提高程序開發(fā)效率。Android開發(fā)的代碼重用問題使用Style,xml元素來實(shí)現(xiàn)背景動畫等元素。八、參考文獻(xiàn)1.?Tomcat與JavaWeb開發(fā)技術(shù)詳解〔第二版〕?孫衛(wèi)琴電子工業(yè)出版社2.?瘋狂Java講義〔第二版〕?李剛電子工業(yè)出版社3.?瘋狂Android講義〔第二版〕?李剛電子工業(yè)出版社4.?MySQL5.6從零開場學(xué)(視頻教學(xué)版)?劉增杰,李坤清華大學(xué)出版社5.?數(shù)據(jù)庫系統(tǒng)原理與應(yīng)用?孟彩霞,張榮,喬安全人民郵電出版社6.?輕量級JavaEE企業(yè)應(yīng)用實(shí)戰(zhàn)Struts2+Spring3+Hibernate3整合開發(fā)?李剛電子工業(yè)出版社九、附錄:源代碼Android端代碼:代碼包構(gòu)造YDB:srcCom.xiyou.ydb.constants〔常量〕BankUtils.java〔銀行卡常量〕HeadViewBgs.java〔頭像文件常量〕Com.xiyou.ydb.data〔數(shù)據(jù)包〕AppStatus.java〔CS客戶端保存應(yīng)用程序狀態(tài)信息〕Com.xiyou.ydb.model.enterprise〔企業(yè)Model包〕EBankCard.java〔企業(yè)銀行卡Model〕EnterPrise.java〔企業(yè)Model〕EnterPriseDetial.java〔企業(yè)詳細(xì)信息Model〕Com.xiyou.ybd.model.farmer〔農(nóng)戶model包〕Farmer.java〔農(nóng)戶Model〕FarmerDetial.java〔農(nóng)戶詳細(xì)信息Model〕FarmerIdentity.java〔農(nóng)戶身份信息Model〕FBankCard.java〔農(nóng)戶銀行卡Model〕Com.xiyou.modek.gurantee〔農(nóng)戶企業(yè)擔(dān)保信息Model〕GuranteeStatus.java〔擔(dān)保狀態(tài)常量〕GurantEnterprise.java〔企業(yè)擔(dān)保Model〕Com.xiyou.ydb.model.loan〔貸款信息Model〕Loan.java〔貸款信息Model〕LoanStatus.java〔貸款狀態(tài)常量〕Repayment.java〔還款Model〕C.enterprise〔企業(yè)網(wǎng)絡(luò)請求異步實(shí)現(xiàn)類〕EnterpriseAcceptGuranteeTasj.java〔企業(yè)承受擔(dān)?!矱nterpriseAddBankCardTask.java〔企業(yè)添加銀行卡〕EnterpriseDetialAddTask.java〔企業(yè)添加詳細(xì)信息〕EnterpriseFindAllBankCardsTask.java〔企業(yè)查找自己所有銀行卡〕EnterpriseGetAllGurantTask.java〔企業(yè)查看所有向我申請擔(dān)保農(nóng)戶〕EnterpriseGetAllLoanApplyTask.java〔企業(yè)查看所有貸款申請〕EnterpriseGetAllRepaymentTask,java〔企業(yè)查看所有還款申請〕EnterpriseLoanFailedTask.java〔企業(yè)不同意放貸〕EnterpriseLoanSuccessTask.java〔企業(yè)同意放貸〕EnterpriseLoginTask.java〔企業(yè)登陸〕EnterprisePendingLoanTask.java〔企業(yè)審核貸款〕EnterpriseRegistTask.java〔企業(yè)注冊〕EnterpriseRejectGuranteeTask.java〔企業(yè)拒絕擔(dān)保〕EnterpriseUpdateMoneyTask.java〔企業(yè)更新銀行卡金額〕C.farmer〔農(nóng)戶網(wǎng)絡(luò)請求異步實(shí)現(xiàn)類〕FarmerAddBankCardTask.java〔農(nóng)戶添加銀行卡〕FarmerAskGuranteeTask.java〔農(nóng)戶擔(dān)保申請〕FarmerAskLoanTask.java〔農(nóng)戶向企業(yè)申請貸款〕FarmerDetialTask.java〔農(nóng)戶完善詳細(xì)信息〕FarmerFindAllBankCardsTask.java〔農(nóng)戶查看所有銀行卡〕FarmerGetAllGuranteeEntepriserTask.java〔農(nóng)戶查看擔(dān)保企業(yè)〕FarmerGetAllRepaymentTask.java〔農(nóng)戶查看所有還款信息〕FarmerGetGuranteeInfoTask.java〔農(nóng)戶查看擔(dān)保信息〕FarmerGetLoanProgressTask.java〔農(nóng)戶查看貸款進(jìn)度〕FarmerIdentityTask.java〔農(nóng)戶更新身份信息〕FarmerLoginTask.java〔農(nóng)戶登錄〕FarmerRigistTask.java〔農(nóng)戶注冊〕FarmerRepaymentApplyTask.java〔農(nóng)戶還款申請〕FarmerUpdateMoneyTask.java〔農(nóng)戶更新銀行卡金額〕FarmerFindEnterpriseTask.java〔農(nóng)戶查看附近企業(yè)〕GetLoanDetialTask.java〔農(nóng)戶查看貸款詳情〕Com.xiyou.ydb.util〔工具類〕ActionBarUtil.java〔初始化ActionBar〕BitmapUtils.java〔高效處理Bitmap〕DialogUtils.java〔對話框生成〕Utils.java〔請求〕JSONUtils.java〔處理JSON數(shù)據(jù)〕ToastUtils.java〔產(chǎn)生Toast〕ValidateUtils.java〔表單驗(yàn)證〕Com.xiyou.ydb.view.adapter〔listview的適配器〕AdPagerAdapter.java〔首頁廣告適配器〕BankListAdapter.java〔銀行列表〕LoanProcessAdapter.java〔貸款進(jìn)度〕MoreListViewAdapter.java〔更多頁面〕RepaymentProgressAdapter.java〔還款進(jìn)度〕Com.xiyou.ydbmon〔公共使用的Activity〕AboutActivity.java〔關(guān)于〕AddBankCardActivity.java〔添加銀行卡〕BankChooseActivity.java〔選擇銀行卡〕FeedBackActivity.java〔反響〕LoanFlowActivity.java〔貸款流程〕MoreFragment.java〔更多〕MyBankCardActivity.java〔我的銀行卡〕SearchActivity.java〔搜索〕StartUpActivity.java〔歡迎界面〕Com.xiyou.ydb.view.customer〔自定義視圖〕SearchView.java〔搜索框〕Com.xiyou.ydb.view.enterprise〔企業(yè)視圖〕EnterpriseDetialActivity.java〔企業(yè)上傳詳細(xì)信息〕EnterpriseGurantProgressActicity.java〔企業(yè)查看擔(dān)保申請〕EnterpriseLoanProgressActivity.java〔企業(yè)查看貸款信息〕EnterpriseMainActivity.java〔企業(yè)主界面〕EnterpriseRegistActivity.java〔企業(yè)注冊〕EnterpriseRepaymentProgressActivity.java〔企業(yè)查看還款進(jìn)度〕Com.xiyou.ydb.view.enterprise.fragment〔企業(yè)視圖片段〕EnterpriseAccountFragment.java〔企業(yè)賬戶信息〕EnterpriseMainFragment.java〔企業(yè)主界面〕Com.xiyou.ydb.view.farmer〔農(nóng)戶視圖〕FarmerDetialActivity.java〔農(nóng)戶添加詳細(xì)信息〕FarmerGuranteeProgressActivity.java〔農(nóng)戶查看擔(dān)保進(jìn)度〕FarmerIdentityActivity.java〔農(nóng)戶查看身份信息〕FarmerLoanActivity.java〔農(nóng)戶查看貸款信息〕FarmerLoanProgressActivity.java〔農(nóng)戶查看貸款進(jìn)度〕FarmerMainActivity.java〔農(nóng)戶主界面〕FarmerRepaymentActivity.java〔農(nóng)戶查看還款信息〕FarmerRepaymentApplyActivity.java〔農(nóng)戶查看還款申請〕FarmerRepaymentProgressActivity.java〔農(nóng)戶查看還款進(jìn)度〕FarmerRegistActivity.java〔農(nóng)戶注冊〕SearchGuranteeResultActivity.java〔農(nóng)戶查看擔(dān)保結(jié)果〕Com.xiyou.ydb.view.farmer.fragment〔農(nóng)戶視圖片段〕FarmerMainFragment.java〔農(nóng)戶主視圖〕FarmerMyAccountFragment.java〔農(nóng)戶賬戶信息〕Com.xiyou.ydb.view.listener〔監(jiān)聽器〕AdPagerChangeListener.java〔廣告更新〕resanimloading_progress_anim.xmlstart_up_app_copyright_anim.xmlstart_up_app_icon_anim.xmlstart_up_app_name_anim.xmldrawablebg_button_blue_normal.xmlbg_button_blue_pressed.xmlbg_button_blue_selector.xmlbg_button_orange_normal.xmlbg_button_orange_pressed.xmlbg_button_orange_selector.xmlbg_edittext_focused.xmlbg_edittext_selector.xmlbg_edittext_unfocused.xmlcommon_block_bg_normal.xmlcommon_block_bg_pressed.xmlcommon_block_bg_selector.xmlmain_activity_viewpager_page_circle_selected.xmlmain_activity_viewpager_page_circle_unselected.xmlprogress_left_bg.xmlprogress_middle_bg.xmlprogress_right_faild_bg.xmlprogress_right_succ_bg.xmlradiobottom_main_bg.xmlradiobutton_main_tab_text_color.xmlradiobutton_main_tab1.xmlradiobutton_main_tab2.xmlradiobutton_main_tab3.xmltoast_background.xmllayoutactivity_about.xmlacitivty_add_bank_card.xmlactivity_bank_choose_xmlactivity_enteprise_detial.xmlactivity_enteprise_gurant_progress.xmlactivity_enteprise_loan_progress.xmlactivity_enteprise_main.xmlactivity_enteprise_enterprise_regist.xmlactivity_enteprise_repayment_progress.xmlactivity_farmer_detial.xmlactivity_farmer_gurantee_progress.xmlactivity_farmer_identity,xmlactivity_farmer_loan_progress.xmlactivity_farmer_loan.xmlactivity_farmer_main.xmlactivity_farmer_repayment_apply.xmlactivity_farmer_repayment_process.xmlactivity_farmer_repayment.xmlactivity_feed_back.xmlactivity_loan_flow.xmlactivity_login.xmlactivity_my_bank_card.xmlactivity_register_farmer.xmlactivity_search_gurantee_result.xmlactivity_search.xmlactivity_start_up.xmlactivity_confirme.xmldialog_confirme.xmldialog_progress_loading.xmldialog_update_money.xmlfragment_common_more.xmlfragment_enterprise_account_tab.xmlfragment_enterprise_main_tab.xmlfragment_farmer_account_tab.xmlfragment_farmer_main_tab.xmlitem_bank_choose_bank.xmlitem_common_listview.xmlitem_enterprise_gurantee_progress.xmlitem_enterprise_loan_progress.xmlitem_enterprise_repayment_progress.xmlitem_farmer_repayment_progress.xmlitem_gurantee_enterprise.xmlitem_gurantee_progress.xmlitem_loan_progress.xmlitem_loan_repayment_apply.xmlitem_my_bank_card.xmlitem_repayment_progress.xmltoast_common.xmlvaluescolor.xmldimens.xmlstrings.xmlstyles.xmlAndroidManifest.xml2.詳細(xì)代碼:BankUtils.javapackagecom.xiyou.ydb.constants;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importcom.xiyou.ydb.R;/***銀行名+iconid*@authorzc**/publicclassBankUtils{ publicstaticList<Map<String,Object>>banks=newArrayList<Map<String,Object>>(); static{ String[]bankNames=new

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論