20165309 實驗四 Android程序設計
阿新 • • 發佈:2018-05-20
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.xml
的Design
下可以很容易地完成操作,改後的布局如下:
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程序設計