1. 程式人生 > 實用技巧 >學號20192314 2020-2021-1 《資料結構與面向物件程式設計》實驗五報告

學號20192314 2020-2021-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除錯應用程式

1.Mainactivity

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

}

2.activity_main

  <?xml version="1.0" encoding="utf-8"?>
 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:app="http://schemas.android.com/apk/res-auto"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 tools:context=".MainActivity">

<TextView
    android:layout_width="190dp"
    android:layout_height="133dp"
    android:text="Hello World!於鯤洋20192314 \n前一人20192313 \n後一人20192315"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

 </androidx.constraintlayout.widget.ConstraintLayout>

3.執行截圖


2.Activity測試

參考《Java和Android開發學習指南(第二版)(EPUBIT,Java for Android 2nd)》第二十五章:

構建專案,執行教材相關程式碼

建立 ThirdActivity, 在ThirdActivity中顯示自己的學號,修改程式碼讓MainActivity啟動ThirdActivity

1.程式碼

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

private Button Go;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Go = findViewById(R.id.textGo);
    Go.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //跳轉到ThirdActivity演示介面
            Intent intent = new Intent(MainActivity.this, ThirdActivity.class);
            startActivity(intent);
        }
    });
}

}

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class ThirdActivity extends AppCompatActivity {

   private TextView textView;

   @Override
    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_third);
       textView = findViewById(R.id.textGo);
}

}

2.執行截圖



3.UI測試

參考《Java和Android開發學習指南(第二版)(EPUBIT,Java for Android 2nd)》第二十六章:

構建專案,執行教材相關程式碼

修改程式碼讓Toast訊息中顯示自己的學號資訊

1.程式程式碼

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="呵呵"
    android:textColor="#FFFFFF"
    android:textSize="72sp"
    app:backgroundTint="#D13B3B"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />
textView.setTextSize(500);

</androidx.constraintlayout.widget.ConstraintLayout>

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //在onCreat中設定一個Button類的物件bt,並用findViewById將它指向我們在佈局中建立好的button
    Button bt=(Button)findViewById(R.id.button1);

    //呼叫Button類的setOnClickListener方法來建立一個監聽器
    bt.setOnClickListener(new View.OnClickListener() {

        //重寫onClick方法來定義點選button後的活動
        @Override
        public void onClick(View v) {

            //直接用Toast和它的makeText方法來建立一個Toast彈窗
            Toast.makeText(MainActivity.this,"20192314於鯤洋",Toast.LENGTH_SHORT).show();
        }
    });
}

}

2.執行截圖


4.佈局測試:

參考《Java和Android開發學習指南(第二版)(EPUBIT,Java for Android ###2nd)》第二十七章:

構建專案,執行教材相關程式碼

修改佈局讓P290頁的介面與教材不同

執行截圖



5.事件處理測試:

參考《Java和Android開發學習指南(第二版)(EPUBIT,Java for Android ###2nd)》第二十八章:

構建專案,執行教材相關程式碼

提交程式碼執行截圖和碼雲Git連結,截圖要有學號水印,否則會扣分

1.程式程式碼

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/Theme.Text5">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

<AnalogClock
    android:id="@+id/analogClock1"
    android:layout_width="201dp"
    android:layout_height="175dp"
    android:layout_alignParentTop="true"
    android:layout_marginTop="485dp"
    android:onClick="changeColor" />
####2.執行截圖 ![](https://img2020.cnblogs.com/blog/2147066/202011/2147066-20201104221528957-1310067509.jpg) ![](https://img2020.cnblogs.com/blog/2147066/202011/2147066-20201104221534143-1912016934.jpg) #遇到的問題 ###1.AS中的虛擬裝置在下載之後依然無法使用,最終選擇在網路上搜索教程,將手機連線到電腦上,開啟USB除錯,直接在手機上進行實驗 ###2.有時候手機應用中無法顯示檔案的名字,發現當繼承的不是AppCompatActivity類而是Activity類,不會顯示應用名稱。使MainActivity繼承AppCompatActivity類即可 #心得體會 ###Android第一次做實驗,基本上啥也不會,開啟之後那麼多檔案總共就認得出一個java檔案,其餘的無論是用途還是語法完全沒見過。單是前期除錯虛擬裝置就讓我十分崩潰,下載不斷失敗,不斷retry,最終下好之後發現還是用不了,不得已嘗試著將真手機連線在電腦上,勉強將實驗進行下去了。Andriod比我想象的複雜的多,很多知識還需要在今後不斷學習不斷鞏固。