2018-2019-2 20175213实验四 《Android开发基础》实验报告

时间:2021-05-10 15:49:42

一、实验报告封面

课程:Java程序设计 班级:1752班 姓名:吕正宏 学号:20175213

指导教师:娄嘉鹏 实验日期:2019年5月14日

实验时间:13:45 - 21:00 实验序号:实验四

实验名称:Android开发基础

实验内容:

1、Android Studio

2、相关工具

实验要求:

1、完成实验、撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等)。

2、严禁抄袭,有该行为者实验成绩归零,并附加其他惩罚措施。

3.参考Android开发简易教程

4.完成云班课中的检查点,也可以先完成实验报告,直接提交。注意不能只有截图,要有知识点,原理,遇到的问题和解决过程等说明。实验报告中一个检查点要有多张截图。

5.发表实验报告博客,标题“学期(如2018-2019-2) 学号(如20175300) 实验四《Android开发基础》实验报告”

二、实验内容与步骤

(一)Android Studio的下载安装

1.Android Studio的介绍:

Android 开发因为涉及到代码编辑、UI 布局、打包等工序,有一款好用的IDE非常重要。Google 最早提供了基于 Eclipse 的 ADT 作为开发工具,后来在2013年 Google I/O 大会发布基于 IntelliJ IDEA 开发工具Android Studio。宣布不再持续支持 ADT。

目前, Android Studio已经逐渐取代Eclipse成为主流的Android开发环境。对于Android Studio与Eclipse之间的比较,你可以阅读知乎上的《Android Studio 比 Eclipse 好用在哪里?》。

由于Google无法进入中国,Android开发者下载开发工具都十分不方便,以前可以在Android Studio中文社区下载Android Studio,现在好了,2016年12月,Google 开通了Google Developers 中国网站,下载Android Studio就方便多了。

2.到指定网站上下载Studio,下载完成后,点击安装并点击安装虚拟机

2018-2019-2 20175213实验四 《Android开发基础》实验报告

3.随后会出现缺少SDK的窗口,第一次运行可能会要求配置Android SDK(安装过程中要知道自己的SDK安装到什么地方了)

2018-2019-2 20175213实验四 《Android开发基础》实验报告

2018-2019-2 20175213实验四 《Android开发基础》实验报告

4.然后在配置SDK的过程中,我被反复提醒安装SDK却无法勾选安装包,随后我就循环卸载安装包重新安装这个步骤,终于在后来的尝试中进入了配置SDK的窗口。配置SDK这一过程需要的时间可能需要点时间。

2018-2019-2 20175213实验四 《Android开发基础》实验报告

2018-2019-2 20175213实验四 《Android开发基础》实验报告

5.此时你可以看到Android Studio的欢迎页已经出来了,就像下面这样:

2018-2019-2 20175213实验四 《Android开发基础》实验报告

PS: 然后是这些选项的用途和意思:

左侧的Recent Projects将会显示你在这里编辑做的最近项目。右侧的Quick Start则是快速开始选项。

红色方框选中的Start a new Android Studio project选项通常是我们课程里最常使用的,用于创建一个新的Android项目。

在此介绍一下其他的选项:

  • 1.Open an existing Android Studio Project:打开已有的Android Studio项目。在经历一段时间的学习后,如果你想继续编辑之前的项目,或者打开一个从网上下载的例子,你可以点击此选项。

  • 2.Check out project from Version Control:从版本控制库中获取项目。对于团队开发来说,版本控制是必不可少的工具。此选项允许你从GitHubGoogle Cloud以及TortoiseSVN等处同步项目。事实上,Android Studio对于这些版本控制工具的支持也是很好的,你可以在设置中进行设定。

  • 3.Import project(Eclipse ADT, Gradle, etc.):导入其他开发环境中的项目。通过该选项你可以将在Eclipse等处生成的项目迁移到Android Studio的开发环境中。

  • 4.Import an Android code sample:导入Android代码样例。该功能将从Google及其合作伙伴那里读取示例的列表,你可以下载并查看一些优秀的项目并继续编辑它们。

(二)新建项目

1.进入界面后,点击第一行指令,然后项目模板选Empty Activity

2018-2019-2 20175213实验四 《Android开发基础》实验报告

2.项目名填Hello World,Package name直接保持自动生成的名字就好,Language选择JavaMinimum API level保持原样。然后进入主界面。

2018-2019-2 20175213实验四 《Android开发基础》实验报告

(三)配置和启动模拟器

1.启动虚拟机,在Android Studio的主界面上方的工具栏中,你可以看到一个名为AVD Manager的按钮,点击它你就能打开Android虚拟设备管理器(AVD: Android Virtual Device)。

此时并没有任何的虚拟设备,我们需要点击*的Create a virtual device按钮来创建一台模拟器。

2.创建模拟器的第一步是选择硬件。你可以通过选择现有的设备模板来定义一台模拟器。左侧的Category分类中可以选择是创建哪种类型的设备,通常我们是开发手机上的应用,所以选择Phone就可以了。右侧则显示了所有Google官方的设备模板,比如历年来发布的Nexus系列以及Google Phone系列。

2018-2019-2 20175213实验四 《Android开发基础》实验报告

3.然后进入系统镜像的选择。先挑选型号,下一步挑选系统版本。(我挑选的是Nougat版本)

2018-2019-2 20175213实验四 《Android开发基础》实验报告

4.下一步可以设置模拟器的名称。建议在名称中注明使用了哪一个版本的系统镜像

2018-2019-2 20175213实验四 《Android开发基础》实验报告

(四)项目的编译和运行

1.Hello World系统自带

2018-2019-2 20175213实验四 《Android开发基础》实验报告

2.运行虚拟机,看是否能正常运行。

2018-2019-2 20175213实验四 《Android开发基础》实验报告

(五)蓝墨云测试

Android Stuidio的安装测试

1.要求:完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号,自己学号前后一名同学的学号, 学习Android Stuidio调试应用程序

2.解决路径:在xml文件中找到android:text=这一语句,按要求修改后面内容为Hello World 20175213 20175212 20175214

3.截图:

2018-2019-2 20175213实验四 《Android开发基础》实验报告

4.代码:

<?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="Hello World! 20175213 20175212 20175214"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" /> </android.support.constraint.ConstraintLayout>

Activity测试

1.要求:构建项目,运行教材相关代码。创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity

2.解决方案:

  • 在activity_main.xml里新建一段代码

2018-2019-2 20175213实验四 《Android开发基础》实验报告

  • MainActivity.java中创建intent对象

  • 新建活动SecondActivityDemo,会发现多出SecondActivityDemo.classactivity_second_Demo

2018-2019-2 20175213实验四 《Android开发基础》实验报告

2018-2019-2 20175213实验四 《Android开发基础》实验报告

  • AndroidMainfest.xml注册

2018-2019-2 20175213实验四 《Android开发基础》实验报告

  • 效果展示

2018-2019-2 20175213实验四 《Android开发基础》实验报告

2018-2019-2 20175213实验四 《Android开发基础》实验报告

UI测试

1.要求:修改代码让Toast消息中显示自己的学号信息

2.解决方案:

  • MainActivity.java中操作,引入代码

2018-2019-2 20175213实验四 《Android开发基础》实验报告

事件处理测试

1.要求:参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十八章, 构建项目,运行教材相关代码

2.解决方案:

  • 改写MainActivity下的代码如下:
package com.example.helloworld;

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; import com.example.helloworld.R; 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下的代码如下:
<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">
<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="90dp"
android:onClick="changeColor"
/>
</RelativeLayout>

3.效果展示:

2018-2019-2 20175213实验四 《Android开发基础》实验报告

2018-2019-2 20175213实验四 《Android开发基础》实验报告

(六)问题与解决方案

问题1:在安装好虚拟机后,运行时出现如下错误emulator: ERROR: x86 emulation currently requires hardware acceleration!,一直卡在这。

2018-2019-2 20175213实验四 《Android开发基础》实验报告

问题1解决方案:

在博客园中查询博客(https://blog.csdn.net/shareye1992/article/details/81777387)得,SDK Tools中的Intel x86 Emulator Accelerator(HAXM installer)未安装。到sdk\extras\intel\Hardware_Accelerated_Execution_Manager文件夹双击安装一下intelhaxm-android.exe。 安装成功后,重新启动模拟机即可

2018-2019-2 20175213实验四 《Android开发基础》实验报告

(七)感悟和收获

1.第一次接触到Android虚拟机,很新鲜也有很多收获。

2.安装过程很复杂,让人很是头疼,但也是我自己在操作上有点问题,以后在此类问题上会多加注意。