《JAVA程序设计》 20155214 实验四 Android程序设计

实验内容

  • 基于Android Studio开发简单的Android应用并部署测试;
  • 了解Android、组件、布局管理器的使用;
  • 掌握Android中事件处理机制。

实验要求

第24章:初识Android

任务一:

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

第25章:活动

任务二:

  • 创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity

第26章:UI组件

任务三:

  • 修改代码让Toast消息中显示自己的学号信息

第27章:布局

任务四:

  • 修改布局让P290页的界面与教材不同

第28章:监听器

任务五:

  • 运行教材本章相关代码并截图

实验步骤

实验1

完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号

项目的目录树

build:该目录包含了自动生成的文件,这些文件包括了编译设置项、R类等。
libs:该目录包含了开发Android应用所需要的库文件。
src:该目录存放了应用的源代码.java文件。默认情况下,它包含了MainActivity.java文件,这个源代码j有一部分是执行了你点击应用图标时启动应用所需要功能。
res:该目录存放了所有的资源文件。
drawable:该目录存放了项目的drawable对象和一些图片资源。
layout:该目录存放了各个界面的布局文件。
menu:该目录存放了应用中设计的菜单对象。
mipmap:该目录存放了应用的主要图片资源。
values:该目录存放了字符串、颜色等定义的资源集合。
AndroidManifest.xml:该文件是描述应用基础特性的文件,定义了每个组件。
res目录
  • 存放了应用程序使用到的各种资源,如xml界面文件、图片、数据等。通常包含drawable子目录、layout子目录、values子目录三个。
  • drawable:存放分辨率不同的图片。
  • layout:存放xml界面布局文件,主要用于显示用户操作界面。
  • values:存放不同类型的数据,如string、array等。

通过修改layout中的content_main.xml,添加一个显示学号的文本框

实验2

创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity

  • 一个Activity类会通过XML文件(该文件在项目的res/layout目录中)来加载所有的UI组件,
  • 一个应用可以有一个或多个Activity,这没有任何限制。
  • 在应用中定义的每个Activity都必须在项目的AndroidManifest.xml文件中声明。

    并且,应用中的主Activity(你可想象成主界面)在声明时还必须注明标签,这个标签中包括了MAIN动作(action)和LAUNCHER目录(category)

实验3

修改代码让Toast消息中显示自己的学号信息

Toast

/*自定义Toast代码*/
LayoutInflater inflater = getLayoutInflater();
   View layout = inflater.inflate(R.layout.custom,
     (ViewGroup) findViewById(R.id.llToast));
   ImageView image = (ImageView) layout
     .findViewById(R.id.tvImageToast);
   image.setImageResource(R.drawable.icon);
   TextView title = (TextView) layout.findViewById(R.id.tvTitleToast);
   title.setText("Attention");
   TextView text = (TextView) layout.findViewById(R.id.tvTextToast);
   text.setText("自定义Toast");
   toast = new Toast(getApplicationContext());
   toast.setGravity(Gravity.RIGHT | Gravity.TOP, 12, 40);
   toast.setDuration(Toast.LENGTH_LONG);
   toast.setView(layout);
   toast.show();

实验4

修改布局让P290页的界面与教材不同

什么是布局

  • 用户交互界面中最基本的构件块就是View(视图)对象。
  • 它由View类创建,在屏幕上占据了一块矩形区域,并对绘制和事件处理作出相应。
  • View类也是各种控件的基类,这些控件有按钮、文本框等等。

可以根据应用的实际需求来选择对应的布局。

android:id:为一识别该视图的ID。

android:layout_width:布局的宽度。

android:layout_height:布局的高度。

android:layout_marginTop:布局顶部的额外空间。

android:layout_marginBottom:布局底部的额外空间。

android:layout_marginLeft:布局左部的额外空间。

android:layout_marginRight:布局右部的额外空间。

android:layout_gravity:指定子视图的放置方式。

android:layout_weight:权重。指定了在布局中,应该分配多少的额外空间给某个视图。

android:layout_x:指定了布局的X坐标。

android:layout_y:指定了布局的Y坐标。

android:paddingLeft:布局左边的内边距。

android:paddingRight:布局右边的内边距。

android:paddingTop:布局顶部的内边距。

android:paddingBottom:布局底部的内边距。

top:将对象放置在容器的顶端而不改变其尺寸。

bottom:将对象放置在容器的底端而不改变其尺寸。

left:将对象放置在容器的左端而不改变其尺寸。

right:将对象放置在容器的右端而不改变其尺寸。

center_vertical:将对象放置在容器的垂直方向中心处而不改变其尺寸。

center_horizontal:将对象放置在容器的水平方向中心处而不改变其尺寸。

fill_vertical:在需要时增加对象在垂直方向上的尺寸,以完全充满它的容器。

fill_horizontal:在需要时增加对象在水平方向上的尺寸,以完全充满它的容器。

center:将对象放置在容器的中心而不改变其尺寸。

fill:增加对象在水平、垂直方向上的尺寸,以完全填满它的容器。

实验4

运行教材本章相关代码并截图

教材内容

  • Android是基于事件的。使用活动中的一个视图进行的用户交互,可能会触发一个事件,包括点击、长按、触碰和按键等等。
  • 要让程序响应某一个事件,需要为该事件编写一个监听器。也就是要实现嵌入在android.view.View类中的一个接口。比如OnClickListener接口的onClick()方法。

课程代码链接

总结

本次实验让我亲身感受到了安卓开发设计的一隅,知道了自己所学Java课程的实用方面。

特别是在学习UI设计和互动设计时感觉到了Java程序设计时逻辑的重要性。

参考链接

2015521 实验四 Android程序设计的更多相关文章

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

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

  2. 第十四周实验报告:实验四 Android程序设计

    20162317袁逸灏 第十四周实验报告:实验四 Android程序设计 实验内容 Android Studio 实验要求 学会使用Android Studio 学习 活动 以及相关知识内容 学习 U ...

  3. 20165235实验四 Android程序设计

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

  4. 20165220Java实验四 Android程序设计

    一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:葛宇豪 学号:20165220 指导教师:娄嘉鹏 实验日期:2018年5月14日 实验时间:13:45 - 15:25 实验序号:实验 ...

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

    20172328<程序设计与数据结构>实验四 Android程序设计报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 李馨雨 学号:20172328 实验教师:王志 ...

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

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

  7. 实验四 Android程序设计

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

  8. 20165236 实验四 Android程序设计

    20165236  实验四 Android程序设计 一.实验报告 课程:Java程序设计          班级:1652班 姓名:郭金涛       学号:20165236 指导教师:娄嘉鹏  实验 ...

  9. 20165205 2017-2018-2 《Java程序设计》实验四 Android程序设计

    20165205 2017-2018-2 <Java程序设计>实验四 Android程序设计 实验内容 实验四 Android程序设计-1 Android Stuidio的安装测试: 参考 ...

随机推荐

  1. 给腾讯云Linux主机创建Swap文件

    新买的腾讯云主机没有提供Swap分区 理由是由于主机经常因为内存使用率过高,频繁使用Swap,导致磁盘IO过高,服务器整体性能反而下降. 不过用户依然可以使用Swap文件的方式添加Swap. 方法如下 ...

  2. 通过webview控件访问网页

    初学android开发,在界面编辑器上放了一个webview控件,可惜不知道如何访问控件,在网上看到一段代码记录下来,算是第一次学习笔记. 要想让程序联网需要授权,在AndroidManifest.x ...

  3. codeforces 703E Mishka and Divisors

    codeforces 703E Mishka and Divisors 题面 给出大小为\(1000\)的数组和一个数\(k\),求长度最短的一个子序列使得子序列的元素之积是\(k\)的倍数,如果有多 ...

  4. [TJOI2018]智力竞赛

    题目 发现我们需要最大化最小值,基本是二分了 那么我们二分出来一个值我们将小于等于这个值的都删去,现在的问题变成了如何用\(n+1\)条路径覆盖这张图 这不最小路径覆盖吗 于是我就忘了最小路径覆盖怎么 ...

  5. 【[SDOI2011]拦截导弹】

    这道题是真的蛇皮 方案数要开\(double\)真的蛇皮 首先\(dp\)是非常容易看出来的 设\(dp[i]\)表示以\(i\)结尾的最长子序列 显然转移方程为 \[dp[i]=max(dp[j]+ ...

  6. 随手练——LintCode 433 - 小岛数量

    LintCode 433: https://www.lintcode.com/problem/number-of-islands/description LintCode 434: https://w ...

  7. Python 基于request库的get,post,delete,封装

    # coding=utf-8 import json import requests class TestApi(object): """ /* @param: @ses ...

  8. Android App的签名打包(晋级篇)

    http://blog.csdn.net/linghu_java/article/details/6701666 Andriod应用程序如果要在手机或模拟器上安装,必须要有签名! 1.签名的意义 为了 ...

  9. 工具 | Axure基础操作 No.5

    今天看了不少的关于产品思维的文章,甚有感悟.但是还是觉得一句话说的非常对,做产品就像游泳,你掌握了很多理论知识,只要一下水那些理论知识都没什么用,只有真正的一头扎进水里你才知道身体怎么去适应这样的感觉 ...

  10. python - 流程控制基础习题

    #打印1 到100 的和** i = 0 s = 0 while i <100: i += 1 s += i print(s) print('1+2+,,100=',s) #打印字符A~Z fo ...