2018-2019-2 20175215 實驗四《Android程序設計》實驗報告

1、實驗內容與步驟

1.任務一:Android Studio的安裝測試。

  • 任務要求:參考《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調試應用程序
  • 任務過程:
    • 按照題目所給連接中內容安裝好Android Studio後,安裝搭載系統爲Android7.0的谷歌Pixel2虛擬機

    • 修改app/res/layout中的activity_main.xml文件的內容爲以下內容:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="80dp"
        android:layout_marginRight="80dp"
        android:text="HelloWorld!20175215 20175214 20175216"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:text="HelloWorld!20175215 20175214 20175216" />

</android.support.constraint.ConstraintLayout>
- 運行結果以下圖所示

2.任務二:Activity測試。

  • 任務要求:參考《Java和Android開發學習指南(第二版)(EPUBIT,Java for Android 2nd)》第二十五章:
    • 構建項目,運行教材相關代碼
    • 建立 ThirdActivity, 在ThirdActivity中顯示本身的學號,修改代碼讓MainActivity啓動ThirdActivity
    • 提交代碼運行截圖和碼雲Git連接,截圖要有學號水印,不然會扣分
  • 任務過程:
    • 建立ThirdActivity後,在MainActivity.class中新加代碼建立intent對象:
package com.example.helloworld;

import android.content.Intent;
import android.support.v7.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);
        Intent intent = new Intent(this,ThirdActivity.class);
        startActivity(intent);
    }
}
  • activity_third.xml的內容以下:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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=".ThirdActivity">


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="80dp"
        android:layout_marginRight="80dp"
        android:text="20175215丁文韜"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:text="20175215丁文韜" />

</android.support.constraint.ConstraintLayout>
  • 運行結果截圖:

3.任務三:UI測試。

  • 任務要求:參考《Java和Android開發學習指南(第二版)(EPUBIT,Java for Android 2nd)》第二十六章:
    • 構建項目,運行教材相關代碼
    • 修改代碼讓Toast消息中顯示本身的學號信息
    • 提交代碼運行截圖和碼雲Git連接,截圖要有學號水印,不然會扣分
  • 任務過程
    • MainActivity.class中新加代碼後:
package com.example.helloworld;


import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toast toast=Toast.makeText(MainActivity.this, "20175227丁文韜", Toast.LENGTH_LONG);
        toast.show();
    }
}
  • 運行結果截圖

4.任務四:佈局測試。

  • 任務要求:參考《Java和Android開發學習指南(第二版)(EPUBIT,Java for Android 2nd)》第二十七章:
    • 構建項目,運行教材相關代碼
    • 修改佈局讓P290頁的界面與教材不一樣
    • 提交代碼運行截圖和碼雲Git連接,截圖要有學號水印,不然會扣分

參考資料
佈局的類型
- 線性佈局LinearLayout:線性佈局是一個視圖組(ViewGroup),能在水平或者垂直的單一方向上將全部子元素排成一行
- 相對佈局RelativeLayout:相對佈局是一個將子視圖顯示在相對的位置上的佈局
- 表格佈局TableLayout:表格佈局是在行、列中組合子元素的視圖
- 絕對佈局AbsoluteLayout:絕對佈局能讓你指定子元素的精確位置
- 幀佈局FrameLayout:幀佈局是一個屏幕上的佔位符,你能夠用它來顯示單一視圖
- 列表視圖ListView:列表佈局是能夠滾動的,是用於顯示子元素列表的視圖組
- 網格視圖GridView:網格視圖是在二維可滾動的網格中顯示子元素的視圖組html

  • 任務過程:
    • activity_main.xml代碼:
<RelativeLayout
    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"
    android:paddingLeft="2dp"
    android:paddingRight="2dp">
    <Button
        android:id="@+id/cancelButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="20175215"
        android:layout_marginTop="70dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    <Button
        android:id="@+id/saveButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/cancelButton"
        android:layout_alignStart="@+id/cancelButton"
        android:layout_alignLeft="@+id/cancelButton"
        android:layout_marginStart="0dp"
        android:layout_marginLeft="0dp"
        android:layout_marginTop="119dp"
        android:text="丁文韜" />

    <LinearLayout
        android:id="@+id/filter_button_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:gravity="center|bottom"
        android:background="@android:color/white"
        android:orientation="horizontal" >
        <Button
            android:id="@+id/filterButton"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:text="篩選" />
        <Button
            android:id="@+id/shareButton"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:text="分享" />
        <Button
            android:id="@+id/deleteButton"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:text="刪除" />
    </LinearLayout>

    <ImageButton
        android:id="@+id/imageButton"
        android:layout_width="212dp"
        android:layout_height="167dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="160dp"
        app:srcCompat="@mipmap/ic_launcher" />

</RelativeLayout>
  • 運行截圖

5.任務五:事件處理測試。

  • 任務要求:參考《Java和Android開發學習指南(第二版)(EPUBIT,Java for Android 2nd)》第二十八章:
    • 構建項目,運行教材相關代碼
    • 提交代碼運行截圖和碼雲Git連接,截圖要有學號水印,不然會扣分
  • 任務過程:
    • MainActivity.java代碼
package com.example.helloworld;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.AnalogClock;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.AnalogClock;

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) {
        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"?>

<RelativeLayout

    xmlns: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"
    tools:context=".MainActivity">
    <AnalogClock
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="90dp"
        android:id="@+id/analogClock1"
        android:onClick="changeColor" />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="20175215丁文韜"
        android:layout_marginLeft="70dp"
        android:layout_marginTop="300dp"
        android:textSize="21dp"/>
</RelativeLayout>
  • 任務截圖:

SP.實驗中碰到的問題

1.沒法運行java文件

未等到下圖部分加載完成,誤認爲是sdk等文件安裝錯誤
java

相關文章
相關標籤/搜索