20162307 實驗四 Android程序設計

實驗四 《Android程序設計》

北京電子科技學院(BESTI)

實 驗 報 告

課程:程序設計與數據結構html

班級:1623java

姓名:張韻琪android

學號:20162307git

指導教師:婁佳鵬老師、王志強老師網絡

實驗日期:2017年5月26號數據結構

實驗密級:非密級app

實驗時間:一週編輯器

必修/選修:必修ide

實驗名稱:Android程序設計工具

實驗儀器:電腦

實驗目的與要求:

  • 目的:

    學習Android程序設計
  • 要求:

    1.沒有Linux基礎的同窗建議先學習《Linux基礎入門(新版)》《Vim編輯器》 課程
    
      2.完成實驗、撰寫實驗報告,實驗報告以博客方式發表在博客園,注意實驗報告重點是運行結果,遇到的問題(工具查找,安裝,使用,程序的編輯,調試,運行等)、解決辦法(空洞的方法        如「查網絡」、「問同窗」、「看書」等一概得0分)以及分析(從中能夠獲得什麼啓示,有什麼收穫,教訓等)。報告能夠參考範飛龍老師的指導
    
      3. 嚴禁抄襲,有該行爲者實驗成績歸零,並附加其餘懲罰措施。

實驗內容、步驟

  • 安裝 Android Studio (Mac版)
    - 到官網安裝Android Studio 官網地址:https://developer.android.google.cn/studio/index.html
    - 選擇 我已閱讀並贊成上述條款及條件

    - 下載完畢以後,將 Android Studio 拖放到「Applications」文件夾中,而後啓動 Android Studio。
    - 選擇是否想要導入以前的 Android Studio 設置,而後點擊 OK。
    - 以後 Android Studio 設置嚮導將指導您完成餘下的設置,包括下載開發所需的 Android SDK 組件

  • 關於git push問題
    - 先參考此篇博客
    - 再打開終端,具體命令:

    localhost:~ zhangyunqi$ history
      注意:前面序號不要管    
      32    cd AndroidStudioProjects/
      33  ls
      34  cd zhangyunqiapp2(你的AndroidStudio 本身起的名字)
      35  ls
      36  ls -a
      37  git push
      38  ls
      39  cd zhangyunqiapp2
      40  ls
      41  git status
      42  git add .
      43  git commit -m "gradle"
      44  git push
      45  git push --set-upstream origin master
      46  git pull
      47  git branch
      48  git status
      49  git pull
      50   git branch
      51  git branch /?
      52  ls
      53   git status
      54  cd ..
      55  ls
      56  ls
      57  mkdir Tiffany4
      58  cd Tiffany4
      59  ls
      60  git clone http://git.oschina.net/pdds2017/20162307androidapp.git(碼雲上的連接)
      61  ls
      62  cd 20162307androidapp
      63  ls
      64  cd ..
      65  ls
      66  cd ..
      67  ls
      68  cd zhangyunqiapp2
      69  ls
      70  git clone http://git.oschina.net/pdds2017/20162307androidapp.git
      71  ls
      72  ls -a
      73  rm.git
      74  rm -rf .git
      75  ls
      76  ls -a
      77  rm .gitignore
      78  ls -a
      79  mv *.* 20162307androidapp/
      80  ls
      81   mv build/ 20162307androidapp/
      82  mv gradle 20162307androidapp/
      83  mv gradlew 20162307androidapp/
      84  mv app/ 20162307androidapp/
      85  ls
      86  ls -a
      87  mv .gradle/ 20162307androidapp/
      88  mv .idea/ 20162307androidapp/
      89  ls
      90  cd 20162307androidapp/
      91  ls
      92  git add .
      93  ls
      94  git commit -m "finish android projects"
      95  git push

實驗內容1

Android Studio的安裝測試: 參考《Java和Android開發學習指南(第二版)(EPUBIT,Java for Android 2nd)》第二十四章:
    - 安裝 Android Studio
    - 完成Hello World, 要求修改res目錄中的內容,Hello World後要顯示本身的學號,提交代碼運行截圖和碼雲Git連接,截圖沒有學號要扣分
    - 學習Android Studio調試應用程序

實驗步驟1

1.按照婁老師所給的博客,建立a new Android Studio project . 博客連接:http://www.cnblogs.com/rocedu/p/6824965.html
2.而後 res目錄-->layout目錄-->activity_main.xml將android:text="Hello World!" 改成android:text="Hello World!20162307"

實驗結果1

實驗內容2

Activity測試: 參考《Java和Android開發學習指南(第二版)(EPUBIT,Java for Android 2nd)》第二十五章:
    - 構建項目,運行教材相關代碼
    -  建立 ThirdActivity, 在ThirdActivity中顯示本身的學號,修改代碼讓MainActivity啓動ThirdActivity
    - 提交代碼運行截圖和碼雲Git連接,截圖要有學號水印,不然會扣分

實驗步驟2

1.app右鍵--> new-->Activity-->Gallery,選擇Empty Activity而後點擊next
2.接下來的界面

3.點擊finish
4.在MainActivity原有的代碼的基礎上加上下面的代碼

@Override
        public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_main, menu);
            return true;
        }

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            Intent intent = new Intent(this, ThirdActivity.class);
            intent.putExtra("message", "20162307張韻琪實驗2");
            startActivity(intent);
            return true;

    }

5.將ThirdActivity改成

public class ThirdActivity extends Activity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_third);
            Intent intent = getIntent();
            String message = intent.getStringExtra("message");
            ((TextView) findViewById(R.id.textView1)).setText(message);
        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.menu_main, menu);
            return true;
        }
    }

6.在activity_third.xml中添加一段代碼:

<TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/textView1"
            />

7.在AndroidManifest.xml添加下面的代碼

<intent-filter>

            <action android:name="com.blackay.test.helloworld.ThirdActivity" />

            <category android:name="android.intent.category.DEFAULT" />

        </intent-filter>

    </activity>

實驗結果2

實驗內容3

UI測試: 參考《Java和Android開發學習指南(第二版)(EPUBIT,Java for Android 2nd)》第二十六章:
    - 構建項目,運行教材相關代碼
    -  修改代碼讓Toast消息中顯示本身的學號信息
    - 提交代碼運行截圖和碼雲Git連接,截圖要有學號水印,不然會扣分

實驗步驟3

MainActivity.java代碼:

package com.example.zhangyunqi.zhangyunqiapp;

    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, "20162307張韻琪實驗3", Toast.LENGTH_LONG);
                    toast.show();

                }
            });
        }


    }

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="10dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:paddingTop="10dp"
        tools:context=".MainActivity" >
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="first_screen" />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="20162307張韻琪實驗3"
            android:id="@+id/btn1"
            android:layout_alignParentTop="true"
            android:layout_marginTop="31dp"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />
    </RelativeLayout>

實驗結果3

實驗內容4

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

實驗步驟4

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="10dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:paddingTop="10dp"
        tools:context=".MainActivity" >
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="first_screen" />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="20162307張韻琪實驗4"
            android:id="@+id/btn1"
            android:layout_alignParentTop="true"
            android:layout_marginTop="31dp"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />
        <FrameLayout
        android:layout_width="368dp"
        android:layout_height="495dp"
        android:orientation="horizontal"
        tools:layout_editor_absoluteX="11dp"
        tools:layout_editor_absoluteY="16dp">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="160dp"
            android:layout_marginTop="150dp"
            android:text="20162307實驗4" />
    
        <ImageButton
            android:id="@+id/imageButton"
            android:layout_width="131dp"
           android:layout_height="69dp"
            android:layout_marginLeft="160dp"
            android:layout_marginTop="140dp"
            android:alpha="0.4"
            android:src="@android:drawable/btn_star_big_on" />
    </FrameLayout>
    </RelativeLayout>

實驗結果4:

實驗內容5

事件處理測試: 參考《Java和Android開發學習指南(第二版)(EPUBIT,Java for Android 2nd)》第二十八章:
    - 構建項目,運行教材相關代碼
    - 提交代碼運行截圖和碼雲Git連接,截圖要有學號水印,不然會扣分

實驗步驟4

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:paddingBottom="40dp"
        android:paddingLeft="40dp"
        android:paddingRight="40dp"
        tools:context=".MainActivity">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="20162307實驗5"></TextView>

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

MainActivity.java代碼:

package com.example.zhangyunqi.zhangyunqiapp;

    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);
        }


        public void changeColor(View view) {
            if (counter == colors.length) {
                counter = 0;
            }
            view.setBackgroundColor(colors[counter++]);
        }
    }

實驗結果5

統計本身的PSP(Personal Software Process)時間

步驟 耗時 百分比
需求分析 60min 14.0%
代碼實現 170min 39.5%
測試 150min 34.9%
分析總結 50min 11.6%

實驗總結與體會

以爲AndroidStudio是一個新的體驗,和以前學習的不大相同,在AndroidStudio中git是最麻煩的,是最難弄的,因此我把怎麼弄git寫在個人博客裏。

這次實驗連接

相關文章
相關標籤/搜索