2018-2019-2 20175226王鹏雲 实验四《Android程序设计》实验报告
实验报告封面
- 课程:Java程序设计 班级:1752班 姓名:王鹏雲 学号:20175226
- 指导教师:娄嘉鹏 实验日期:2019年5月16日
- 实验时间:--- 实验序号:实验四
- 实验名称:Android开发基础
- 实验要求:
- 参考Android开发简易教程
- 完成云班课中的检查点,也可以先完成实验报告,直接提交。注意不能只有截图,要有知识点,原理,遇到的问题和解决过程等说明。
- 完成实验、撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果。
实验前期准备
- 按照博客中的链接和说明安装Android Stuidio并配置SDK
- 安装成功,建立系统
- 在
tool
中点击AVD Manager
就可以设置自己的虚拟手机
- 先在这里选择型号,选择系统,完成
- 启动创建的手机
1.Android Stuidio的安装测试
- 实验要求
- 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECANDROID,安装 Android Stuidio
- 完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号,自己学号前后一名同学的学号,提交代码运行截图和码云Git链接,截图没有学号要扣分
- 学习Android Stuidio调试应用程序
- 实验步骤
- 在布局文件
activity_main.xml
中,修改android:text=
后面的内容Hello World 20175226 20175225 20175227
- 在布局文件
- 实验结果
2.Activity测试
- 实验要求 -Activity测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十五章:
- 构建项目,运行教材相关代码
- 创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity
- 提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分
- MainActivity代码
package com.example.myapplication;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;import android.widget.Button;import android.widget.Toast;import android.graphics.Color;import android.widget.AnalogClock;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 onTouch(View arg0, MotionEvent event) { Intent intent = new Intent(this, ThirdActivity.class); intent.putExtra("message", "20175226王鹏雲"); startActivity(intent); return true; }}
- 运行结果截图
3.UI测试
- 实验要求
- UI测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十六章:
- 构建项目,运行教材相关代码
- 修改代码让Toast消息中显示自己的学号信息
- 提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分
- MainActivity代码
package com.example.myapplication;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, "20175226王鹏雲", Toast.LENGTH_LONG); toast.show(); } }); }}
- activity_main.xml
- 运行结果截图
4.布局测试
- 实验要求
- 构建项目,运行教材相关代码
- 修改布局让P290页的界面与教材不同
- 提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分
- MainActivity
package com.example.myapplication;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); }}
-activity_main.xml
- 运行结果截图
5.事件处理测试
- 实验要求
- 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十八章:
- 构建项目,运行教材相关代码
- 提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分
- MainActivity
package com.example.myapplication;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.widget.AnalogClock;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++]); }}
- activity_main.xml
- 运行结果截图
码云链接
由于码云仓库出现了一些问题导致无法上传,在重新弄好之后补上链接
实验心得
- 这次实验是又是一个完全没有接触过的部分,同样的实验碰上的问题也是之前没有碰到的,不过由于之前的学习经验,在这些方面的自学能力强了不少,所以遇到问题也更加得心应手