課程:Java程序設計 班級:1652班 姓名:王高源 學號:20165225 指導教師:婁嘉鵬 實驗日期:2018年5月14日 實驗時間:3:35 - 5:15 實驗序號:實驗4 實驗名稱:Android程序設計 實驗內容: 實驗要求 1.Android Stuidio的安裝測試:參考《Java和Android開發學習指南(第二版)(EPUBIT,Java for Android 2nd)》第二十四章: 2.參考http://www.cnblogs.com/rocedu/p/6371315.html#SECANDROID,安裝 Android Stuidio 3.完成Hello World, 要求修改res目錄中的內容,Hello World後要顯示本身的學號,本身學號先後一名同窗的學號,提交代碼運行截圖和碼雲Git連接,截圖沒有學號要扣分 4.學習Android Stuidio調試應用程序 實驗要求: - 沒有Linux基礎的同窗建議先學習《Linux基礎入門(新版)》《Vim編輯器》 課程 - 完成實驗、撰寫實驗報告,實驗報告以博客方式發表在博客園,注意實驗報告重點是運行結果,遇到的問題(工具查找,安裝,使用,程序的編輯,調試,運行等)、解決辦法(空洞的方法如「查網絡」、「問同窗」、「看書」等一概得0分)以及分析(從中能夠獲得什麼啓示,有什麼收穫,教訓等)。報告能夠參考範飛龍老師的指導 嚴禁抄襲,有該行爲者實驗成績歸零,並附加其餘懲罰措施。
Android Studio的安裝與運行html
Android Studio的安裝包並進行安裝。
須要安裝Android的SDK,就像java裏面的JDK同樣。
因爲要在虛擬的手機上顯示,天然還須要虛擬機。java
任務一:android
根據老師的博客運行了Android Stuidio,而後運行了Helloworld進行設備測試並修改了xml文件。android-studio
<?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="com.example.a1.helloworld.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!Hello World!20155329 20165225 20165331" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> </android.support.constraint.ConstraintLayout>
任務二:網絡
在這個任務中,咱們須要調用ThirdActivity,因此在AndroidManifest.xml中再添加一個activity...>。而且每個控制文件的Activity都須要有對應的啓動程序文件(.java),和相應的佈局文件(.xml)。
在這個任務中,要求讓MainActivity啓動ThirdActivity,因此還須要修改MainActivity。app
MainActivity.java編輯器
package com.example.Calpernia.helloworld; 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); setContentView(R.layout.activity_third); } }
<?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:text="20165225王高源" /> </android.support.constraint.ConstraintLayout>
任務三:ide
修改代碼讓Toast消息中顯示本身的學號信息工具
只須要在這個任務須要在mainActivity中添加代碼:佈局
Button btnshow1 = (Button) findViewById(R.id.btn1); btnshow1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast toast = Toast.makeText(MainActivity.this, "20155225王高源", Toast.LENGTH_LONG); toast.show(); } });
package com.example.Calpernia.toast; import android.support.v7.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); Button button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v){ Toast toast = Toast.makeText(MainActivity.this,"20155225王高源", Toast.LENGTH_LONG); toast.show(); } }); } }
任務四:
修改佈局讓P290頁的界面與教材不一樣
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="com.example.a1.relativelayout.MainActivity"> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Cancel" app:layout_constraintLeft_toLeftOf="parent" android:layout_marginLeft="8dp" android:layout_marginRight="8dp" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" android:layout_marginTop="16dp" app:layout_constraintHorizontal_bias="0.932" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Save" android:layout_marginRight="8dp" android:layout_marginLeft="8dp" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@+id/button" app:layout_constraintTop_toTopOf="parent" android:layout_marginTop="16dp" app:layout_constraintHorizontal_bias="0.151" /> <ImageView android:id="@+id/imageView" android:layout_width="96dp" android:layout_height="84dp" app:srcCompat="@android:drawable/presence_audio_online" android:layout_marginRight="8dp" app:layout_constraintRight_toRightOf="parent" android:layout_marginLeft="8dp" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintBottom_toBottomOf="parent" android:layout_marginBottom="46dp" /> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Share" android:layout_marginBottom="8dp" app:layout_constraintBottom_toTopOf="@+id/imageView" app:layout_constraintTop_toTopOf="parent" android:layout_marginTop="8dp" android:layout_marginRight="8dp" app:layout_constraintVertical_bias="0.501" app:layout_constraintRight_toRightOf="parent" android:layout_marginLeft="8dp" app:layout_constraintLeft_toLeftOf="parent" /> <Button android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Delete" app:layout_constraintRight_toLeftOf="@+id/button5" android:layout_marginRight="8dp" android:layout_marginLeft="8dp" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintHorizontal_bias="0.139" android:layout_marginTop="55dp" app:layout_constraintTop_toBottomOf="@+id/button2" app:layout_constraintBottom_toBottomOf="parent" android:layout_marginBottom="8dp" /> <Button android:id="@+id/button5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Filter" android:layout_marginRight="27dp" app:layout_constraintRight_toRightOf="parent" android:layout_marginTop="55dp" app:layout_constraintTop_toBottomOf="@+id/button" app:layout_constraintBottom_toBottomOf="parent" android:layout_marginBottom="8dp" /> </android.support.constraint.ConstraintLayout>
任務五:
運行教材本章相關代碼並截圖
MainActivity.java
package com.example.a1.multicolorclock; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.graphics.Color; 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++]); } }
運行截圖:
步驟 | 耗時 | 百分比 |
---|---|---|
功能實現 | 55min | 12.5% |
測試 | 25min | 15.6% |
分析總結 | 20min | 12.5% |