20172302《程序設計與數據結構》實驗四Android程序設計實驗報告

課程:《程序設計與數據結構》

班級: 1723

姓名: 侯澤洋

學號:20172302

實驗教師:王志強老師

實驗日期:2018年5月30日

必修/選修: 必修

1.實驗內容

  • (1)Android Stuidio的安裝測試:
    參考《Java和Android開發學習指南(第二版)(EPUBIT,Java for Android 2nd)》第二十四章:
    參考http://www.cnblogs.com/rocedu/p/6371315.html#SECANDROID,安裝 Android Stuidio
    完成Hello World, 要求修改res目錄中的內容,Hello World後要顯示本身的學號,本身學號先後一名同窗的學號,提交代碼運行截圖和碼雲Git連接,截圖沒有學號要扣分
    學習Android Stuidio調試應用程序html

  • (2)Activity測試
    參考《Java和Android開發學習指南(第二版)(EPUBIT,Java for Android 2nd)》第二十五章:
    構建項目,運行教材相關代碼
    建立 ThirdActivity, 在ThirdActivity中顯示本身的學號,修改代碼讓MainActivity啓動ThirdActivityjava

  • (3)UI測試
    參考《Java和Android開發學習指南(第二版)(EPUBIT,Java for Android 2nd)》第二十六章:
    構建項目,運行教材相關代碼
    修改代碼讓Toast消息中顯示本身的學號信息python

  • (4)佈局測試
    參考《Java和Android開發學習指南(第二版)(EPUBIT,Java for Android 2nd)》第二十七章:
    構建項目,運行教材相關代碼
    修改佈局讓P290頁的界面與教材不一樣android

  • (5)事件處理測試
    參考《Java和Android開發學習指南(第二版)(EPUBIT,Java for Android 2nd)》第二十八章:
    構建項目,運行教材相關代碼
    提交代碼運行截圖和碼雲Git連接,截圖要有學號水印,不然會扣分git

2.實驗過程及結果

(1)實驗一:完成Hello World, 要求修改res目錄中的內容,Hello World後要顯示本身的學號

完成這個任務,首先須要瞭解Android應用程序文件的組成:數據結構

  • src:
    在src目錄中保存了開發人員編寫的程序文件。ide

  • manifest:
    其中包含了AndroidManifest.xml。這是一個控制文件,用來描述應用程序。佈局

  • res:
    存放了應用程序使用到的各類資源,如xml界面文件、圖片、數據等。一般包含drawable子目錄、layout子目錄、values子目錄三個。學習

接下來是實驗過程,實驗中在text下加入內容學號,其中還對文本的背景顏色和文字顏色進行了修改,實驗結果:
測試

(2)實驗二:建立 ThirdActivity, 在ThirdActivity中顯示本身的學號,修改代碼讓MainActivity啓動ThirdActivity

這裏是使用一個按鈕,經過點擊按鈕實現這個啓動另外一活動,具體代碼見下:

Button button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                Intent intent = new Intent(MainActivity2.this,ThirdActivity.class); // 建立一個Intent對象
                startActivity(intent);
                //Toast.makeText(MainActivity.this, "Hello world!", Toast.LENGTH_SHORT).show();
            }
  });

實驗完成過程截圖:

(3)實驗三:修改代碼讓Toast消息中顯示本身的學號信息

這裏我是經過按鈕實現Toast消息顯示,Toast有不少用法,如默認顯示、自定義顯示位置、帶圖片的顯示、徹底自定義顯示、其餘線程調用顯示等等。
其中實現代碼見下:

Button btnshow1 = (Button) findViewById(R.id.button);
        btnshow1.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){
                Toast toast = Toast.makeText(MainActivity.this,"20172302", Toast.LENGTH_LONG);
                toast.show();
            }
        });

完成實驗截圖:

(4)實驗四:修改佈局讓P290頁的界面與教材不一樣

書上給出的代碼例子包括如下佈局:

線性佈局LinearLayout:將全部子視圖以相同方向(水平地或豎直地)對齊的一個佈局;
相對佈局RelativeLayout:根據子視圖的一個或多個同級視圖的位置來排列它的一個佈局;
幀佈局FrameLayout:將每個子視圖放在另外一個視圖頂部的一種佈局;
表格佈局TableLayout:將子視圖按照行和列來組織的一種佈局;
網格佈局GridLayout:將子視圖放置到一個柵格中的一種佈局

該項實驗主要考察書上內容,對書上的代碼進行修改就能夠實現,其中完成實驗時將水平佈局更改成垂直佈局。這裏修改的是res目錄下的layout文件夾下的文件,是對佈局文件進行的修改,修改後結果見下圖:

(5)實驗五:運行教材相關代碼

這裏的就比較簡單一些,對教材代碼運行相關截圖見圖:


3. 實驗過程當中遇到的問題和解決過程

  • 問題1:實驗開始以前就已經遇到的書上的代碼的導入問題,gradle版本不匹配的問題。

  • 問題1解決方案:這個問題一開始不是這樣,具體是什麼錯誤沒有保存下來,從網上找了不少種解決方案,包括修改build.gradle文件還有那個gradle版本的更改,從網上也下了好多版本的gradle壓縮包,最後都沒有解決,可是錯誤的類型是會不斷的發生變化,這裏就徹底的是不太瞭解,有的時候有些問題多弄幾回就能夠調好,不知道是否與網速有關係。回到這個問題,最終的解決辦法是去修改File--Project Structure--Project中的內容,具體的修改見下面,

這裏的修改主要就是爲了是書上代碼的gradle版本與咱們所使用的這個最新版的Android Stutio 的gradle版本相匹配,固然也多是能夠去下載那個版本的gradle,可是我試了不少遍都沒有成功。修改完之後會有一些警告,但程序已經能夠執行了,這裏的警告主要就是說'compile'這個詞在2018年年末將會被'implementation'所徹底取代,但如今徹底是能夠用,若是想要不顯示這個警告,能夠去build.gradle文件中將這個詞改換一下,就不會再顯示。

  • 問題2:關於將代碼上傳到碼雲,這裏使用git進行上傳,始終是push rejected

  • 問題2解決方案:這裏經過搜索,找到了一種方法,在命令行模式下輸入git pull origin master --allow-unrelated-histories,輸入之後就是會能夠正常上傳。但偶爾仍是會出現錯誤,這裏遇到的另外一種問題是git pull failed :

參考連接:Git出現error
這裏的解決方案我採用了第二種的直接覆蓋本地的文件,命令行輸入git reset --hard,結果也就正常了。

  • 問題3:關於Android Stutio 中時不時的出現R類缺失的問題,出現"cannot resolve symbol R"的問題。這個好像緣由有不少。有的時候發現下面正在進行這個indexing····的操做時,忽然就會R類變紅,這個時候等這個進程結束就會恢復正常。這個多是在重構這個R類吧,致使R類的丟失。

  • 問題3解決方案:具體的解決方案:試過成功的有Build--Rebuild Project或者Build--Clean Project,這個是能夠的,有的方法給出的再去建立一個R類,這個無效。而後從這裏見了這麼一種方法,留着備用。連接:Android Studio中R文件丟失的解決辦法

其餘(感悟、思考等)

  • 本週的收穫是,第一次接觸Android項目,遇到的問題不少,包括Android Stutio軟件的使用也遇到了不少不會解決的問題,一開始接觸的東西始終是很難去弄明白,但願到後面能輕鬆一點,第一次將本身的應用裝到手機仍是感受頗有意思的。此次的實驗項目難度不大,主要是時間花在了前期的項目導入上,那個改動了不少次,花費了不少的時間精力,最後改出來之後作起這個實驗的後幾個項目來就不算困難了。

參考資料

相關文章
相關標籤/搜索