學號 2017-2018-20172309 《程序設計與數據結構》實驗四報告
學號 2017-2018-20172309 《程序設計與數據結構》實驗四報告
課程:《程序設計與數據結構》
班級: 1723
姓名: 王誌偉
學號:20172309
實驗教師:王誌強老師
實驗日期:2018年4月18日
必修/選修: 必修
一、實驗內容
- 測試一:
Android Stuidio的安裝測試: - 參考課本第24章,完成Android studio的安裝,
- 完成Hello World,按要求修改res目錄中內容,Hello World後要顯示自己的學號。
- 學習Android studio 調試應用程序
- 測試二:
Activity測試: - 構建項目,運行相關代碼。
- 創建ThirdActivity, 在ThirdActivity中顯示自己的學號,修改代碼讓MainActivity啟動ThirdActivity
- 測試三:
UI測試: - 構建項目,運行相關代碼。
- 修改代碼讓Toast信息中顯示自己的學號信息。
- 測試四:
布局測試: - 構建項目,運行相關代碼。
- 修改布局,讓P290頁的界面與教材不同。
- 測試五:
事件處理測試: - 構建項目,運行相關代碼。
二、實驗過程及結果:
- 測試一:
- 安裝Android studio:
首先下載Android studio點擊下載
打開下載的安裝包,出現如圖所示頁面
遇到此種情況,點取消即可
第一次運行可能會要求配置Android SDK(安裝過程中要知道自己的SDK安裝到什麽地方了): - 完成程序Hello World:
好了以後出現如此頁面,點擊新創項目
我們先做最簡單的項目Hello World,註意項目地址在哪
點擊Next 出現
點擊phone or table(手機或者平板),點擊Next,出現
點擊Empty Activity 一個新活動。
設置新活動的名字
在layout裏面添加按鈕 以顯示Hello World。拖住1至位置2 在位置3可修改按鈕名稱。
運行結果:
- 測試二:
- 創建一個主活動,內含一個按鈕,按了就會出現第二個活動。
首先創建好活動後,在layout裏放置一個按鈕,以便調出活動二:
- 然後就可以創建第二個活動了:我準備把上次做的進出棧作為第二個活動頁面:
- 接下來就是編寫一段代碼作為橋梁以把這兩個活動頁面串聯起來:
其中Intent intent = new Intent(活動頁面1,活動頁面2);
初始化一個對象把活動1和2連接起來,startActivity(intent);
表示為啟動活動頁面。
4.出來後結果為:
**註:一開始在活動一是按了按鈕就直接轉到活動二的,但是又在書中看到了AlertDialog,就把它添加到了這個項目中,所以我一開始是按照題幹做的,希望學長別扣分^_^**
- 測試三:
這個測試只需要在活動頁面中顯示一個Toast,因此我在代碼中添加了Toast.makeText(this, "20172309", Toast.LENGTH_SHORT).show();
就行了,
結果為: - 測試四:
- 修改課本P290頁上的活動,以讓他們顯示不同:這一本分我認為現在所有的UI組件都可以直接拖動,因此:我認為就一個難點:框中的麥克風怎麽顯示:
我當時是這樣操作的:
- 修改課本P290頁上的活動,以讓他們顯示不同:這一本分我認為現在所有的UI組件都可以直接拖動,因此:我認為就一個難點:框中的麥克風怎麽顯示:
- 在這個目錄下就可以發現一個長得像麥克風的標誌。
- 測試五:
運行結果:
- chapter28_MultiColorClock:
- chapter26_BaseComponent:
註意點:實現書中代碼有兩種方法:1.直接復制。2. 直接導入。 - 因為第一次是自己輸入加復制,總是出現許多麻煩,所以選擇了導入:導入的方法是依次點擊File——>Open——>要導入的項目。
- 第一次導入可能是需要下載相關文件資源,所以特別慢,個人推薦使用熱點下載,我大概用了5~6分鐘。好了後電腦叫你安裝什麽你就安裝什麽。
- 大概會出現此樣頁面:
聽說是應為代碼太老,軟件版本太新。所以需要手動設置版本:
格式為:更改前版本->更改後版本。改完後應該會變成這樣:
之後我們就可以運行了。
3. 實驗過程中遇到的問題和解決過程
所遇到的問題大概在上一環節已經表述,現在總結下:
測試一:
不知道有什麽用。
TextView
為一個顯示框,裏面的文本不能修改。
Button
為一個按鈕,按鈕可以修改成自己想要的名字,需註意Id,id在代碼中將會便引用以便知道是哪個button。id格式為:button x (x=1 , 2 , 3 , ...)。如果想Text不全為大寫時,在layout中加入android:textAllCaps = false
即不會全大寫了。
ImageView
一個可以插入圖片的按鈕,圖片可以使用自帶的,也可以使用從網上下載的。
Plain Text
一個輸入框。
MultiLine Text
一個輸出框
.......
測試二:如何從一個活動跳轉到另一個活動?
- 新創一個活動
代碼實現前後兩個活動的鏈接:
> FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); > fab.setOnClickListener(new View.OnClickListener() { > @Override > public void onClick(View view) { > Intent intent=new Intent(MainActivity.this,navigationactivity.class); > startActivity(intent); > > } > });
測試三:如何使用Toast?
發現一個很簡單的方法:在代碼中輸入Toast 再摁Tab會自動補齊:
只需要修改Text內容。
測試四、測試五中出現的問題,已經在上面詳細寫出。
收獲感悟
嗯,比較開心。因為自己能夠弄出一個Android小程序了,雖然很簡單。不知道什麽時候想起了小時候想出來的一個想法:制做一個QQ盜號軟件。哈哈哈 。現在好像出來了思路。先讓用戶輸入一個QQ郵箱,輸入後可以打包生成一個軟件。只要輸入的密碼正確就會把密碼發到這個郵箱中去!!生成的軟件就是讓用戶輸入賬號密碼,然後登陸,如果密碼錯誤就顯示密碼錯誤,密碼正確就跳轉到一個頁面(頁面內容由這個盜號軟件的功能而定)同時用登陸成功的QQ把密碼發送到指定的QQ郵箱中去。
嗯,覺得自己小時候好幼稚,現在的能力達不到上述技術要求o(╥﹏╥)o。
參考資料
- 《Java和Android開發學習指南(第二版)(EPUBIT,Java for Android 2nd)》
- Android 開發簡易教程
- 關於xmlns:android="http://schemas.android.com/apk/res/android的介紹
- match_parent的意思
- 啟動另一個Activity
學號 2017-2018-20172309 《程序設計與數據結構》實驗四報告