freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于安卓android平臺的個人理財軟件的設(shè)計與實現(xiàn)(編輯修改稿)

2025-01-11 01:14 本頁面
 

【文章內(nèi)容簡介】 功能結(jié)構(gòu)圖 個人理財 類別維護 用戶信息 收入支出查詢 收入支出統(tǒng)計 收入支出插入 收 入 類 別 維 護 支出類 別 維 護 手動輸入 語音輸入 收 入 插入數(shù)據(jù) 支出插入數(shù)據(jù) 收 入 統(tǒng)計 支出統(tǒng)計 收 入 數(shù)據(jù)查詢 支出數(shù)據(jù)查詢 用戶信息維護 4 系統(tǒng)總體設(shè)計 系統(tǒng)設(shè)計是系統(tǒng)開發(fā)過程中的核心,從需求出發(fā),總體上描述系統(tǒng)架構(gòu)應該包含的組成要素。系統(tǒng)總體設(shè)計盡可能模塊化,描述了各個模塊之間的關(guān)聯(lián)。模塊化是一種很重要的設(shè)計思想,把一個復雜的系統(tǒng)分解為一些規(guī)模較小、功能簡單的、更易于建立和修改的部分。一方面,各個模 塊具有相對獨立性,可以分別加以設(shè)計實現(xiàn) 。另一方面,模塊之間的相互關(guān)系則通過一定的方式予以說明。各模塊在這些關(guān)系的約束下共同構(gòu)成一個統(tǒng)一的整體,完成系統(tǒng)的功能。 總體設(shè)計的核心內(nèi)容就是依據(jù)需求分析定義的功能,合理、有效地實現(xiàn)系統(tǒng)中定義的各種需求,包括模塊設(shè)計、數(shù)據(jù)庫設(shè)計等。 根據(jù)系統(tǒng)分析以及功能需求,系統(tǒng)的基本流程可以描述為:主界面→選擇各子功能模塊,如下圖所示: 圖 41 系統(tǒng)流程圖 系統(tǒng)特點 ( 1)目的明確:理財就是以管錢為中心,通過抓好賺錢、生錢、護錢,三個環(huán)個 人 理 財 系 統(tǒng) 密碼管理模塊 用戶登錄模塊 收 /支數(shù)據(jù)查詢 類別管理模塊 收 /支記錄模塊 節(jié) ,管好自己手中的現(xiàn)金流動,讓資產(chǎn)在保值的基礎(chǔ)上,實現(xiàn)穩(wěn)定持續(xù)的增長。 ( 2)功能齊全 :系統(tǒng)覆蓋了理財所需要的功能,收支,統(tǒng)計。 ( 3)適應性強:系統(tǒng)采用基于模型的設(shè)計思,用戶的特點抽象出管理模型,根據(jù)模型進行系統(tǒng)設(shè)計,使系統(tǒng)具有很好的開放性的拓展性,能夠高效率地適應各用戶群體的需求。 數(shù)據(jù)庫設(shè)計 tb_account(賬戶表 ) tb_account 用于管理系統(tǒng)各個用戶信息。 _id為用戶的唯一標識,為表的主鍵,也為其他表的 _id相對應。 Username 和 pwd 分別代表著用戶名和密碼。這兩個 是用戶后期可以修改的。 賬戶表中存在著一個特殊的用戶:默認用戶。它的用戶名密碼用戶不可見。用戶在沒有登陸的情況下,數(shù)據(jù)保存在這個用戶下方。 表 41 用戶賬戶表 字段名 數(shù)據(jù)類型 是否主鍵 描述 _id Integer Y 用戶 id USERNAME VARCHAR(20) N 用戶名 PWD VARCHAR(50) N 密碼 tb_ine(收入信息表) TYPE_ID 與 tb_itype 表的 type_id 對應。 No 為收入信息的編號,不同用戶的收入信息存入數(shù)據(jù)庫的時候,都是以 no=1為起始的,進而往后遞增。 表 42 收入信息表 tb_pay(支出信息表) TYPE_ID 與 tb_ptype 表的 type_id 對應。 No 為收入信息的編號,不同用戶的支出信息存入數(shù)據(jù)庫的時候,都是以 no=1 為起始的,進而往后遞增。 表 43 支出信息表 字段名 數(shù)據(jù)類型 是否主鍵 描述 _id INTEGER N 用戶 id NO INTEGER Y 自增 MONEY DECIMAL N 支出金額 TIME DATE N 支出時間 TYPE_ID INTEGER N 支出類別 ADDRESS VARCHAR(100) N 消費地點 MARK VARCHAR(200) N 備注 PHOTO VARCHAR(200) N 照片 KIND VARCHAR(10) N 類別 字段名 數(shù)據(jù)類型 是否主鍵 描述 _id INTEGER N 用戶 id NO INTEGER Y 編號 MONEY DECIMAL N 收入金額 TIME DATE N 收入時間 TYPE_ID INTEGER N 收入類別 HANDLER VARCHAR(100) N 放款方 MARK VARCHAR(200) N 備注 PHOTO VARCHAR(200) N 照片 KIND VARCHAR(10) N 類別 tb_ptype(支出類型表) tb_ ptype 為支出類型表。由于每個用戶都有對應的用戶習慣,在添加支出信息時,收入類型的種類、使用頻率都會有所不同。在此設(shè)計支出類型表,可以為用戶提供修改支出類型的服務(wù),根據(jù)自己的使用頻率修改支出類型。 表 44 支出類型表 字段名 數(shù)據(jù)類型 是否主鍵 可否為空 描述 _id INTEGER N N 用戶 id no INTEGER Y N 類型編號 type_id INTEGER N N 類型 id tb_itype(收入類型表) tb_itype 為收入類型表。由于每個用戶都有對應的用戶習慣,在添加收入信息時,收入類型的種類、使用頻率都會有所不同。在此設(shè)計收入類型表,可以為用戶提供修改收入類型的服務(wù),根據(jù)自己的使用頻率修改收入類型。 表 45 收入類型表 字段名 數(shù)據(jù)類型 是否主鍵 可否為空 描述 _id INTEGER N N 用戶 id no INTEGER Y N 類型編號 type_id INTEGER N N 類型 id 5 系統(tǒng)詳細設(shè)計與實現(xiàn) 主界面設(shè)計 快速記個人記賬軟件主界面,有 4 個 Fragment 頁面。 圖 51 為快速記主界面 主界面使用 4 個 Fragment 和 PopupWindow 生成,部分代碼: /** * 顯示 PopupWindow 彈出菜單 */ private void showPopupWindow(View parent) { DisplayMetrics dm = ().getDisplayMetrics()。 int w_screen = 。 int h_screen = 。 // (你的設(shè)備 w_screen: + w_screen + h_screen: + // h_screen)。 if (popWindow == null) { LayoutInflater layoutInflater = (LayoutInflater) getSystemService()。 View view = (, null)。 popWinLayout = (LinearLayout) ()。 // 創(chuàng)建一個 PopuWidow 對象 float radiowith = w_screen / 。 float radioheight = h_screen / 。 popWindow = new PopupWindow(view, (int) (().width), h_screen / 4)。 } // 使其聚集 ,要想監(jiān)聽菜單里控件的事件就必須要調(diào)用此方法 (true)。 pop_voiceView = (LinearLayout) popWinLayout .findViewById()。 pop_quickView = (LinearLayout) popWinLayout .findViewById()。 (this)。 (this)。 // 設(shè)置允許在外點擊消失 (true)。 // 設(shè)置背景,這個是為了 點擊“返回 Back”也能使其消失,并且并不會影響你的背景 (new BitmapDrawable())。 // 設(shè)置菜單顯示的位置 int xPos = (w_screen ().width) / 2。 (parent, xPos, 12)。 // (parent, , 0)。 // 監(jiān)聽菜單的關(guān)閉事件 (new OnDismissListener() { @Override public void onDismiss() { // 改變顯示的按鈕圖片為正常狀態(tài) changeButtonImage()。 } })。 // 監(jiān)聽觸屏事件 (new OnTouchListener() { public boolean onTouch(View view, MotionEvent event) { if (() == ) { // 改變顯示的按鈕圖片為正常狀態(tài) changeButtonImage()。 } return false。 } })。 } /** * 點擊了“明細”按鈕 */ private void clickFriendfeedBtn() { // 實例化 Fragment 頁面 fragmentPage1 = new FragmentPage1()。 // 得到 Fragment 事務(wù)管理器 FragmentTransaction fragmentTransaction = this .getSupportFragmentManager().beginTransaction()。 // 替換當前的頁面 (, fragmentPage1)。 // 事務(wù)管理提交 ()。 (true)。 (true)。 (false)。 (false)。 (false)。 (false)。 (false)。 (false)。 } 此處省略類似的函數(shù) ... private void clickPop_voiceBtn() { Intent intent = new Intent(, )。// 創(chuàng)建 Intent 對象 (, userid)。 (, )。// 設(shè)置傳遞數(shù)據(jù) startActivity(intent)。 } private void clickPop_quickBtn() { Intent intent = new Intent(, )。// 創(chuàng)建 Intent 對象 (, userid)。 startActivity(intent)。 } /** * 點擊了中間按鈕 */ private void clickToggleBtn() { showPopupWindow(plusImageView)。 // 改變按鈕顯示的圖片為按下時的狀態(tài) ()。 ()。 } /** * 改變顯示的按鈕圖片為正常狀態(tài) */ private void changeButtonImage() { ()。 ()。 } 收入 /支出插入數(shù)據(jù)界面 添加軟鍵盤,來添加收入 /支出消費記錄 圖 52 收入 /支出插入數(shù)據(jù)界面 添加收 /支部分代碼,需要判斷是添加模式還是修改模式,是添加收入還是添加支出: (new OnClickListener() {// 為保存按鈕設(shè)置監(jiān)聽事件 @SuppressLint(NewApi) @Override public void onClick(View arg0) { if (typemode == add) { // 添加模式 String strMoney = ().toString()。 // 獲取金額文本框的值 if (type == pay) { // 支出 if (!()) {// 判斷金額不為空 // 創(chuàng)建 InaccountDAO 對象 PayDAO payDAO = new PayDAO()。 // 創(chuàng)建 Tb_inaccount 對象 Tb_pay tb_pay = new Tb_pay( userid, (userid) + 1, get2Double(strMoney), setTimeFormat(null), (() + 1), (
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1