2017-2018-2 20165315 实验四《Android程序设计》实验报告
2017-2018-2 20165315 实验四《Android程序设计》实验报告
第24章:初识Android
Android Studio项目的目录树

1 build:该目录包含了自动生成的文件,这些文件包括了编译设置项、R类等
2 libs:该目录包含了开发Android应用所需要的库文件
3 src:该目录存放了应用的源代码.java文件。默认情况下,它包含了MainActivity.java文件,这个源代码j有一部分是执行了你点击应用图标时启动应用所需要功能
4 res:该目录存放了所有的资源文件
5 drawable:该目录存放了项目的drawable对象和一些图片资源
6 layout:该目录存放了各个界面的布局文件
7 menu:该目录存放了应用中设计的菜单对象
8 mipmap:该目录存放了应用的主要图片资源
9 values:该目录存放了字符串、颜色等定义的资源集合
10 AndroidManifest.xml:该文件是描述应用基础特性的文件,定义了每个组件。
任务一:
- 参考```http://www.cnblogs.com/rocedu/p/6371315.html#SECANDROID```,安装 Android Stuidio
- 完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号,自己学号前后一名同学的学号
- 学习Android Stuidio调试应用程序
实验过程:
- 将布局文件
activity_main.xml中的android:text="Hello World!"改为android:text="Hello World20165315!"

运行截图:

- 学习Android Stuidio调试应用程序
调试过程如下:Tools->Android->Android Device Monitor
第25章:活动
- Android中的四大组件
ActivityServiceContentProviderBroadcast Receiver
- 对于
Activity,它是Android系统中最常用、最常见的一个组件 - 一个应用通常包含了多个
Activity Activity类定义了如下的回调事件onCreate():这是第一个回调方法。当Activity首次被创建时会调用它onStart:当Activity对于用户来说变为可视状态时会回调此方法onResume():当用户开始与应用交互时会调用此方法onPause():当前的Activity正在暂停中,并且先前的Activity正在恢复时,被暂停的这个Activity不会再接收用户的输入,也不再执行任何代码和调用onStop():当Activity不再为可视状态时会调用该回调方法onDestroy():该方法会在Activity被系统销毁前被调用onRestart():当Activity在被停止后重新启动时,会调用该回调方法
任务二
创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity
- 配置Activity
- 在文件AndroidManifest.xml中,只要为application元素添加activity子元素,即可配置Activity
- 在这个任务中,我们需要调用ThirdActivity,所以在AndroidManifest.xml中再添加一个activity即可
- 启动、关闭Activity
- 每一个控制文件的Activity都需要有对应的启动程序文件(.java)和相应的布局文件(.xml)
- 在这个任务中,要求让MainActivity启动ThirdActivity,所以还需要修改MainActivity
运行截图:


第26章:UI组件
- Android提供了许多的UI组件,你能按需构建应用的用户交互界面
TextView:文本标签,该控件用于显示文本EditText:文本框,是预定义好的TextView的一个子类,有富文本编辑能力AutoCompleteTextView:自动完成的文本标签,类似于EditText。当用户在输入的时候会自动给出一些完整的建议Button:按钮,可以按压、点击,由用户完成一个动作ImageButton:图片按钮,顾名思义CheckBox:复选框,可以作为用户使用的一个开关。当有一系列可供选择的选项时,建议使用该控件ToggleButton:带有一个“灯泡”效果的开关按钮RadioButton:单选按钮,只有选中和未选中状态RadioGroup:是RadioButton的集合,在同组内只能选中一个单选按钮Spinner:下拉列表,允许用户在多个选项中选择一个TimePicker:时间选择器,能让用户输入时间,有12小时和24小时模式DatePicker:日期选择器,能让用户输入日期ProgressBar:进度条,为用户提供某项工作的进度,比如后台正在做的事情
任务三
修改代码让Toast消息中显示自己的学号信息
修改MainActivity代码如下:
package yh.is.besti.edu.cn.uitest;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
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, "20165211", Toast.LENGTH_LONG);
toast.show();
}
});
}
}
运行截图:

第27章:布局
- 布局的类型
- 线性布局
LinearLayout:线性布局是一个视图组(ViewGroup),能在水平或者垂直的单一方向上将所有子元素排成一行 - 相对布局
RelativeLayout:相对布局是一个将子视图显示在相对的位置上的布局 - 表格布局
TableLayout:表格布局是在行、列中组合子元素的视图 - 绝对布局
AbsoluteLayout:绝对布局能让你指定子元素的精确位置 - 帧布局
FrameLayout:帧布局是一个屏幕上的占位符,你可以用它来显示单一视图 - 列表视图
ListView:列表布局是可以滚动的,是用于显示子元素列表的视图组 - 网格视图
GridView:网格视图是在二维可滚动的网格中显示子元素的视图组
- 线性布局
任务四
修改布局让P290页的界面与教材不同
- 修改
activity_main.xml中内容,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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:orientation="horizontal">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="100dp"
android:layout_marginTop="100dp"
android:text="20165211" />
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="20165211"></FrameLayout>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</FrameLayout>
运行截图:

第28章:监听器
任务五
构建项目,运行教材相关代码
运行截图:

遇到的问题及解决方案
- 安装完AndroidStudio,出现
gradle project sync failed报错
解决过程:
在网上查找到一篇博客,里面详细的描述了解决方法:
打开网页
http://services.gradle.org/distributions/,选择你想要的对应版本的gradle,然后放到C:\Users\用户名.gradle\wrapper\dists\gradle-4.1-all的文件夹中即可(这个压缩包不用解压)
- 在解决上述问题的过程中,我发现Mac电脑会自动解压下载的压缩包
解决过程:
未解压的zip文件在垃圾桶里找到了:)
- 第一次运行
Hello World时,R类一直标红,提示文件里找不到R类

解决过程:
在网络上查询后,在一篇博客中找到了答案:
1、clean project:Build->Clean Project
2、rebuild project:Build->Rebuild Project
3、以及重启应用乃至系统:File->Invalidata Caches/Restart->Invalidata and Restart
- 虚拟安卓手机启动失败

解决过程:
貌似是手机型号的问题,使用Nexus 5X API 27×86会出现这个问题,但是使用Nexus 5 API 27就不会出现此问题
实验体会与总结
这次实验是全新的内容,将java用在了我们之前从未接触过的领域——Android开发。完成这次实验,我们大致了解了Android开发的流程和框架,为今后深入学习打下了基础,拓宽了视野。在安装Android Studio时出现了很多问题,我在不断查找解决方法的过程中,更加体会到了安装成功的自豪感hh当运行结果出现在虚拟手机页面上时,我真正感受到了Java在安卓应用上的广泛使用,对Java的兴趣更加深厚了。
PSP(Personal Software Process)时间
| 步骤 | 耗时 | 百分比 |
|---|---|---|
| 步骤 | 耗时 | 百分比 |
| 需求分析 | 60min | 26% |
| 设计 | 30min | 13% |
| 代码实现 | 90min | 39% |
| 测试 | 20min | 9% |
| 分析总结 | 30min | 13% |
码云链接
https://gitee.com/BESTI-IS-JAVA-2018/20165315AndroidStudio
2017-2018-2 20165315 实验四《Android程序设计》实验报告的更多相关文章
- 20165230 《Java程序设计》实验四 Android程序设计实验报告
20165230 <Java程序设计>实验四 Android程序设计实验报告 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:田坤烨 学号:20165230 成绩: 指导 ...
- 实验四 Android程序设计 实验报告
实验四 Android程序设计 实验报告 目录 代码托管地址 Android程序设计-1 Android程序设计-2 Android程序设计-3 Android程序设计-4 Android程序设计-5 ...
- 20155326 实验四 Android程序设计实验报告
20155326 实验四 Android程序设计实验报告 实验内容 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Android.组件.布局管理器的使用: 3. ...
- 20162325金立清 实验四 Android程序设计 实验报告
实验四 Android程序设计 实验报告 代码托管地址 码云链接 实验内容 安装使用Android Stuidio Activity测试 UI测试 布局测试 事件处理测试 Android程序设计-1 ...
- 实验四 Android程序设计 实验报告 20162305李昱兴
实验四 Android程序设计 实验报告 20162305李昱兴 一.Android Studio的安装测试 1.有关该软件 Android Studio,是基于Itellij IDEA的一款流行的I ...
- 20172302《程序设计与数据结构》实验四Android程序设计实验报告
课程:<程序设计与数据结构> 班级: 1723 姓名: 侯泽洋 学号:20172302 实验教师:王志强老师 实验日期:2018年5月30日 必修/选修: 必修 1.实验内容 (1)And ...
- 20155328 实验四 Android程序设计 实验报告
20155328 实验四 Android程序设计 第24章 初识Android 提交点1:完成HelloWorld并显示自己的学号 安装Android Studio后,创建了属于自己的Project( ...
- 2016-2017-2 20155312 实验四Android程序设计实验报告
遇到的问题及解决过程 「问题1」Android Studio-R文件出错 解决:参考Android Studio-R文件错误的解决办法步骤如下: 第一步:检查xml文件,R文件错误通常是由于我们的xm ...
- 20165235实验四 Android程序设计
20165235实验四 Android程序设计 实验课程:JAVA编程设计 实验名称:Android开发 姓名:祁瑛 学号:20165235 实验时间:2018.05.16 指导老师:娄家鹏 Andr ...
- 实验四 Android程序设计
20155224 实验四 Android程序设计 实验报告 实验报告封面: 课程:Java程序设计 班级:1652班 姓名:王高源 学号:20165225 指导教师:娄嘉鹏 实验日期:2018年5月1 ...
随机推荐
- Restful Service 中 DateTime 在 url 中传递
在C# url 中一旦包特殊字符,请求可能就无法送达.可以使用如下方法,最为便捷. 请求端: beginTime.Value.ToString("yyyyMMddHHmmss") ...
- C#的发展历程 -- 系列介绍
C#的发展历程第五 - C# 7开始进入快速迭代道路 C#与C++的发展历程第四 - C#6的新时代 C#与C++的发展历程第三 - C#5.0异步编程巅峰 C#与C++的发展历程第二 - C#4.0 ...
- [随笔][Golang][golang nil 相关]
nil 是不能比较的 不同类型的nil的address是一样的 不同类型的nil是不能比较的 nil 是map, slice, pointer, channel, func, interface的零值 ...
- js+css jQuery实现页面后退执行 & 遮罩弹框
JS部分 <script src="http://libs.baidu.com/jquery/2.0.0/jquery.js"></script> < ...
- Ansible 快速部署 Zabbix 4
阅读本文章需要具有Ansible.Zabbix基础.本次教程基于如下环境: CentOS 7.x Zabbix 4.0 Ansible 2.5 服务器初始化 关闭防火墙.selinux,添加epel常 ...
- ORM操作 数据库外键 一对多
创建外键: from django.db import models class usergroup(models.Model): uid = models.AutoField(primary_key ...
- c语言fork 多进程
fork函数的作用 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两 ...
- Flask--templates-多个模板文件,视图函数如何判断查询路径
结论:以当前视图的模板为基准,查找模板文件,如果没有找到就会报错,如果需要更换模板的访问路径,可以修改__name__参数. 参考资料: https://blog.csdn.net/f70408410 ...
- Windows安装配置Anaconda2/PyCharm
一.安装Anaconda2 1.进入Anaconda官网:https://www.anaconda.com/download/,下载对应版本的安装包. 2.下载成功后,打开可执行文件进行安装. 3.N ...
- SpringMVC复习
第一天 springmvc.xml 一个配置文件,SpringMVC本身就是Spring的子项目,对Spring兼容性很好,不需要做很多配置. 这里只配置一个Controller扫描就可以了,让Spr ...