- Android移動應(yīng)用開發(fā)項目教程
- 范美英主編
- 3008字
- 2021-03-23 15:33:06
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目錄下,其完整代碼如下。
- INSTANT OpenCV Starter
- C# 從入門到項目實踐(超值版)
- C語言程序設(shè)計實訓教程
- 深度強化學習算法與實踐:基于PyTorch的實現(xiàn)
- 劍指Java:核心原理與應(yīng)用實踐
- Jenkins Continuous Integration Cookbook(Second Edition)
- Selenium Testing Tools Cookbook(Second Edition)
- Building Android UIs with Custom Views
- C++寶典
- 好好學Java:從零基礎(chǔ)到項目實戰(zhàn)
- 移動互聯(lián)網(wǎng)軟件開發(fā)實驗指導
- HTML+CSS+JavaScript網(wǎng)頁設(shè)計從入門到精通 (清華社"視頻大講堂"大系·網(wǎng)絡(luò)開發(fā)視頻大講堂)
- Apache Camel Developer's Cookbook
- Solr權(quán)威指南(下卷)
- SQL Server 2014 Development Essentials