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中的四大组件

    • Activity
    • Service
    • ContentProvider
    • Broadcast 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程序设计》实验报告的更多相关文章

  1. 20165230 《Java程序设计》实验四 Android程序设计实验报告

    20165230 <Java程序设计>实验四 Android程序设计实验报告 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:田坤烨 学号:20165230 成绩: 指导 ...

  2. 实验四 Android程序设计 实验报告

    实验四 Android程序设计 实验报告 目录 代码托管地址 Android程序设计-1 Android程序设计-2 Android程序设计-3 Android程序设计-4 Android程序设计-5 ...

  3. 20155326 实验四 Android程序设计实验报告

    20155326 实验四 Android程序设计实验报告 实验内容 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Android.组件.布局管理器的使用: 3. ...

  4. 20162325金立清 实验四 Android程序设计 实验报告

    实验四 Android程序设计 实验报告 代码托管地址 码云链接 实验内容 安装使用Android Stuidio Activity测试 UI测试 布局测试 事件处理测试 Android程序设计-1 ...

  5. 实验四 Android程序设计 实验报告 20162305李昱兴

    实验四 Android程序设计 实验报告 20162305李昱兴 一.Android Studio的安装测试 1.有关该软件 Android Studio,是基于Itellij IDEA的一款流行的I ...

  6. 20172302《程序设计与数据结构》实验四Android程序设计实验报告

    课程:<程序设计与数据结构> 班级: 1723 姓名: 侯泽洋 学号:20172302 实验教师:王志强老师 实验日期:2018年5月30日 必修/选修: 必修 1.实验内容 (1)And ...

  7. 20155328 实验四 Android程序设计 实验报告

    20155328 实验四 Android程序设计 第24章 初识Android 提交点1:完成HelloWorld并显示自己的学号 安装Android Studio后,创建了属于自己的Project( ...

  8. 2016-2017-2 20155312 实验四Android程序设计实验报告

    遇到的问题及解决过程 「问题1」Android Studio-R文件出错 解决:参考Android Studio-R文件错误的解决办法步骤如下: 第一步:检查xml文件,R文件错误通常是由于我们的xm ...

  9. 20165235实验四 Android程序设计

    20165235实验四 Android程序设计 实验课程:JAVA编程设计 实验名称:Android开发 姓名:祁瑛 学号:20165235 实验时间:2018.05.16 指导老师:娄家鹏 Andr ...

  10. 实验四 Android程序设计

    20155224 实验四 Android程序设计 实验报告 实验报告封面: 课程:Java程序设计 班级:1652班 姓名:王高源 学号:20165225 指导教师:娄嘉鹏 实验日期:2018年5月1 ...

随机推荐

  1. windos下安装django

    一:pip install Django       安装完以后,运行python manager.py runserver 0.0.0.0:8000报错:   1):没有安装Mysql-python ...

  2. 基于keras的fasttext短文本分类

    ### train_model.py ### #!/usr/bin/env python # coding=utf-8 import codecs import simplejson as json ...

  3. Pascal语言(存档)

    数据类型 标准函数 运算符和表达式 输入语句 输出语句 if语句 case语句 for语句 while语句 repeat语句 函数与过程 形参与实参 全局变量与局部变量 数组 字符串 枚举 子界 集合 ...

  4. docker 学习(九) docker部署静态网站

    一:  dockerfile, 把Dockerfile和myfolder放在一个目录下: FROM httpd:2.4 COPY ./myfolder/ /usr/local/apache2/htdo ...

  5. gitea 源码阅读笔记 002 生成无依赖单文件可执行包

    gitea bindata static gitea 可以通过 make generate 生成一个单文件可执行程序, 该文件不需要任何其它依赖,直接可以单独执行. 对于用户的安装.升级和生成dock ...

  6. java多线程中最佳的实践方案是什么?

    java多线程中最佳的实践方案是什么? 给你的线程起个有意义的名字.这样可以方便找bug或追踪.OrderProcessor, QuoteProcessor or TradeProcessor 这种名 ...

  7. day39数据库之基本数据类型

    数据库之数据类型1.数据存储引擎 一个功能的核心部分,回到mysql        核心功能是存储数据  涉及到存储数据的代码 就称之为存储引擎        根据不同的需求 也有着不同的引擎分类 不 ...

  8. day29单例模式的4种实现模式

    单例模式的四种实现模式单例模式实现方式一: import settings class MySQL:  __instance=None  def __init__(self, ip, port):   ...

  9. 【Python】pip国内安装源和yum恢复

    豆瓣安装源 pip install packages -i http://pypi.doubanio.com/simple --upgrade --trusted-host pypi.doubanio ...

  10. c#操作excel方式三:使用Microsoft.Office.Interop.Excel.dll读取Excel文件

    1.引用Microsoft.Office.Interop.Excel.dll 2.引用命名空间.使用别名 using System.Reflection; using Excel = Microsof ...