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

2.3 項目開發(fā)與實現(xiàn)

本項目開發(fā)環(huán)境及版本配置如表2-2所示。

表2-2 “走進四書”項目開發(fā)環(huán)境及版本配置

2.3.1 創(chuàng)建項目

V5創(chuàng)建項目二

創(chuàng)建項目的詳細步驟與第1.3.1節(jié)介紹的內(nèi)容相同。創(chuàng)建本項目的基本步驟及其需要設(shè)置的參數(shù)如下。

1)打開Android Studio開發(fā)環(huán)境,選擇“File”→“New”菜單命令創(chuàng)建本項目。項目名稱、公司域名以及項目存儲位置等參數(shù)的值如下。

● Application name:IntoTheFourBooks。

● Company domain:school。

● Project location:E:\IntoTheFourBooks。

2)為項目選擇運行的設(shè)備類型和最低的SDK版本號。本項目的運行設(shè)備為“Phone and Tablet”,Minimum SDK的值設(shè)置為“API 24:Android 7.0(Nougat)”。

3)為項目添加一個Empty Activity。

4)設(shè)置Activity的名稱等屬性,參考值如下。

● Activity Name:ImportActivity。

● Layout Name:activity_import。

5)項目創(chuàng)建好后,如果項目出現(xiàn)錯誤,則選擇“File”→“Project Structure”菜單命令,在彈出的對話框中單擊左側(cè)窗格的“app”選項,選擇右側(cè)窗格的“Dependencies”選項卡,在下方的列表中選擇與環(huán)境不匹配的appcompat-v7:28依賴包,單擊右側(cè)的“-”按鈕,將其刪除,如圖2-14所示。

圖2-14 “Project Structure”對話框

然后單擊圖2-14中右上角的“+”按鈕并選擇“Library dependency”,在彈出的對話框中依次選擇appcompat-v7和design依賴包,單擊“OK”按鈕,添加這兩個依賴包,如圖2-15所示。

圖2-15 選擇要添加的依賴包

6)選擇“File”→“Sync Project with Gradle Files”菜單命令,使項目與gradle配置同步。在Android Studio中開發(fā)項目時,每當項目有所改動后,就需要同步項目,因此這個操作的使用頻率很高,初學者需要注意。

2.3.2 創(chuàng)建與定義資源

1.可繪制資源(app\src\main\res\drawable)

可繪制資源中包含大量的圖片及其他類型的文件,現(xiàn)將項目中需要用到的圖片素材全部復制并粘貼在項目的app\src\main\res\drawable目錄中,即可完成這部分圖片資源的創(chuàng)建。

在粘貼時,會彈出如圖2-16所示的對話框。

圖2-16 創(chuàng)建圖片資源

單擊圖2-16中的“OK”按鈕后,可看到res\drawable目錄中的圖片資源如圖2-17所示。

圖2-17 項目圖片資源

2.字符串資源(app\src\main\res\values\strings.xml)

打開app\src\main\res\values\strings.xml文件,將項目中需要的文字素材按照XML文件格式整理,參考代碼如下。

3.字符串數(shù)組資源(app\src\main\res\values\info_arrays.xml)

創(chuàng)建字符串數(shù)組資源的步驟如下。

1)選擇app\src\main\res\values目錄,單擊鼠標右鍵,在彈出的快捷菜單中依次選擇“New”→“Values resource file”菜單命令,如圖2-18所示。

圖2-18 創(chuàng)建數(shù)組資源文件

如果此時在快捷菜單中找不到需要新建的文件類型,那么參考第2.3.1節(jié)第6步同步項目即可,此后再新建需要的文件。

2)在彈出的“New Resource File”對話框中,在“File name”文本框中輸入“info_arrays”,然后單擊“OK”按鈕,如圖2-19所示。

3)將項目中“四書”的作者簡介以數(shù)組的形式存放于info_arrays.xml資源文件中,參考代碼如下。

圖2-19 為數(shù)組資源文件命名

4.尺寸資源(app\src\main\res\values\dimens.xml)

打開app\src\main\res\values\dimens.xml文件,會發(fā)現(xiàn)其中已有一些尺寸數(shù)據(jù)。按現(xiàn)有格式,將項目中需要的其他尺寸數(shù)據(jù)添加到此文件,參考代碼如下。

5.顏色資源(app\src\main\res\values\colors.xml)

在app\src\main\res\values\colors.xml文件中添加項目中需要的其他顏色數(shù)據(jù),參考代碼如下。

2.3.3 實現(xiàn)“導入”模塊

“導入”模塊是本項目的第一個模塊,此模塊在應(yīng)用中以“淡入”動畫的形式起到引導用戶進入首界面的作用。

1.創(chuàng)建“導入”界面的布局(app\src\main\res\layout\activity_import.xml)

“導入”界面中僅有一幅圖片,所以在activity_import.xml文件中,將根布局修改為FrameLayout。其相關(guān)屬性如表2-3所示。

表2-3 “導入”布局中FrameLayout的屬性

參考代碼如下。

2.實現(xiàn)導入功能(app\src\main\java\包名\ImportActivity.java)

V6實現(xiàn)導入功能

根據(jù)“導入”模塊的功能要求,在應(yīng)用程序啟動時此界面應(yīng)由淺入深漸變出現(xiàn)。這個需求可以通過設(shè)置android.view.animation的AlphaAnimation動畫類的alpha屬性來實現(xiàn)。

在構(gòu)造AlphaAnimation對象時,設(shè)置alpha值從0(表示全透明)到1(不透明)即可讓添加動畫的對象漸現(xiàn);反之,則漸隱。為任何一個組件添加動畫效果時,都可調(diào)用View類的setAnimation(Animation animation)方法。在動畫結(jié)束后可以通過調(diào)用Activity的finish()方法結(jié)束Activity,也可以通過System.exit(0)方法退出應(yīng)用程序。

使用AndroidStudio向?qū)?chuàng)建的Activity默認繼承自AppCompatActivity。此處為了便于配置全屏顯示,將其父類更改為Activity,并在onCreate(Bundle savedInstanceState)方法中添加透明度動畫的創(chuàng)建及動畫事件。

參考代碼如下。

上述代碼中,實現(xiàn)了當“導入”界面的動畫結(jié)束后可以直接打開“書架”界面(MainActivity.java),但是由于MainActivity.java尚未創(chuàng)建,因此在調(diào)試時可以在這兩行代碼前添加“//”作為注釋處理。

3.配置全屏顯示及圖標(app\src\main\AndroidManifest.xml)

V7配置全屏顯示及圖標

運行時,應(yīng)用程序圖標如圖2-20所示。

根據(jù)“導入”模塊的功能要求,應(yīng)用程序啟動時此界面需全屏顯示,這些需求可以在AndroidManifest.xml中進行配置。參考代碼如下。

圖2-20 應(yīng)用程序圖標

上述代碼中,application標簽中的android:icon屬性用來配置應(yīng)用程序的圖標。activity標簽的android:theme屬性用來配置對應(yīng)界面的主題樣式,當需要全屏顯示某Activity時,需要將此屬性值設(shè)置為“@android:style/Theme.Black.NoTitleBar.Fullscreen”。

2.3.4 實現(xiàn)“書架”模塊

V8創(chuàng)建“書架”布局

“書架”模塊的界面由“四書”對應(yīng)的4個圖片按鈕組成。當單擊其中的某個圖片按鈕時,界面將切換至對應(yīng)書籍的“樂讀”狀態(tài)。此外該界面右上角有一個信封樣式的懸浮按鈕,當單擊此按鈕時,界面會切換到“聯(lián)系我們”界面。

1.創(chuàng)建“書架”布局(app\src\main\res\layout\activity_bookshelf.xml)

選擇app\src\main\res\layout目錄,單擊右鍵,在彈出的快捷菜單中依次選擇“New”→“Layout resource file”命令,會彈出如圖2-21所示的對話框。

對話框中的“File name”即文件名,值為“activity_book-shelf”,“Root element”即布局的根元素,此處值為“android.support.design.widget.CoordinatorLayout”。布局中各元素的屬性如表2-4所示。

圖2-21 創(chuàng)建布局文件的對話框

表2-4 “書架”布局中各元素的屬性

參考代碼如下。

2.創(chuàng)建“書架”界面中的“內(nèi)容頁”布局(app\src\main\res\layout\content_main.xml)

在activity_bookshelf.xml文件的include標簽中用到了content_main.xml布局文件,這個文件也需要在app\src\main\res\layout目錄下創(chuàng)建。創(chuàng)建步驟同activity_bookshelf.xml,只是在創(chuàng)建布局文件的對話框中,“File name”值為“content_main”,“Root element”值為“GridLayout”。這個布局中使用圖像按鈕(ImageButton)定義了書架中的書目,每個按鈕都可以響應(yīng)單擊事件。布局中各元素的屬性設(shè)置如表2-5所示。

V9創(chuàng)建“內(nèi)容頁”布局

表2-5 “書架”界面中的“內(nèi)容頁”布局中各元素的屬性

參考代碼如下。

3.實現(xiàn)“書架”功能(app\src\main\java\包名\MainActivity.java)

V10實現(xiàn)“書架”功能

選擇“app\src\main\java\school.intothefourbooks”目錄并單擊右鍵,在彈出的快捷菜單中依次選擇“New”→“Activity”→“Empty Activity”命令,會彈出創(chuàng)建Activity的對話框,如圖2-22所示。

圖2-22 創(chuàng)建Activity的對話框

其中,“Activity Name”值設(shè)置為“MainActivity”,同時取消勾選“Generate Layout File”復選框。創(chuàng)建好文件后,Android Studio會自動打開該文件,參考代碼如下。

為了調(diào)試當前模塊,可以將上述代碼中的界面跳轉(zhuǎn)語句作為注釋處理,在創(chuàng)建好相關(guān)界面文件后再取消注釋調(diào)試。此外,為了正常顯示“書架”界面,還需要在app\src\main目錄下的AndroidManifest.xml配置文件中對該界面的android:theme屬性進行配置,代碼如下。

2.3.5 實現(xiàn)“樂讀”模塊

當單擊“書架”界面中的書籍圖像按鈕時,界面將切換至對應(yīng)書籍的“樂讀”模塊,其中可以看到書籍作者的著名典故圖、作者信息以及書籍簡介。

1.創(chuàng)建“樂讀”布局(app\src\main\res\layout\activity_reading.xml)

V11創(chuàng)建“樂讀”布局

與創(chuàng)建其他布局文件的步驟相似,創(chuàng)建activity_reading.xml文件。這個布局的根元素是LinearLayout,其中包含1個圖像視圖(ImageView)、2個文本視圖(TextView)和1個滾動視圖(ScrollView)。布局中各元素的相關(guān)屬性如表2-6所示。

表2-6 “樂讀”布局中各元素的屬性

參考代碼如下。

2.實現(xiàn)“樂讀”功能(app\src\main\java\包名\ReadingActivity.java)

V12實現(xiàn)“樂讀”功能

參考MainActivity.java的創(chuàng)建步驟,創(chuàng)建ReadingActivity.java類文件,參考代碼如下。

為了能夠正常顯示“樂讀”界面,還需要在app\src\main\AndroidManifest.xml配置文件中對該界面的android:theme屬性進行配置,代碼如下。

2.3.6 實現(xiàn)“聯(lián)系我們”模塊

V13創(chuàng)建“聯(lián)系我們”布局

當單擊“書架”界面中的“信封”懸浮按鈕時,將切換至“聯(lián)系我們”界面,其中包含聯(lián)系信息和二維碼。

1.創(chuàng)建“聯(lián)系我們”界面的布局(app\src\main\res\layout\activity_contacts.xml)

在app\src\main\res\layout目錄下創(chuàng)建activity_contacts.xml文件。這個布局的根元素是RelativeLayout,子元素包含4個文本視圖(TextView)和1個圖像視圖(ImageView)。布局中各元素的相關(guān)屬性如表2-7所示。

表2-7 “聯(lián)系我們”布局中各元素的屬性

(續(xù))

2.實現(xiàn)“聯(lián)系我們”功能(app\src\main\java\包名\ContactsActivity.java)

V14實現(xiàn)“聯(lián)系我們”功能

參考MainActivity.java的創(chuàng)建步驟,在app\src\main\java目錄中創(chuàng)建ContactsActivity.java類文件,參考代碼如下。

為了能夠正常顯示“聯(lián)系我們”界面,還需要在app\src\main目錄下的AndroidManifest.xml配置文件中對該界面的android:theme屬性進行設(shè)置,參考代碼如下。

2.3.7 AndroidManifest配置清單

上文中許多Activity界面都在AndroidManifest.xml文件中進行了配置,該文件位于app\scr\main目錄下,其完整代碼如下。

主站蜘蛛池模板: 休宁县| 崇州市| 杂多县| 泗水县| 梨树县| 临湘市| 营口市| 丹凤县| 龙海市| 蓬莱市| 平乐县| 高碑店市| 邵阳市| 信阳市| 松滋市| 丁青县| 华池县| 松原市| 葫芦岛市| 阿拉善右旗| 济宁市| 四会市| 永州市| 平乐县| 蚌埠市| 绥滨县| 大安市| 临泽县| 札达县| 凤阳县| 泾川县| 鹤山市| 上虞市| 保亭| 织金县| 凤翔县| 沁水县| 郁南县| 桦川县| 东源县| 博野县|