20155239 实验四 Android程序设计

目录

第24章:初识Android

任务一:

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

学习Android Stuidio调试应用程序

第25章:活动

任务二:

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

第26章:UI组件

任务三:

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

第27章:布局

任务四:

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

第28章:监听器

任务五:

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

任务一:

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

看到介绍Android四大组件说过,活动是Android应用程序的门面,凡是在应用中你看到的东西,都是放在活动中的。所以任务一的实验结果界面,其实就是HelloWorldActivity这个活动,打开HelloWorldActivity这个活动,代码如下:

public class MainActivity extends AppCompatActivity {

  @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}

首先看到,HelloWorldActivity是继承AppCompatActivity的,项目中所有的活动必须继承它才能拥有活动特性。在上述代码里没有Android程序设计讲究逻辑和视图分离,所以不推荐在活动中编写,布局文件定义在res/layout目录下,展开Layout目录就会看到hello-world-layout.xml这个文件,打开该文件并切换到Text视图 我的实验截图中我将自动生成的代码中

  android:text="Hello World!"

改为

  android:text="Hello World!:20155239"

就得到了任务一的结果。

任务二:

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

首先创建一个thirdactivity代码如下:

package com.example.a10415.lvyuxuan;

 import android.support.v7.app.AppCompatActivity;
import android.os.Bundle; public class ThirdActivity extends AppCompatActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_third);
}

}

然后修改MainActivity中的按钮点击事件,代码如下:

button1.setOnClickListenser(new View.OnClickListener() {
@Override
public void onClick(Viwe v) {
Intent intent = new Intent(MainActivity.this, ThridActivity.class);
startActivity(intent);
}
}

每一个控制文件的Activity都需要有对应的启动程序文件(.java),和相应的布局文件(.xml)

运行结果图

任务三:

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

Toast是Android系统中一种非常好的提醒方式,用来显示信息的一种机制。Toast显示的时间有限,在经过一段时间后就会自动消失。

首先要定义一个弹出Toast的触发点,在onCreate()方法中添加图示中的代码:如图

Toast的用法非常简单,通过静态方法makeText()创建一个Toast对象,然后调用show(),将Toast显示出来就可以了,makeText()方法需要传入3个参数。第一个参数是Context,就是Toast要求的上下文,第二个参数是要显示的内容,第三个参数是Toast显示的时长,我选择了Toast.LENGTH_LONG.就是显示时间较长。

运行结果图:

任务四:

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

Android中常用的5大布局方式有以下几种:

线性布局(LinearLayout):按照垂直或者水平方向布局的组件



**帧布局(FrameLayout):组件从屏幕左上方布局组件。

表格布局(TableLayout):按照行列方式布局组件。

相对布局(RelativeLayout):相对其它组件的布局方式。

绝对布局(AbsoluteLayout):按照绝对坐标来布局组件。

  1. 线性布局

    线性布局是Android开发中最常见的一种布局方式,它是按照垂直或者水平方向来布局,通过“android:orientation”属性可以设置线性布局的方向。属性值有垂直(vertical)和水平(horizontal)两种。

常用的属性:

android:orientation:可以设置布局的方向

android:gravity:用来控制组件的对齐方式

layout_weight:控制各个组件在布局中的相对大小

  1. 帧布局

帧布局是从屏幕的左上角(0,0)坐标开始布局,多个组件层叠排列,第一个添加的组件放到最底层,最后添加到框架中的视图显示在最上面。上一层的会覆盖下一层的控件。

3.表格布

表格布局是一个ViewGroup以表格显示它的子视图(view)元素,即行和列标识一个视图的位置。

表格布局常用的属性如下:

android:collapseColumns:隐藏指定的列

android:shrinkColumns:收缩指定的列以适合屏幕,不会挤出屏幕

android:stretchColumns:尽量把指定的列填充空白部分

android:layout_column:控件放在指定的列

android:layout_span:该控件所跨越的列数

4.相对布局

相对布局是按照组件之间的相对位置来布局,比如在某个组件的左边,右边,上面和下面等。

  1. 绝对布局

    绝对布局通过指定子组件的确切X,Y坐标来确定组件的位置

    我修改了代码如下:

     TextView
    android:id="@+id/tv1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textSize="24sp"
    android:textColor="#00ff00"
    android:text="20155239"/>
    TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textSize="40sp"
    android:textColor="#ffff00"
    android:text="吕宇轩"/>

代码中andriod:textSize属性可以定义文字的大小,android:textColor属性可以定义文字的颜色,在Android中字体大小使用SP作为单位。

任务五:运行教材本章相关代码并截图

以课本P298为例

如图

20155239 实验四 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. HTTP协议图--HTTP 协议基础

    1.通过请求和响应的交换达成通信 应用 HTTP 协议时,必定是一端担任客户端角色,另一端担任服务器端角色.仅从一条通信线路来说,服务器端和客服端的角色是确定的.HTTP 协议规定,请求从客户端发出, ...

  2. Linq to Entities,ADO.NET Entity Framework 模型优先

    一.概念: Database First(数据库优先):存在的DB------------->生成Data Model  .edmx文件 Model First(模型优先):Data Model ...

  3. codeforces 549F Yura and Developers(分治、启发式合并)

    codeforces 549F Yura and Developers 题意 给定一个数组,问有多少区间满足:去掉最大值之后,和是k的倍数. 题解 分治,对于一个区间,找出最大值之后,分成两个区间. ...

  4. Echarts 嵌套饼图实现,内环点击控制外环显示

    Echarts有交互事件,但是如果用其进行图形变更,恐怕就只有重新修改配置了. 如图,我想要实现,内圈的数据控制外圈的图形,当点击内环的某一块时,就可以实现,更改外环的目的. 起初我想能不能直接修改o ...

  5. Angular2 *ngFor把数据显示在多个input中出错解决方法

    点击添加按钮会自动添加一个空的input组 html <div class="form-inline"> <label class="form-cont ...

  6. 【[国家集训队] Crash 的文明世界】

    先写一个五十分的思路吧 首先这道题有一个弱化版 [POI2008]STA-Station 相当于\(k=1\),于是就是一个非常简单的树形\(dp\)的\(up\ \ and\ \ down\)思想 ...

  7. l2-loss,l2正则化,l2范数,欧式距离

    欧式距离: l2范数: l2正则化: l2-loss(也叫平方损失函数): http://openaccess.thecvf.com/content_cvpr_2017/papers/Li_Mimic ...

  8. VC++ UDP网络控制台程序

     采用的是VC2008,控制台应用程序,使用UDP编写. 1.服务端代码 //UDPServer.cpp #include <WinSock2.h> #include <stdio. ...

  9. inux下使用自带mail发送邮件告警

    安装mailx工具,mailx是一个小型的邮件发送程序. 具体步骤如下: 1.安装 [root@localhost ~]# yum -y install mailx 2.编辑配置文件 [root@lo ...

  10. JQ中$(window).load和$(document).ready区别与执行顺序

    JQ中的$(document).ready()大家应该用的非常多,等同于$(function(){}),基本每个JS脚本中都有这个函数的出现有时甚至会出现多个,那么另一个加载函数$(window).l ...