20175221曾祥杰 实验四《Android程序设计》
實(shí)驗(yàn)四《Android程序設(shè)計(jì)》
實(shí)驗(yàn)報(bào)告封面
課程:Java程序設(shè)計(jì) 班級:1752班 姓名:曾祥杰 學(xué)號:20175221
指導(dǎo)教師:婁嘉鵬 實(shí)驗(yàn)日期:2019年5月13日
實(shí)驗(yàn)時(shí)間:13:45 - 15:25 實(shí)驗(yàn)序號:21
實(shí)驗(yàn)名稱:Android程序設(shè)計(jì)
一.實(shí)驗(yàn)內(nèi)容
1. Android Stuidio的安裝測試
2. Activity測試
3. UI測試
4.布局測試
5.事件處理測試
二.實(shí)驗(yàn)步驟
-
第一部分:?Android Stuidio的安裝測試
-
要求:
-
參考《Java和Android開發(fā)學(xué)習(xí)指南(第二版)(EPUBIT,Java for Android 2nd)》第二十四章:
-
參考http://www.cnblogs.com/rocedu/p/6371315.html#SECANDROID,安裝 Android Stuidio
-
完成Hello World, 要求修改res目錄中的內(nèi)容,Hello World后要顯示自己的學(xué)號,自己學(xué)號前后一名同學(xué)的學(xué)號,提交代碼運(yùn)行截圖和碼云Git鏈接,截圖沒有學(xué)號要扣分
-
學(xué)習(xí)Android Stuidio調(diào)試應(yīng)用程序
-
具體操作
- 先參考婁老師的Android開發(fā)簡易教程,下載安裝?Android Stuidio?
- 之后一路?Next?到以下選擇:
- 選擇?Setup Proxy?,之后一路?OK?和Next?就可以了,到了開始頁面按照如下順序操作,創(chuàng)建一個(gè)新的Android項(xiàng)目。
- 介紹一下選項(xiàng):
- ?Start a new Android Studio project?創(chuàng)建一個(gè)新的Android項(xiàng)目
- ?Open an existing Android Studio Project?打開已有的Android Studio項(xiàng)目
- ?Check out project from Version Control?從版本控制庫中獲取項(xiàng)目
- ?Import project(Eclipse ADT, Gradle, etc.)?導(dǎo)入其他開發(fā)環(huán)境中的項(xiàng)目
- ?Import an Android code sample?導(dǎo)入Android代碼樣例?
- 將?Name?改為?Hello World?,如下配置,完成后?Finish?
-
配置和啟動(dòng)模擬器
- 在Android Studio的主界面上方的工具欄中,可以看到一個(gè)名為?AVD Manager?的按鈕,點(diǎn)擊它就能打開Android虛擬設(shè)備管理器。
- 此時(shí)并沒有任何的虛擬設(shè)備,我們需要點(diǎn)擊中央的?Create a virtual device?按鈕來創(chuàng)建一臺(tái)模擬器。
- 選擇?Phone?就可以了,再選擇型號對應(yīng)的硬件條件,點(diǎn)擊右下角的Next按鈕,之后開始下載,界面如下:
- 下載完成后界面如下,藍(lán)光標(biāo)所示即為我剛剛下載并且現(xiàn)在可用的虛擬安卓設(shè)備,之后?Next?進(jìn)入到確認(rèn)配置的一步。
- 在這里,你可以設(shè)置模擬器的名稱。我們建議你在名稱中注明使用了哪一個(gè)版本的系統(tǒng)鏡像(例如API 24)
- 最后點(diǎn)擊?Finish?按鈕,就能看到剛剛創(chuàng)建的模擬器(可以假裝模擬器就是你的手機(jī),這樣你想給它配啥系統(tǒng)它都有,這在現(xiàn)實(shí)中可不多得!)
-
項(xiàng)目的編譯和運(yùn)行
- 先來初步了解Android Studio?的構(gòu)造:
- 我們可以看到,左欄窗口中有兩個(gè)主要的節(jié)點(diǎn)?app?和?Gradle Scripts?。其中,?app?中包含了應(yīng)用程序中所有的組件,包括:
-
?manifests?:包含一個(gè)?AndroidManifest.xml?清單文件
-
?java?:包含所有的Java應(yīng)用程序和測試類
- generatedJava?:包含編譯類
- res?:包含資源文件,以及以下目錄:
- drawable?layout?menu?values?mipmap?
-
Hello World測試
- 打開?layout->activity_main.xml?
- 修改?android:text?中的相應(yīng)內(nèi)容為自己的學(xué)號,以及自己學(xué)號前后一名同學(xué)的學(xué)號,并運(yùn)行,結(jié)果如下:
- Git鏈接
-
調(diào)試應(yīng)用程序
-
設(shè)置斷點(diǎn)
- 與IDEA相似,在Android Studio調(diào)試中一個(gè)應(yīng)用程序,我們也可以在任意一行設(shè)置斷點(diǎn)。
- 然后打開?Run->Debug?即可進(jìn)行調(diào)試程序
- 在?Android Studio?下方的?Debug?欄即可進(jìn)入代碼、瀏覽變量
-
LogCat日志消息
- 調(diào)試一個(gè)應(yīng)用程序,我們也可以使用日志消息。
- 在?Android Studio?主屏幕的底部可以看到?Android DDMS?視圖。
- LogCat的不同級別的日志消息以不同的顏色來顯示,每條消息都有一個(gè)標(biāo)簽,這使得我們可以很容易找到一條消息。
-
第二部分:Activity測試
-
要求:
-
參考《Java和Android開發(fā)學(xué)習(xí)指南(第二版)(EPUBIT,Java for Android 2nd)》第二十五章:
-
構(gòu)建項(xiàng)目,運(yùn)行教材相關(guān)代碼
-
創(chuàng)建 ThirdActivity, 在ThirdActivity中顯示自己的學(xué)號,修改代碼讓MainActivity啟動(dòng)ThirdActivity
-
提交代碼運(yùn)行截圖和碼云Git鏈接,截圖要有學(xué)號水印,否則會(huì)扣分
-
相關(guān)知識(shí):
- Activity?是包含了用戶界面組件的一個(gè)窗口。一個(gè)典型的Android應(yīng)用程序,都是從啟動(dòng)一個(gè)?Activity開始的。應(yīng)用程序所創(chuàng)建的第一個(gè)窗口,叫做主活動(dòng)。
- 啟動(dòng)一個(gè)??Activity?涉及到的方法:
- onCreat()?onPause()?onStart()?onResume()?onStop()?onRestart()?onDestory()?
-
具體操作:
- 首先在?AndroidManifest.xml?中添加一個(gè)?MyActivity??
- 之后添加一個(gè)?MyActivity.java?文件和一個(gè)?activity_my.xml?文件
- 修改?MainActivity.java?使其能夠啟動(dòng)?MyActivity.java
- 修改MyActivity.java如下:?
- package cn.edu.besti.is.myapplication;import android.support.v7.app.AppCompatActivity; import android.os.Bundle;public class MyActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_my);} }
- 修改activity_my.xml如下:
- <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayoutxmlns:tools="http://schemas.android.com/tools"xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><TextViewandroid:id="@+id/textView"android:text="20175221 曾祥杰"android:layout_width="200dp"android:layout_height="132dp"tools:layout_editor_absoluteX="255dp"tools:layout_editor_absoluteY="255dp"tools:ignore="MissingConstraints" /> </android.support.constraint.ConstraintLayout>
- 運(yùn)行如下:
- GIT鏈接
-
第三部分:UI測試
-
要求:
- 參考《Java和Android開發(fā)學(xué)習(xí)指南(第二版)(EPUBIT,Java for Android 2nd)》第二十六章:
- 構(gòu)建項(xiàng)目,運(yùn)行教材相關(guān)代碼
- 修改代碼讓Toast消息中顯示自己的學(xué)號信息
- 提交代碼運(yùn)行截圖和碼云Git鏈接,截圖要有學(xué)號水印,否則會(huì)扣分
-
具體操作:
- Toast是一個(gè)彈窗,用于顯示一條消息,作為給用戶的反饋。
- 修改MainActivity.java?代碼:
- package cn.edu.besti.is.myapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.Toast; public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Toast toast = Toast.makeText(MainActivity.this, "20175221曾祥杰", Toast.LENGTH_LONG);toast.show();} }
- 修改?activity_main.xml?代碼:
- <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="cn.edu.besti.is.myapplication.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="歡迎加入20175221的夸夸群" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> </android.support.constraint.ConstraintLayout>
- 運(yùn)行如下:
?
- GIT鏈接
- 第四部分:布局測試
-
要求:
- 參考《Java和Android開發(fā)學(xué)習(xí)指南(第二版)(EPUBIT,Java for Android 2nd)》第二十七章:
- 構(gòu)建項(xiàng)目,運(yùn)行教材相關(guān)代碼
- 修改布局讓P290頁的界面與教材不同
- 提交代碼運(yùn)行截圖和碼云Git鏈接,截圖要有學(xué)號水印,否則會(huì)扣分
-
具體操作:
-
修改?activity_main.xml?代碼:
- <FrameLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><Buttonandroid:text="20175221"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="400dp"android:layout_marginLeft="160dp" /><Buttonandroid:text="曾祥杰"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="450dp"android:layout_marginLeft="160dp" /><ImageButtonandroid:src="@android:drawable/btn_star_big_on"android:background="@android:color/black"android:alpha="0.55"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="160dp"android:layout_marginLeft="183dp" /><ImageViewandroid:src="@android:drawable/presence_audio_away"android:background="@android:color/holo_blue_bright"android:alpha="0.70"android:layout_width="120dp"android:layout_height="120dp"android:layout_marginTop="200dp"android:layout_marginLeft="140dp"android:padding="4dp"android:id="@+id/imageView"android:layout_centerHorizontal="true" /><TableRowandroid:layout_width="match_parent"android:layout_height="match_parent"><Spaceandroid:layout_width="wrap_content"android:layout_height="wrap_content" /><ImageViewandroid:id="@+id/imageView2"android:layout_width="wrap_content"android:layout_height="wrap_content"app:srcCompat="@android:drawable/arrow_down_float" /><Switchandroid:id="@+id/switch1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Switch" /></TableRow></FrameLayout>
- ?運(yùn)行如下:
- GIT鏈接
-
第五部分:事件處理測試
-
要求:
- 參考《Java和Android開發(fā)學(xué)習(xí)指南(第二版)(EPUBIT,Java for Android 2nd)》第二十八章:
- 構(gòu)建項(xiàng)目,運(yùn)行教材相關(guān)代碼
- 提交代碼運(yùn)行截圖和碼云Git鏈接,截圖要有學(xué)號水印,否則會(huì)扣分
-
具體操作:
- 修改?MainActivity.java?中的代碼
- package cn.edu.besti.is.myapplication; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.view.Menu; import android.view.View; public class MainActivity extends Activity {int counter = 0; int[] colors = { Color.BLACK, Color.BLUE, Color.CYAN, Color.DKGRAY, Color.GRAY, Color.GREEN, Color.LTGRAY, Color.MAGENTA, Color.RED, Color.WHITE, Color.YELLOW }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it // is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } public void changeColor(View view) { if (counter == colors.length) { counter = 0; } view.setBackgroundColor(colors[counter++]); } }
-
修改?activity_main.xml?中代碼
- <?xml version="1.0" encoding="utf-8"?>
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity"><AnalogClockandroid:id="@+id/analogClock1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:layout_marginTop="90dp"android:onClick="changeColor" /><TextViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:text="20175221曾祥杰"android:textSize="30dp"android:layout_marginLeft="90dp"android:layout_marginTop="290dp"android:textColor="#bbbb57"/></RelativeLayout>
?
- 其中我多加了一段?TextView?來顯示我的學(xué)號姓名
- 運(yùn)行如下:
- GIT連接
實(shí)驗(yàn)中遇到的問題
問題1:在一開始運(yùn)行Android Studio時(shí),一片紅,并且?MainActivity.java?圖標(biāo)不對
問題1解決方案:
第一次安裝的時(shí)候,選擇了?cancel?
?
卸載重新安一邊就OK了
實(shí)驗(yàn)體會(huì):
- 這次的實(shí)驗(yàn)難度不算特別大,因?yàn)槊恳徊降慕坛探滩纳匣径加?#xff0c;對照著修改一些地方就可以完成每一步。
- 這一次的實(shí)驗(yàn)我學(xué)習(xí)了Android程序開發(fā)基礎(chǔ),真的感覺好神奇。我仿佛真的是一個(gè)Android開發(fā)人員,整個(gè)實(shí)驗(yàn)過程都把精力投入在功能設(shè)計(jì)與界面布局中,最后出成品時(shí)非常開心。
- 通過這次的實(shí)驗(yàn),我收獲頗豐。也希望以后的實(shí)驗(yàn)也可以做得更好。
?
| 需求分析 | 10min | 7% |
| 設(shè)計(jì) | 60min | 40% |
| 代碼實(shí)現(xiàn) | 20min | 13% |
| 測試 | 10min | 7% |
| 分析總結(jié) | 50min | 33% |
轉(zhuǎn)載于:https://www.cnblogs.com/zxja/p/10858722.html
與50位技術(shù)專家面對面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的20175221曾祥杰 实验四《Android程序设计》的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019-05-15 Java学习日记
- 下一篇: MCU中printf重定向实现