20165226 實驗四 Android程序設計

實驗四 Android程序設計

實驗目的

  • 1、Android Studio的安裝測試java

  • 2、Activity測試android

  • 3、UI測試android-studio

  • 4、佈局測試網絡

  • 5、事件處理測試app

實驗內容及步驟

(一)Android Studio的安裝測試

  • 安裝Android Studio

成功安裝後再進行Android SDK。ide

  • 修改res目錄中的內容,hello world後要顯示本身的學號,以及本身學號先後一名同窗的學號

(二)Activity測試

  • 構建項目ThirdActivity佈局

  • 建立ThirdActivity,在ThirdActivity中顯示本身的學號,修改代碼讓MainActivity啓動ThirdActivity
package com.example.xiang.thirdactivity;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.TextView;
public class MainActivity extends Activity implements
        OnTouchListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView tv = (TextView) findViewById(R.id.textView1);
        tv.setOnTouchListener(this);
    }
    @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;
    }
    @Override
    public boolean onTouch(View arg0, MotionEvent event) {
        Intent intent = new Intent(this, ThirdActivity.class);
        intent.putExtra("message", "20165226");
        startActivity(intent);
        return true;
    }
}
  • 提交代碼運行截圖和碼雲Git連接,截圖加學號水印

(三)UI測試

  • 構建項目MyApplication3,運行教材相關代碼
  • 修改代碼讓Toast消息中顯示本身的學號信息
    - MainActivity測試

    package MyApplication3.app.src.main.java.com.example.xiang.myapplication;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.content.Context;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.app.Activity;
    import android.util.AttributeSet;
    import android.view.Menu;
    import android.view.MenuItem;
    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);
          Button btnshow1 = (Button) findViewById(R.id.btn1);
          btnshow1.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  Toast toast = Toast.makeText(MainActivity.this, "20165226", Toast.LENGTH_LONG);
                  toast.show();
              }
          });
      }
      @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;
      }
    }
    • 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:text="20165226"
          app:layout_constraintBottom_toBottomOf="parent"
          app:layout_constraintLeft_toLeftOf="parent"
          app:layout_constraintRight_toRightOf="parent"
          app:layout_constraintTop_toTopOf="parent" />
    </android.support.constraint.ConstraintLayout>
  • 結果
    gradle

(四)佈局測試

  • 構建項目,運行教材相關代碼
  • 修改佈局讓P290頁的界面與教材不一樣
    • activity_main.xml
    <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:paddingLeft="2dp"
     android:paddingRight="2dp">
     <Button
         android:id="@+id/cancelButton"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="20165226"
         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:text="劉香杉"
         android:layout_below="@+id/cancelButton"
         android:layout_alignLeft="@+id/cancelButton"
         android:layout_alignStart="@+id/cancelButton"
         android:layout_marginTop="23dp" />
     <ImageView
         android:layout_width="150dp"
         android:layout_height="150dp"
         android:layout_marginTop="45dp"
         android:padding="4dp"
         android:src="@android:drawable/ic_dialog_email"
         android:id="@+id/imageView"
         android:layout_below="@+id/saveButton"
         android:layout_centerHorizontal="true" />
     <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="Filter" />
         <Button
             android:id="@+id/shareButton"
             android:layout_width="wrap_content"
             android:layout_height="fill_parent"
             android:text="Share" />
         <Button
             android:id="@+id/deleteButton"
             android:layout_width="wrap_content"
             android:layout_height="fill_parent"
             android:text="Delete" />
     </LinearLayout>
    </RelativeLayout>
  • 結果

(五)事件處理測試

  • 構建項目,運行教材相關代碼
<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="150dp"
    android:paddingLeft="150dp"
    android:paddingRight="150dp"
    tools:context=".MainActivity">
    <AnalogClock
        android:id="@+id/analogClock1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="200dp"
        android:onClick="changeColor" />
</RelativeLayout>
  • 結果

遇到問題及解決方案

  • 問題1:下載gradle時,不能正常順利下載,在一次次點擊try again始終彈出design not successful
    ui

  • 問題1解決方案:外下,而後把gradle拖進相關文件,或者檢查等待網絡暢通。
  • 問題2:在運行時,因文件命名有誤,build failed

  • 問題2解決方案:經過重命名文件爲menu_main.xml,成功解決問題。

統計PSP(Personal Software Process)時間:

步驟 耗時 百分比
設計 90min 50%
代碼實現 45 25%
測試 20 11%
分析總結 25 14%

實驗小結

本次實驗主要學會了下載安裝Android Studio及其使用狀況。Android Studio相對來講十分陌生,但他是創建在java基礎之上,有Java搭建平臺會好懂不少。在各類嘗試下仍不能運行時,有些焦急,但在順利解決問題以後,特別是顯示出虛擬界面時,有小小的知足與成就。

相關文章
相關標籤/搜索