2022年夏季《移动软件开发》实验报告
姓名和学号? | |
---|---|
本实验属于哪门课程? | 中国海洋大学22夏《移动软件开发》 |
实验名称? | 实验5:第一个安卓应用 |
博客地址? | XXXXXXX |
Github仓库地址? | XXXXXXX |
(备注:将实验报告发布在博客、代码公开至 github 是 加分项,不是必须做的)
一、实验目标
模仿微信“发现”页创建列表布局,学习使用Textview imageview、LinearLayout
二、实验步骤
列出实验的关键步骤、代码解析、截图。
列出程序的最终运行结果及截图。
首先我们了解了安卓的历史及架构,并且在准备的过程中搭建了安卓的开发环境。这里给出了两个资源下载的地址:
JAVA SE 环境下载 https://www.oracle.com/java/technologies/downloads/
Android Studio 下载 https://developer.android.google.cn/studio#downloads
环境搭建分为三个步骤: 1、电脑安装jdk 2、配置JAVA环境 3、安装Androidstudio(含SDK)
首先创建一个文件夹,将下载好的jdk保存在该目录下面。然后点击进入java SE的安装页面
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DHqtrJfw-1661426383000)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220825175327909.png)]
之后一般默认安装到一个路径,将这个路径记住,或者可以选择自己想要安装的文件夹,之后点击下一步。之后一直点击下一步。完成之后可以在默认地址或者自己所选择的文件夹中看到相应的jdk与jre文件。之后进行环境变量的配置。
鼠标右键我的电脑-属性-高级系统设置,选择环境变量,点击环境变量进行新建
添加配置: 变量名:Java_Home 变量值:jdk 的安装目录 ,可以点击浏览目录选择(这个就是刚才的安装路径),之后确定保存。同时还需要添加Path的配置,选择Path,点击编辑,有两种方式可以进行修改:
1.新建 两个环境变量 变量1:%Java_Home%\bin 变量2:%Java_Home%\jre\bin(将其上移并确定保存)
2.将以下配置复制粘贴放在最前面,再 确定 保存 配置:%Java_Home%\bin;%Java_Home%\jre\bin;
继续添加配置:变量名:CLASSPATH 变值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
现在java在windows环境下的环境配置就完成了。
可以检测是否配置成功:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hKJPlDjy-1661426383001)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220825180529765.png)]
win+R出现面板,输入cmd回车
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mYxxqjWv-1661426383002)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220825180618112.png)]
输入java回车:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wwdQRDE6-1661426383002)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220825180646444.png)]
还可以输入 java -version查看Java版本等内容
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y6IALIUh-1661426383003)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220825180844279.png)]
接下来进行android studio的安装
首次运行没有SDK所以系统会检测环境,选择cancel即可
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZHE43Tuk-1661426383003)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220825181029699.png)]
之后Next、accpet、最后finish,最后安装完成会出现这样的界面:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XSlgVBZn-1661426383004)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220825181142524.png)]
选择Empty Activity 创建空的页面app,在项目语言中修改为java,之后就是下载一些运行项目的库(在这里需要花费很长一段时间)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kjZ9wpyH-1661426383005)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220825182439913.png)]
到这个界面算是下载完成。
到这里准备工作就做完了,接下来是第一个Android小程序的开发。这次试验要做的是一个仿微信“发现”页创建列表布局。重点在于Textview imageview 和LinearLayout 的使用。
首先是一些基础知识的了解,在这里就不赘述了。
页面中主要分为五个列表
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HSUCInYj-1661426383005)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220825182734252.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P7xmwCae-1661426383006)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220825182741926.png)]
我们要做的就是1. 首先设计一个外部总垂直布局,包含所有的列表组 2. 写五个LinearLayout来构建这五个列表组 3. 每个列表组的单独构建 4. 列表组之间的间隔样式搭建。
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#e5e5e5"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="#fff"
android:orientation="horizontal">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="15dp"
android:background="@mipmap/pengyou" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="15dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:text="朋友圈"
android:textColor="#333"
android:textSize="18dp"
android:textStyle="bold" />
<ImageView
android:layout_width="41dp"
android:layout_height="39dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="15dp"
android:background="@mipmap/jiantou" />
</LinearLayout>
<TextView
android:background="#f0f0f0"
android:layout_width="wrap_content"
android:layout_height="15dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="120dp"
android:background="#fff"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="#fff"
android:orientation="horizontal">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="15dp"
android:background="@mipmap/sao" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="15dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:text="扫一扫"
android:textColor="#333"
android:textSize="18dp"
android:textStyle="bold" />
<ImageView
android:layout_width="41dp"
android:layout_height="39dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="15dp"
android:background="@mipmap/jiantou" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="#fff"
android:orientation="horizontal">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="15dp"
android:background="@mipmap/yao" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="15dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:text="摇一摇"
android:textColor="#333"
android:textSize="18dp"
android:textStyle="bold" />
<ImageView
android:layout_width="41dp"
android:layout_height="39dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="15dp"
android:background="@mipmap/jiantou" />
</LinearLayout>
</LinearLayout>
<TextView
android:background="#f0f0f0"
android:layout_width="wrap_content"
android:layout_height="15dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="120dp"
android:background="#fff"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="#fff"
android:orientation="horizontal">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="15dp"
android:background="@mipmap/kan" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="15dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:text="看一看"
android:textColor="#333"
android:textSize="18dp"
android:textStyle="bold" />
<ImageView
android:layout_width="41dp"
android:layout_height="39dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="15dp"
android:background="@mipmap/jiantou" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="#fff"
android:orientation="horizontal">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="15dp"
android:background="@mipmap/sou" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="15dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:text="搜一搜"
android:textColor="#333"
android:textSize="18dp"
android:textStyle="bold" />
<ImageView
android:layout_width="41dp"
android:layout_height="39dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="15dp"
android:background="@mipmap/jiantou" />
</LinearLayout>
</LinearLayout>
<TextView
android:background="#f0f0f0"
android:layout_width="wrap_content"
android:layout_height="15dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="120dp"
android:background="#fff"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="#fff"
android:orientation="horizontal">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="15dp"
android:background="@mipmap/gou" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="15dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:text="购物"
android:textColor="#333"
android:textSize="18dp"
android:textStyle="bold" />
<ImageView
android:layout_width="41dp"
android:layout_height="39dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="15dp"
android:background="@mipmap/jiantou" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="#fff"
android:orientation="horizontal">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="15dp"
android:background="@mipmap/you" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="15dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:text="游戏"
android:textColor="#333"
android:textSize="18dp"
android:textStyle="bold" />
<ImageView
android:layout_width="41dp"
android:layout_height="39dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="15dp"
android:background="@mipmap/jiantou" />
</LinearLayout>
</LinearLayout>
<TextView
android:background="#f0f0f0"
android:layout_width="wrap_content"
android:layout_height="15dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="#fff"
android:orientation="horizontal">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="15dp"
android:background="@mipmap/chengxu" />
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="15dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:text="小程序"
android:textColor="#333"
android:textSize="18dp"
android:textStyle="bold" />
<ImageView
android:layout_width="41dp"
android:layout_height="39dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="15dp"
android:background="@mipmap/jiantou" />
</LinearLayout>
</LinearLayout>
三、程序运行结果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8mXH792W-1661426383007)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220825191814625.png)]
四、问题总结与体会
描述实验过程中所遇到的问题,以及是如何解决的。有哪些收获和体会,对于课程的安排有哪些建议。
在安装的过程中,没有选择默认路径,导致JDK与环境配置的路径出现错误,所以在安装studio的过程中出现无法安装的情况。这种情况选择了重开,删除原有的安装内容与环境配置。并在高级配置中寻找到相应的表。(其实可以选择更加方便的方式进行)
在下载的过程中出现下载过慢的情况,可以使用一些网页的插件,这样会大大提高下载的速率。