學號20192314 2020-2021-1 《資料結構與面向物件程式設計》實驗五報告
阿新 • • 發佈:2020-11-04
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比我想象的複雜的多,很多知識還需要在今後不斷學習不斷鞏固。