1. 程式人生 > >20165309 實驗四 Android程序設計

20165309 實驗四 Android程序設計

item ror version star 模擬器 port dst sch inf

2017-2018-2 20165309實驗四《Java面向對象程序設計》實驗報告

一、實驗內容

1.Android Studio的安裝測試

2.Activity測試

3.UI測試

4.布局測試

5.事件處理測試

二、實驗步驟

1.完成Hello World, 要求修改res目錄中的內容,Hello World後要顯示自己的學號,自己學號前後一名同學的學號

  • 如圖,找到activity_main.xml
    技術分享圖片
  • 點黃框裏左側的Design
    技術分享圖片
  • 在右邊找到這裏,輸入實驗要求的內容
    技術分享圖片
  • 結果如下:
    技術分享圖片

2.創建 ThirdActivity, 在ThirdActivity中顯示自己的學號,修改代碼讓MainActivity啟動ThirdActivity

  • 新建ThirdActivity
    • main上右鍵->New->Activity->點Gallery...
  • 按照要求在activity_third.xml中修改text信息
  • 進到MainActivity.java中,加入代碼

    import android.content.Intent;
    Intent intent = new Intent(this,ThirdActivity.class);
    startActivity(intent);
  • 效果如圖:
    技術分享圖片

3. 修改代碼讓Toast消息中顯示自己的學號信息

  • MainActivity.java中加入代碼

    import android.widget.Toast;
    Toast toast = Toast.makeText(MainActivity.this, "這是20165309吳思佳!", Toast.LENGTH_LONG);
    toast.show();
  • 及時截屏,如下:
    技術分享圖片

4.修改布局

  • activity_main.xmlDesign下可以很容易地完成操作,改後的布局如下:
    技術分享圖片

5.事件處理:構建項目,運行教材相關代碼

  • 代碼為:

MainActivity.java

package com.wsj.helloworld;



import android.app.Activity;

import android.graphics.Color;

import android.os.Bundle;

import android.view.Menu;

import android.view.View;



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

// Inflate the menu; this adds items to the action bar if it

// is present.

        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"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    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" />

    <RatingBar

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_marginTop="400dp"

        android:layout_marginLeft="40dp" />

</RelativeLayout>
  • 運行結果如下:
    技術分享圖片

三、實驗中遇到的問題及解決

  • 問題1:控制臺出現Error running app: Default ActivityNot Found提示
  • 解決1:因為AndroidStudio在創建工程時,默認設置Lunche工程時是需要Activity的,因為簡單的Widget程序,如果不和應用程序關聯,就不需要在Android工程中創建MainActivity,Build Project之後,調試安裝時就會報錯。
    • 打開配置app->Edit Configurations...
    • launch選項下拉選擇Nothing
  • 問題2:報錯Element selector must be declared
  • 解決2:這是因為.xml的待錯地方了,得挪回對應的文件夾下。
  • 問題3:報錯the user data image is used by another emulator. aborting
  • 解決3:這是因為沒有正確關閉模擬器,應在進程中關掉,然後重啟。
  • 問題4:報錯Cannot resolve symbol
  • 解決4:點擊菜單中的File->Invalidate Caches / Restart,然後點擊對話框中的 Invalidate and Restart,清空cache並且重啟。
  • android Toast顯示消息的幾種方法

四、實驗收獲

按照老師的指導博客和電子書,我完成了本次實驗,感覺很神奇,我什麽時候能做到自己開發Android就更好了:)~

步驟 耗時 百分比
需求分析 10min 10
設計 20min 20
代碼實現 20min 20
測試 30min 30
分析總結 20min 20

20165309 實驗四 Android程序設計