




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 本科畢業論文(設計)基于Android平臺的個人理財軟件的設計與實現二級學院醫藥信息工程學院專 業計算機科學與技術班 級醫學智能2011級(1)班學生姓名林彬健學 號1107505151指導教師王鶴嫻2015 年 3 月誠 信 聲 明我聲明,所呈交的畢業論文(設計)是本人在老師指導下進行的研究工作及取得的研究成果。據我查證,除了文中特別加以標注和致謝的地方外,論文(設計)中不包含其他人已經發表或撰寫過的研究成果,也不包含為獲得其他教育機構的學位或證書而使用過的材料。我承諾,論文(設計)中的所有內容均真實、可信。畢業論文(設計)作者(簽名): 年 月 日基于Android平臺的個人理財軟件的設
2、計與實現【摘要】:個人理財管理系統是基于Android系統開發的一款手機應用程序。它主要是為了滿足人們在快節奏的生活中可以隨時記下自己的收支情況的需求。個人理財管理系統與傳統的記賬方式相比,體現了它的便捷性、安全性及可擴展性。系統采用Eclipse+ Android Developer Tools作為開發工具,以SQLite為數據庫。系統功能包括:用戶賬戶的注冊、用戶切換、用戶名密碼修改、賬戶刪除,語音識別記賬,收入信息的增刪改,支出信息的增刪改,收入類型的增刪,支出類型的增刪,收入信息分類統計,支出信息分類統計,收入支出總額統計,數據還原、清空等等。系統具有界面簡潔鮮明、功能便捷易用、操作人
3、性化等特征?!娟P鍵字】:收支管理;Android;SQLite;Personal Financial Management System Design and ImplementationAbstract:Personal financial management system is based on the Android system developed a mobile application.It is mainly to meet those people who want to write down their income and expenditure more quickly
4、 and conveniently in the fast-paced life. Compared with the traditional method, Personal financial management system reflects more convenience,security and scalability. Especially in this day and age, people are on the side of the phone. System uses Eclipse and Android Developer Tools as a developme
5、nt tool and SQLite as the database. Android technology is now very mature, we can easily develop.Personal Financial Management System of the main functional modules,including: user account registration, user switching, username password changes, account deletion, Income information management,Expend
6、iture information management,voice recognition accounting,Type of income management, Expenditure Type Manager, Income information classification statistics, expenditure information classification statistics, total income and expenditure statistics,Data reduction, data emptied and so on. The system h
7、as a simple and clear interface, easy-to-use features, user-friendly operation and other featuresKeywords: Revenue and expenditure management;Android;SQLite;目 錄1 緒論11.1 選題背景11.2 課題研究的目的和意義11.3 國內外現狀和發展趨勢12設計開發所用到的工具和技術32.1系統開發工具32.2 Android的介紹32.3 Eclipse的介紹42.4 SQLite的介紹53系統需求分析63.1需求分析63.2 可行性分析63
8、.2.1 系統可行性63.2.2 技術可行性63.2.3 經濟可行性73.3系統功能模塊74系統總體設計94.1系統總體設計分析94.2系統流程圖94.3 系統特點94.4 數據庫設計104.4.1 tb_account(賬戶表)1104.4.2 tb_income(收入信息表)1104.4.3 tb_pay(支出信息表)114.4.4 tb_ptype(支出類型表)124.4.5 tb_itype(收入類型表)125系統詳細設計與實現135.1 主界面設計135.2 收入/支出插入數據界面165.3 語音記賬界面215.4 類別維護界面315.5 收入/支出統計界面316.論文總結38參考文
9、獻39致 謝40緒論1.1 選題背景出門口訣“伸手要賞錢”分別代表著身份證、手機、鑰匙、傘、錢。在后PC時代的今天,手機成為最重要的移動終端,是我們出門出行的必攜物。以前,或許我們的手機只能為我們提供基本通信功能,而隨著Android系統的誕生,我們的生活迎來了一場不亞于“工業革命”帶給我們的巨大變化。基于Android系統的手機處理各類信息的能力得到了質的提升。而Android這個開源的操作系統,將享受這項優質服務的權利給了所有愿意使用它的人。Android從08年9月的1.1版到去年的L版,一路走來,從基本走向優化,全方面地為我們提供了出色的網絡、多媒體、通訊、娛樂等功能。這匹黑馬,從誕生
10、伊始到去年7月的“全球市場占有率達81.9%”,告訴我們它的出現是多么受人們歡迎。它備受追捧的原因不外乎它完全的對第三方軟件開發商和我們這些開發者的開發。我們可以在它上面實現無限自主的“自定義”。它宛如一張白紙,我們可以在上面隨意畫出自己想要的東西。它,貴在給予了我們自由。1.2 課題研究的目的和意義隨著高速經濟化,我們的生活節奏越來越快。我們忙東忙西,總會容易忽略忘記了一些生活細節,比如收支管理。為了更好的釋放一些時間來享受我們的生活,我們期待有這么一款軟件來幫助管理這些小數據。建立在Android操作系統上的個人理財系統,方便我們隨時隨地地記錄著這些零散的數據,從此我們不必再為收支費心,清
11、心地查看數據統計結果是我們唯一要做的事。1.3 國內外現狀和發展趨勢安卓在手機上的應用使得手機的功能有了很大改善,這使得越來越多的入主要依靠手機查詢大量信息,而用戶們不斷提高的需求也決定了越來越多的基于安卓平臺的應用軟件及系統的產生。若是基于安卓平臺的個人理財系統得到廣泛推廣,人們能從該應用顯而易見的了解到個人的財務狀況,明確的使用自身錢財,了解到日常中支出比例,調整支出,正確理財。(1) 開放性手機平臺:android是Google開發的基于Linux平臺的開源手機操作系統。Google通過與運營商、設備制造商、手機公司和其他有關各方結成深層次的合作伙伴關系,希望借助建立標準化、開放式的智能
12、手機操作系統,在移動產業內形成一個開放式的生態系統。(2) 網絡集成性很高:涵蓋了生活中各個方面的網絡應用,對長期使用網絡、信息依賴度比較高的人群很合適。(3) Android具備創新性自從:Google開發出Android后,許多人認為其技術可信度要比其它操作系統略勝一籌,但這并不是用戶購買Android智能手機的唯一原因。人們認為Android是一種相對較新的、又較為成熟的技術,在達到巔峰之前還有很大發展空間。(4) Android平臺在數量上逐漸主宰市場:市場分析機構NPD發布的數據顯示,2014年4-6月份發售的智能手機中,33%為Android手機,而RIM手機發售比例為28%,iP
13、hone為22%.(5) Android在其它領域的拓展:android不僅促進了手機產業的發展,它的全面計算服務和豐富的功能支持,已將應用拓展到手機以外的其他領域。Android平臺的通用性可以適用于不同的屏幕、有線和無線設備。Android的系統和應用程序開發人員將更多的涉足多媒體、移動互聯網設備、數字視頻和家庭娛樂設備、汽車、醫藥、網絡、監測儀器和工業管理、機頂盒等新領域。2設計開發所用到的工具和技術2.1系統開發工具個人財務管理系統的開發及運行環境如下所述:操作系統:Windows7JDK環境:Java Development Kit version=1.7.0_45開發工具:Ecli
14、pse version=4.2.0Android Software Development Kit version=4.4.2Android Developer Tools Build: v22.3.0-887826開發語言:Java、XML數據庫軟件:SQLite 運行平臺:Windows虛擬機:720P(1080x720)2.2 Android的介紹Android是一種基于Linux的自由及開放源代碼的操作系統,主要使用于移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。尚未有統一中文名稱,中國大陸地區較多人使用“安卓”或“安致”。Android操作系統最初由An
15、dy Rubin開發,主要支持手機。2005年8月由Google收購注資。2007年11月,Google與84家硬件制造商、軟件開發商及電信營運商組建開放手機聯盟共同研發改良Android系統。該平臺由操作系統、中間件、用戶界面和應用軟件組成。它采用軟件堆層(Software Stack,又名軟件疊層)的架構,主要分為三部分。底層以Linux內核工作為基礎,由C語言開發,只提供基本功能;中間層包括函數庫Library和虛擬機Virtual Machine,由C+開發。最上層是各種應用軟件,包括通話程序,短信程序等,應用軟件則由各公司自行開發,以Java作為編寫程序的一部分。不存在任何以往阻礙移
16、動產業創新的專有權障礙,號稱是首個為移動終端打造的真正開放和完整的移動軟件。android分為四個層,從高層到低層分別是應用程序層、應用程序框架層、系統運行庫層和linux核心層。藍色的代表java程序,黃色的代碼為運行JAVA程序而實現的虛擬機,綠色部分為C/C+語言編寫的程序庫,紅色的代碼內核(linux內核+driver)。在Application Framework之下,由C/C+的程序庫組成,通過JNI完成從JAVA到C的調用。圖2-1 Android架構2.3 Eclipse的介紹eclipse-galileoEclipse 是一個開放源代碼的、基于 Java 的可擴展開發平臺。就
17、其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發環境。幸運的是,Eclipse 附帶了一個標準的插件集,包括 Java 開發工具(Java Development Tools,JDT)。 Eclipse最初是由IBM公司開發的替代商業軟件Visual Age for Java的下一代IDE開發環境,2001年11月貢獻給開源社區,現在它由非營利軟件供應商聯盟Eclipse基金會(Eclipse Foundation)管理。 2003年,Eclipse 3.0選擇OSGi服務平臺規范為運行時架構。 2007年6月,穩定版3.3發布。2008年6月發布代號為Ganymede的3.4版
18、。2009年7月發布代號為GALILEO的3.5版。Eclipse是著名的跨平臺的自由集成開發環境(IDE)。最初主要用來Java語言開發,但是目前亦有人通過插件使其作為其他計算機語言比如C+和Python的開發工具。Eclipse的本身只是一個框架平臺,但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性。許多軟件開發商以Eclipse為框架開發自己的IDE。Eclipse 最初由OTI和IBM兩家公司的IDE產品開發組創建,起始于1999年4月。IBM提供了最初的Eclipse代碼基礎,包括Platform、JDT 和PDE。目前由IBM牽頭,圍繞著Ecli
19、pse項目已經發展成為了一個龐大的Eclipse聯盟,有150多家軟件公司參與到Eclipse項目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一個開發源碼項目,它其實是 Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其開放源碼,任何人都可以免費得到,并可以在此基礎上開發各自的插件,因此越來越受人們關注。近期還有包括Oracle在內的許多大公司也紛紛加入了該項目,并宣稱Eclipse將來能成為可進行任何語言開發的IDE集大成者,使用者只需下載各種語言的插件即可。
20、2.4 SQLite的介紹SQLite,是一款輕型的數據庫,是遵守ACID的關系型數據庫管理系統,它包含在一個相對小的C庫中。它是D.RichardHipp建立的公有領域項目。它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它占用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統,同時能夠跟很多程序語言相結合,比如 Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源的世界著名數據庫管理系統來講,它的處理速度比他們都快。SQLite第一個Alpha版本誕生
21、于2000年5月。 至2015年已經有15個年頭,SQLite也迎來了一個版本 SQLite 3已經發布。3系統需求分析3.1需求分析生活中記錄日?;ㄤN、收入總是瑣碎累心的。特別是紙質記錄,除了攜帶不方便外,還很容易丟失損毀。這個時候,若是我們身邊常帶的手機上有這么一款可以隨時記錄收入和支出的軟件,因為在記錄收支的同時,會有一些注意事項需要標注,比如欠錢還錢注意事項。在對各項數據進行記錄后,用戶會希望看到對各類數據的統計,所以需要滿足基本需求的統計模塊。為了保證數據安全,增設賬戶模塊。為了區分各用戶的操作習慣,所以增設收入支出類型管理模塊和系統設置模塊。3.2 可行性分析3.2.1 系統可行性
22、可行性分析實在目前市場己有的類似系統調查的基礎上,辯證新系統的研發是否具備開發必要性和可能性,對新系統的研發從技術、經濟、社會因素等多個方面進行相關的分析和研究,以避免造成不必要的投資失誤,保證和提高新系統開發成功的把握。可行性研究的目的就是以最小的時間、金錢代價確定疑難問題是否能夠妥善解決。3.2.2 技術可行性此系統需要在Android手機操作系統上運行,用Eclipse進行開發,數據庫我選用輕量級的SqLite。開發所需的軟件技術成熟穩定,且支持Android系統的手機也分布廣泛,可以完全滿足所以的開發需求。至于自己在Android方面雖然沒有基礎,鑒于之前有Java編程經驗且時間充裕,
23、有足夠時間來學習空白的知識。 3.2.3 經濟可行性從市場經濟來看,近年來,國人生活品質提升,逐漸重視生活品質,手機應用便成了人們生活的一部分。當今社會己步入了一個全新的信息時代,人類的每個活動都和“信息”緊密的聯系在一起,小至個人的衣食住行,大及國家大事新聞發布,都依與信息的傳播與發布,而社會中最活躍的,在市場經濟高速發展的現在,手機應用普遍化,生活化,低端化成了不可阻擋的趨勢。從技術經濟來看,由于SQLite數據庫和Android SDK都是開源的免費的開發學習工具,而且本系統使用靈活方便,技術也不是很復雜,開發周期較短,因此開發成本較低。市場前景非??春茫哉f技術經濟方面來看,本項目也
24、是可行的。由此可以看出本系統開發所產生的效益將大于投入,所以開發本項目是可行的、必要的。 綜上所述,個人理財系統充分利用了軟硬件資源,技術成熟,成本低廉,操作簡單,管理方便,使理財記賬擺脫空間的限制,實現自動化處理和信息化管理,因此,本系統的實施是可行的。3.3系統功能模塊(1) 用戶管理:可以設置當前用戶(2) 類別維護:用戶可以添加日常收入、日常支出的類別,并且可以刪除相應的類別,填寫類別詳細。(3) 日常收入:用戶可以按照日常收入日期、金額、類別、備注進行數據的增添(4) 日常支出:用戶可以按照日常支出日期、金額、類別、備注進行數據的增添(5) 收入支出統計:按照一定的數據查詢條件,用戶
25、可以對數據進行統計。個人理財類別維護用戶信息收入支出查詢收入支出統計收入支出插入收入類別維護支出類別維護手動輸入語音輸入收入插入數據支出插入數據收入統計支出統計收入數據查詢支出數據查詢用戶信息維護圖3-1 個人理財管理系統功能結構圖4系統總體設計4.1系統總體設計分析系統設計是系統開發過程中的核心,從需求出發,總體上描述系統架構應該包含的組成要素。系統總體設計盡可能模塊化,描述了各個模塊之間的關聯。模塊化是一種很重要的設計思想,把一個復雜的系統分解為一些規模較小、功能簡單的、更易于建立和修改的部分。一方面,各個模塊具有相對獨立性,可以分別加以設計實現;另一方面,模塊之間的相互關系則通過一定的方
26、式予以說明。各模塊在這些關系的約束下共同構成一個統一的整體,完成系統的功能。總體設計的核心內容就是依據需求分析定義的功能,合理、有效地實現系統中定義的各種需求,包括模塊設計、數據庫設計等。4.2系統流程圖根據系統分析以及功能需求,系統的基本流程可以描述為:主界面選擇各子功能模塊,如下圖所示:個人理財系統密碼管理模塊用戶登錄模塊收/支數據查詢類別管理模塊收/支記錄模塊圖4-1 系統流程圖4.3 系統特點(1)目的明確:理財就是以管錢為中心,通過抓好賺錢、生錢、護錢,三個環節,管好自己手中的現金流動,讓資產在保值的基礎上,實現穩定持續的增長。(2)功能齊全:系統覆蓋了理財所需要的功能,收支,統計。
27、(3)適應性強:系統采用基于模型的設計思,用戶的特點抽象出管理模型,根據模型進行系統設計,使系統具有很好的開放性的拓展性,能夠高效率地適應各用戶群體的需求。4.4 數據庫設計4.4.1 tb_account(賬戶表)tb_account用于管理系統各個用戶信息。_id為用戶的唯一標識,為表的主鍵,也為其他表的_id相對應。Username和pwd分別代表著用戶名和密碼。這兩個是用戶后期可以修改的。賬戶表中存在著一個特殊的用戶:默認用戶。它的用戶名密碼用戶不可見。用戶在沒有登陸的情況下,數據保存在這個用戶下方。表4-1 用戶賬戶表字段名數據類型是否主鍵描述_idIntegerY用戶idUSERN
28、AMEVARCHAR(20)N用戶名PWDVARCHAR(50)N密碼4.4.2 tb_income(收入信息表)TYPE_ID與tb_itype表的type_id對應。No為收入信息的編號,不同用戶的收入信息存入數據庫的時候,都是以no=1為起始的,進而往后遞增。表4-2 收入信息表字段名數據類型是否主鍵描述_idINTEGERN用戶idNOINTEGERY編號MONEYDECIMALN收入金額TIMEDATEN收入時間TYPE_IDINTEGERN收入類別HANDLERVARCHAR(100)N放款方MARKVARCHAR(200)N備注PHOTOVARCHAR(200)N照片KINDVA
29、RCHAR(10)N類別4.4.3 tb_pay(支出信息表)TYPE_ID與tb_ptype表的type_id對應。No為收入信息的編號,不同用戶的支出信息存入數據庫的時候,都是以no=1為起始的,進而往后遞增。表4-3 支出信息表字段名數據類型是否主鍵描述_idINTEGERN用戶idNOINTEGERY自增MONEYDECIMALN支出金額TIMEDATEN支出時間TYPE_IDINTEGERN支出類別ADDRESSVARCHAR(100)N消費地點MARKVARCHAR(200)N備注PHOTOVARCHAR(200)N照片KINDVARCHAR(10)N類別4.4.4 tb_ptyp
30、e(支出類型表)tb_ ptype為支出類型表。由于每個用戶都有對應的用戶習慣,在添加支出信息時,收入類型的種類、使用頻率都會有所不同。在此設計支出類型表,可以為用戶提供修改支出類型的服務,根據自己的使用頻率修改支出類型。表4-4 支出類型表字段名數據類型是否主鍵可否為空描述_idINTEGERNN用戶idnoINTEGERYN類型編號type_idINTEGERNN類型id4.4.5 tb_itype(收入類型表)tb_itype為收入類型表。由于每個用戶都有對應的用戶習慣,在添加收入信息時,收入類型的種類、使用頻率都會有所不同。在此設計收入類型表,可以為用戶提供修改收入類型的服務,根據自己
31、的使用頻率修改收入類型。表4-5 收入類型表字段名數據類型是否主鍵可否為空描述_idINTEGERNN用戶idnoINTEGERYN類型編號type_idINTEGERNN類型id5系統詳細設計與實現5.1 主界面設計快速記個人記賬軟件主界面,有4個Fragment頁面。圖5-1 為快速記主界面主界面使用4個Fragment和PopupWindow生成,部分代碼:/* * 顯示PopupWindow彈出菜單 */private void showPopupWindow(View parent) DisplayMetrics dm = parent.getResources().getDispl
32、ayMetrics();int w_screen = dm.widthPixels;int h_screen = dm.heightPixels;/ System.out.println("你的設備w_screen:" + w_screen + " h_screen:" +/ h_screen);if (popWindow = null) LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);View view
33、= layoutInflater.inflate(R.layout.popwindow_layout, null);popWinLayout = (LinearLayout) view.findViewById(R.id.popwindow);/ 創建一個PopuWidow對象float radiowith = w_screen / 480.0f;float radioheight = h_screen / 800.0f;popWindow = new PopupWindow(view,(int) (popWinLayout.getLayoutParams().width), h_screen
34、 / 4);/ 使其聚集 ,要想監聽菜單里控件的事件就必須要調用此方法popWindow.setFocusable(true);pop_voiceView = (LinearLayout) popWinLayout.findViewById(R.id.pop_voice);pop_quickView = (LinearLayout) popWinLayout.findViewById(R.id.pop_quick);pop_voiceView.setOnClickListener(this);pop_quickView.setOnClickListener(this);/ 設置允許在外點擊消失
35、popWindow.setOutsideTouchable(true);/ 設置背景,這個是為了點擊“返回Back”也能使其消失,并且并不會影響你的背景popWindow.setBackgroundDrawable(new BitmapDrawable();/ 設置菜單顯示的位置int xPos = (w_screen - popWinLayout.getLayoutParams().width) / 2;popWindow.showAsDropDown(parent, xPos, 12);/ popWindow.showAsDropDown(parent, Gravity.CENTER, 0
36、);/ 監聽菜單的關閉事件popWindow.setOnDismissListener(new OnDismissListener() Overridepublic void onDismiss() / 改變顯示的按鈕圖片為正常狀態changeButtonImage(););/ 監聽觸屏事件popWindow.setTouchInterceptor(new OnTouchListener() public boolean onTouch(View view, MotionEvent event) if (event.getAction() = MotionEvent.ACTION_OUTSID
37、E) / 改變顯示的按鈕圖片為正常狀態changeButtonImage();return false;);/* * 點擊了“明細”按鈕 */private void clickFriendfeedBtn() / 實例化Fragment頁面fragmentPage1 = new FragmentPage1();/ 得到Fragment事務管理器FragmentTransaction fragmentTransaction = this.getSupportFragmentManager().beginTransaction();/ 替換當前的頁面fragmentTransaction.repl
38、ace(R.id.frame_content, fragmentPage1);/ 事務管理提交fragmentTmit();friendfeedFl.setSelected(true);friendfeedIv.setSelected(true);myfeedFl.setSelected(false);myfeedIv.setSelected(false);homeFl.setSelected(false);homeIv.setSelected(false);moreFl.setSelected(false);moreIv.setSelected(false);此處省略類似的函數.privat
39、e void clickPop_voiceBtn() Intent intent = new Intent(MainActivity.this, AddPay.class);/ 創建Intent對象intent.putExtra("cwp.id", userid);intent.putExtra("cwp.voice", "");/ 設置傳遞數據startActivity(intent);private void clickPop_quickBtn() Intent intent = new Intent(MainActivity.t
40、his, AddPay.class);/ 創建Intent對象intent.putExtra("cwp.id", userid);startActivity(intent);/* * 點擊了中間按鈕 */private void clickToggleBtn() showPopupWindow(plusImageView);/ 改變按鈕顯示的圖片為按下時的狀態plusImageView.setImageResource(R.drawable.toolbar_plusback);toggleImageView.setImageResource(R.drawable.toolb
41、ar_btn_pressed);/* * 改變顯示的按鈕圖片為正常狀態 */private void changeButtonImage() plusImageView.setImageResource(R.drawable.toolbar_plus);toggleImageView.setImageResource(R.drawable.toolbar_btn_normal);5.2 收入/支出插入數據界面添加軟鍵盤,來添加收入/支出消費記錄圖5-2 收入/支出插入數據界面添加收/支部分代碼,需要判斷是添加模式還是修改模式,是添加收入還是添加支出:btnSaveButton.setOnCli
42、ckListener(new OnClickListener() / 為保存按鈕設置監聽事件SuppressLint("NewApi")Overridepublic void onClick(View arg0) if (typemode = "add") / 添加模式String strMoney = txtMoney.getText().toString();/ 獲取金額文本框的值if (type = "pay") / 支出if (!strMoney.isEmpty() / 判斷金額不為空/ 創建InaccountDAO對象Pay
43、DAO payDAO = new PayDAO(AddPay.this);/ 創建Tb_inaccount對象Tb_pay tb_pay = new Tb_pay(userid,payDAO.getMaxNo(userid) + 1,get2Double(strMoney),setTimeFormat(null),(spType.getSelectedItemPosition() + 1),txtAddress.getText().toString(),txtMark.getText().toString();payDAO.add(tb_pay);/ 添加收入信息Toast.makeText(
44、AddPay.this,"新增收入數據添加成功!", Toast.LENGTH_SHORT).show();gotoback(); else Toast.makeText(AddPay.this, "請輸入收入金額!",Toast.LENGTH_SHORT).show(); else / 收入if (!strMoney.isEmpty() / 判斷金額不為空/ 創建InaccountDAO對象IncomeDAO incomeDAO = new IncomeDAO(AddPay.this);/ 創建Tb_inaccount對象Tb_income tb_in
45、come = new Tb_income(userid,incomeDAO.getMaxNo(userid) + 1,get2Double(strMoney),setTimeFormat(null),(spType.getSelectedItemPosition() + 1),txtInhandler.getText().toString(),txtMark.getText().toString();System.out.println("money"+ get2Double(strMoney);incomeDAO.add(tb_income);/ 添加收入信息/ 彈出信息
46、提示Toast.makeText(AddPay.this,"新增收入數據添加成功!", Toast.LENGTH_SHORT).show();gotoback(); else Toast.makeText(AddPay.this, "請輸入收入金額!",Toast.LENGTH_SHORT).show(); else / 修改模式if (type = "pay") / 支出if (!txtMoney.getText().toString().isEmpty() / 判斷金額不為空Tb_pay tb_pay = new Tb_pay()
47、; / 創建Tb_pay對象tb_pay.set_id(userid); / 設置useridtb_pay.setNo(Integer.parseInt(strno); / 設置編號tb_pay.setMoney(get2Double(txtMoney.getText().toString();/ 設置金額tb_pay.setTime(setTimeFormat(txtTime.getText().toString();/ 設置時間tb_pay.setType(spType.getSelectedItemPosition() + 1);/ 設置類別tb_pay.setAddress(txtAd
48、dress.getText().toString();/ 設置地點tb_pay.setMark(txtMark.getText().toString();/ 設置備注payDAO.update(tb_pay);/ 更新支出信息Toast.makeText(AddPay.this, "數據修改成功!",Toast.LENGTH_SHORT).show();gotoback(); else Toast.makeText(AddPay.this, "請輸入收入金額!",Toast.LENGTH_SHORT).show(); else / 收入if (!txtM
49、oney.getText().toString().isEmpty() / 判斷金額不為空Tb_income tb_income = new Tb_income();/ 創建Tb_income對象tb_income.set_id(userid);/ 設置編號tb_income.setNo(Integer.parseInt(strno);/ 設置編號tb_income.setMoney(get2Double(txtMoney.getText().toString();/ 設置金額tb_income.setTime(setTimeFormat(txtTime.getText().toString(
50、);/ 設置時間tb_income.setType(spType.getSelectedItemPosition() + 1);/ 設置類別tb_income.setHandler(txtInhandler.getText().toString();/ 設置付款方tb_income.setMark(txtMark.getText().toString();/ 設置備注incomeDAO.update(tb_income);/ 更新收入信息Toast.makeText(AddPay.this, "數據修改成功!",Toast.LENGTH_SHORT).show();goto
51、back(); else Toast.makeText(AddPay.this, "請輸入收入金額!",Toast.LENGTH_SHORT).show(););軟鍵盤部分代碼:public void onKey(int primaryCode, int keyCodes) Editable editable = ed.getText();if (typemode.equals("ModifyInP") / 添加模式獲取開始光標ed.setSelection(editable.length();int start = ed.getSelectionStart();if (primaryCode = Keyboard.KEYCODE_DELETE) / 刪
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度河北省二級注冊建筑師之法律法規經濟與施工模擬考核試卷含答案
- 2025年廢舊塑料回收利用產業政策環境與市場機遇研究報告
- 金融信貸業務風險控制與合作協議
- 英語語音基礎:音標學習與練習
- 2025屆黑龍江省哈爾濱市巴彥縣八年級英語第二學期期末綜合測試模擬試題含答案
- 公司防災減災活動總結
- 借款調解協議書
- 審美創造素養導向的初中語文詩歌活動探究單元教學研究
- 小學德育模式:三位一體實施與改進策略
- 2025-2030中國香草香精行業市場發展趨勢與前景展望戰略研究報告
- 《物業服務企業ESG評價要求》
- 水利工程施工監理規范(SL288-2014)用表填表說明及示例
- 濟南大學《特殊教育研究方法》2021-2022學年第一學期期末試卷
- 溝通的藝術學習通超星期末考試答案章節答案2024年
- GB/T 35428-2024醫院負壓隔離病房環境控制要求
- 形勢與政策補考2-國開(XJ)-參考資料
- 高中英語-人教-選修二-單詞默寫
- 江蘇省蘇州市昆山市2023-2024學年六年級下學期期末英語試卷
- 江蘇省蘇州市(2024年-2025年小學四年級語文)部編版質量測試(下學期)試卷及答案
- 炸藥成型與裝藥的制備-性能關系
- 2024年山東省德州經開區小升初數學試卷
評論
0/150
提交評論