官术网_书友最值得收藏!

3.6 實戰項目:房貸計算器

如今樓市可真是瘋狂,房價蹭蹭蹭的坐火箭飛上天,說到買房,自然少不了房貸,根據不同的貸款方式與還款方式,計算出來的月供數額各不相同。如果手機上有個房貸計算器,那可真是幫了不少人的大忙,它絕對是個方便又實用的App。那么就讓我們編寫一個簡易的房貸計算器出來,瞅瞅這貨好不好使。

圖3-26 房貸計算器的效果圖

3.6.1 設計思路

雖說現在才是第三章,不過本書迄今為止介紹的App開發知識,足夠寫個房貸計算器App了,譬如圖3-26所示的計算器界面,基本將房貸的各項計算要素囊括在內,可謂八九不離十。

根據圖3-26的計算器界面,結合房貸的一些規律常識,很容易找到該計算器用到了本章的好幾個控件,具體羅列如下:

  • 文本編輯框EditText:像購房總價、貸款總額這些金額數值,需要用戶手工輸入。
  • 單選按鈕RadioButton:等額本息與等額本金是貸款的兩種還款方式,用戶只能選擇其中一種還款方式。
  • 復選框CheckBox:商業貸款和公積金貸款,既可選擇其中一種,也可兩者結合起來做組合貸款。
  • 下拉框Spinner:貸款年限、基準利率這些有固定的幾個數值,用戶需在下拉列表中選擇其中一個。
  • 相對布局RelativeLayout:位于同一行的幾個控件,寬度不固定又想填滿整行的話,使用相對布局是最佳選擇。

其余還包括上一章介紹的文本視圖TextView、按鈕Button、線性布局LinearLayout、滾動視圖ScrollView,幾乎涵蓋了這兩章各小節的代表性控件,很適合實戰演練。

3.6.2 小知識:文本工具TextUtils

雖然Java的String類型已經自帶了很多字符串方法,能夠滿足大多數場合的字符串加工要求,然而總有個別情況,String類型處理起來不夠干脆利索。比如判斷一個字符串對象str是否非空,按照傳統的Java編碼,校驗字符串非空的代碼邏輯如下所示:

由上述的條件判斷語句可知,檢查字符串是否非空的時候,Java首先判斷該串是否為空指針,然后判斷該串的長度是否為0。這樣校驗固然沒錯,但非空判斷是很常見的操作,要是開發者給每個字符串都寫上兩遍判斷,算起來工作量就不小了。因此Android專門提供了文本工具類TextUtils,用于簡化字符串的一些常用操作,就剛才的字符串非空判斷而言,利用TextUtils則只需調用一個isEmpty方法便成:

除了isEmpty方法,TextUtils另有其他幾個好用的字符串方法,一并說明如下:

  • isEmpty:判斷字符串是否為空值。
  • getTrimmedLength:獲取字符串去除頭尾空格之后的長度。
  • isDigitsOnly:判斷字符串是否全部由數字組成。
  • ellipsize:如果字符串超長,則返回按規則截斷并添加省略號的字串。

以下代碼演示了如何正確調用TextUtils的字符串方法:

接下來通過測試頁面觀察這幾個方法是否符合預期,isEmpty方法的運行結果如圖3-27和圖3-28所示,其中圖3-27為編輯框沒有字符輸入的情況,此時isEmpty的判斷是“空”;圖3-28為編輯框有輸入字符的情況,此時isEmpty的判斷是“非空”。

圖3-27 編輯框沒輸入文本

圖3-28 編輯框有輸入文本

3.6.3 代碼示例

房貸計算器的編碼過程分為三個步驟:

步驟01 先想好代碼文件與布局文件的名稱,比如計算器頁面的代碼文件取名MortgageActivity.java,布局文件取名activity_mortgage.xml。記得在AndroidManifest.xml中注冊該頁面的acitivity節點,注冊代碼如下所示:

          <activity android:name=".MortgageActivity" />

步驟01 在res/layout目錄下創建布局文件activity_mortgage.xml,根據頁面效果圖編寫計算器頁面的布局定義文件。

步驟01 在項目的包名目錄下創建類MortgageActivity,填入具體的控件操作與業務邏輯代碼。

房貸計算器用到的所有控件均在本章和上一章做了詳細介紹,主要難點反而是房貸月供的計算邏輯,這部分的算法代碼參見本書附帶源碼middle模塊的MortgageActivity.java。下面依次過一下房貸計算功能的完整流程。

打開房貸計算器的界面,首先輸入購房總價350萬、按揭比例70%,點擊“計算貸款總額”按鈕,則按鈕下方立刻顯示貸款總額為245萬,如圖3-29所示。

圖3-29 計算貸款總額的界面

接著勾選“商業貸款”復選框,輸入商業貸款的金額245萬;點擊貸款年限的下拉框,在下拉列表中選擇“30年”,如圖3-30所示;點擊基準利率的下拉框,在下拉列表中選擇“2015年10月24日”的基準利率,如圖3-31所示。

圖3-30 選擇貸款年限的下拉框

圖3-31 選擇基準利率的下拉框

然后點擊“計算還款明細”按鈕,頁面下方馬上顯示計算好的還款信息如圖3-32所示,其中利息總額為223萬元,每月還款超過13000元,頓時令人感覺壓力山大。想起北京首套房的公積金最高額度為120萬元,于是勾選“公積金貸款”復選框,輸入公積金貸款的金額120萬,同時把商業貸款的金額改為125萬。再次點擊“計算還款明細”按鈕,頁面下方同步顯示最新的還款信息如圖3-33所示,此時利息總額為181萬,每月還款不到12000元,果真是一目了然、方便快捷。

圖3-32 只選擇商業貸款時的計算結果

圖3-33 同時選擇公積金貸款的計算結果

主站蜘蛛池模板: 金平| 金秀| 花垣县| 奎屯市| 阿城市| 隆昌县| 从江县| 鸡西市| 防城港市| 奇台县| 阜城县| 土默特左旗| 麦盖提县| 泰来县| 乡宁县| 磐石市| 北海市| 临夏县| 双鸭山市| 濮阳县| 扎兰屯市| 车险| 苗栗县| 加查县| 仪征市| 和平县| 阿巴嘎旗| 通榆县| 合川市| 施秉县| 道孚县| 安宁市| 松潘县| 迭部县| 怀柔区| 泾阳县| 琼海市| 陈巴尔虎旗| 肃宁县| 英超| 和顺县|