20155213 实验四 Android程序设计
20155213 实验四 Android程序设计
实验内容
- 基于Android Studio开发简单的Android应用并部署测试;
- 了解Android组件、布局管理器的使用;
- 掌握Android中事件处理机制。
任务一
- 完成 - Hello World, 要求修改- res目录中的内容,- Hello World后要显示自己的学号
- 完成这个任务,首先需要了解 - Android应用程序文件的组成:
需要掌握的知识
- src目录:
 在- src目录中保存了开发人员编写的程序文件。与一般的java项目类似,src目录下保存的是项目的所有包及源文件(.java),res目录下包含了项目中的所有资源。例如:程序图标(drawable)、布局文件(layout)和常量(value)等。
- R.java文件是定义该项目所有资源的索引文件。
  
- manifests包含了一个- AndroidManifest.xml文件,它描述了应用程序。格式一般如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.q.myuidesign">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
- 其中```Android```工具还用此信息生成相应Java类,以便于写Java资源的时候使用
- apk文件 
- layout用于布局时使用
- 相应列表 
  
- 任务一运行截图 
  
- PS:电脑配置不好的,建议直接用的物理机下载运行,具体步骤就是 - 电脑连接 - Android机
- 在 - Android机里的开发者选项里打开USB调试选项
- 在 - AndroidStudio里进入这个界面,选择- USBdevice
  
  
- 之后在运行就可以了 
 
任务二
- 创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity
需要掌握的知识
- 创建Activity
 * 顺着这个路径File>>new>>Activity>>empty Activity就可以创建一个
 * 通过上面的步骤Android工具会自动给在manifest里添加上<Activity/>
- 从mainactivity里启动第二个activity``,需要在main_activity.java```里添加上下面这段程序
@Override
    public boolean onTouch(View arg0, MotionEvent event) {
        Intent intent = new Intent(this, ThirdActivity.class);
        intent.putExtra("message", "20155213lzm");
        startActivity(intent);
        return true;
    }
在我手机上运行截图:


任务三
- 构建项目,运行教材相关代码
- 修改代码让Toast消息中显示自己的学号信息
需要掌握的知识
- string.xml:程序中需要引用的string都来自与这个文件中,格式一般如下:
<resources>
    <string name="app_name">MyUIDesign</string>
</resources>
- MainActivity里的选项:- OnCreate方法是一个生命周期方法,每创建应用程序时都需要调用他
- OnCreatMenu方法初始哈勒活动的选项菜单的内容,要让菜单先是,它必须返回true
 
- Toast:这是一个小的弹出的对话框,用于先是一条信息作为给用户的反馈
在我手机上的运行截图:

任务四
- 构建项目,运行教材相关代码
- 修改布局让P290页的界面与教材不同
需要掌握的知识
- 作为一个重要的Android组件,布局定义了UI组件的可视化结构
- 下面是andriod中的一些布局:
- LinearLayout: 将所有子视图以相同的方向(或者水平的或者垂直的)对齐的一个布局
- RelativeLayout根据子视图的一个或者多个同级视图的位置来排列他的一个布局
- TableLayout: 将子视图放在另一个字视图的顶部的一个布局
 
在我手机上运行的截图:

任务五
- 事件处理测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十八章 
- 构建项目,运行教材相关代码 
需要掌握的知识
- Android是基于事件的。使用活动中的一个视图进行的用户交互,可能会触发一个事件,包括点击、长按、触碰和按键等等。 
 * 要让程序响应某一个事件,需要为该事件编写一个监听器。也就是要实现嵌入在android.view.View类中的一个接口。比如- OnClickListener接口的- onClick()方法。
- 运行的主要代码: 
package com.example.multicolorclock;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.AnalogClock;
public class MainActivity extends Activity {
    int counter = 0;
    int[] colors = { Color.BLACK, Color.BLUE, Color.CYAN,
            Color.DKGRAY, Color.GRAY, Color.GREEN, Color.LTGRAY,
            Color.MAGENTA, Color.RED, Color.WHITE, Color.YELLOW };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }
    public void changeColor(View view) {
        if (counter == colors.length) {
            counter = 0;
        }
        view.setBackgroundColor(colors[counter++]);
    }
}
我手机上运行的截图:

PSP(Personal Software Process)时间
| 步骤 | 耗时(min) | 百分比 | 
|---|---|---|
| 需求分析 | 20 | 20 | 
| 设计 | 30 | 30 | 
| 代码实现 | 30 | 30 | 
| 测试 | 10 | 10 | 
| 分析总结 | 10 | 10 | 
参考资料
- 《Android编程权威指南》
- 《Android Studio实战》
- 《JAVA和ANDROID开发学习指南#第二版#》
- Android 自定义Toast - 若水 - 博客频道 - CSDN.NET
20155213 实验四 Android程序设计的更多相关文章
- 实验四  Android程序设计  实验报告
		实验四 Android程序设计 实验报告 目录 代码托管地址 Android程序设计-1 Android程序设计-2 Android程序设计-3 Android程序设计-4 Android程序设计-5 ... 
- 第十四周实验报告:实验四 Android程序设计
		20162317袁逸灏 第十四周实验报告:实验四 Android程序设计 实验内容 Android Studio 实验要求 学会使用Android Studio 学习 活动 以及相关知识内容 学习 U ... 
- 20165235实验四 Android程序设计
		20165235实验四 Android程序设计 实验课程:JAVA编程设计 实验名称:Android开发 姓名:祁瑛 学号:20165235 实验时间:2018.05.16 指导老师:娄家鹏 Andr ... 
- 20165220Java实验四 Android程序设计
		一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:葛宇豪 学号:20165220 指导教师:娄嘉鹏 实验日期:2018年5月14日 实验时间:13:45 - 15:25 实验序号:实验 ... 
- 20172328《程序设计与数据结构》实验四  Android程序设计报告
		20172328<程序设计与数据结构>实验四 Android程序设计报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 李馨雨 学号:20172328 实验教师:王志 ... 
- 20172302《程序设计与数据结构》实验四Android程序设计实验报告
		课程:<程序设计与数据结构> 班级: 1723 姓名: 侯泽洋 学号:20172302 实验教师:王志强老师 实验日期:2018年5月30日 必修/选修: 必修 1.实验内容 (1)And ... 
- 实验四 Android程序设计
		20155224 实验四 Android程序设计 实验报告 实验报告封面: 课程:Java程序设计 班级:1652班 姓名:王高源 学号:20165225 指导教师:娄嘉鹏 实验日期:2018年5月1 ... 
- 20165236  实验四 Android程序设计
		20165236 实验四 Android程序设计 一.实验报告 课程:Java程序设计 班级:1652班 姓名:郭金涛 学号:20165236 指导教师:娄嘉鹏 实验 ... 
- 20165205 2017-2018-2 《Java程序设计》实验四 Android程序设计
		20165205 2017-2018-2 <Java程序设计>实验四 Android程序设计 实验内容 实验四 Android程序设计-1 Android Stuidio的安装测试: 参考 ... 
随机推荐
- h5标签
			1.<abbr> 标签指示简称或缩写,比如 "WWW" 或 "NATO". IE 6 或更早版本的 IE 浏览器不支持 <abbr> 标 ... 
- Linux环境编程之IPC进程间通信(五):Posix消息队列1
			对于管道和FIFO来说.必须应该先有读取者存在.否则先有写入者是没有意义的. 而消息队列则不同,它是一个消息链表,有足够写权限的线程可往别的队列中放置消息,有足够读权限的线程可从队列中取走消息.每一个 ... 
- BZOJ4008:[HNOI2015]亚瑟王(DP,概率期望)
			Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂亮.众所周知,亚瑟王是一个 ... 
- Gradle初步
			一.介绍 Gradle是一个基于 JVM 的富有突破性构建工具. 它为您提供了: 一个像 ant 一样,通用的灵活的构建工具 一种可切换的,像 maven 一样的基于约定优于配置的构建框架 强大的多工 ... 
- fiddler常用功能一
			fiddler备忘,好久不用,有些步骤忘记了 1.本机pc,目前ie和chrome都可以直接抓取,但是搜狗浏览器暂时抓不到 2.手机端抓包 (1)设置下代理:fiddler客户端查看下端口,然后在手机 ... 
- Centos 7下Nagios的安装及配置
			简介 Nagios 是一款自动化运维工具,可以协助运维人员监控服务器的运行状况,并且拥有报警功能.本文章将介绍其安装方法和详细的配置方法. nagios 监控服务应用指南 本地资源:负载,CPU,磁盘 ... 
- git add用法
			git add命令是将工作区内容添加到暂存区.git commit 将暂存区内容添加到版本库. git add -A 提交所有变化 git add -u 提交被修改(modified)和被删除(d ... 
- MySQL导出表结构方法
			方法一: 以下用的是Navicat Premium,可以换成任意图形化客户端 SELECT COLUMN_NAME 列名, COLUMN_TYPE 数据类型, DATA_TYPE 字段类型, CHAR ... 
- TestNG+Maven+IDEA 自动化测试(一) 环境搭建
			示例代码: https://github.com/ryan255/TestNG-Demo 所需环境: 1. IDEA UItimate 2. JDK 3. Maven 创建工程 一开始创建一个普通的m ... 
- case when  then else end  与 decode 的区别
			case when then else end : 条件可以有 等于 ,大于 ,小于 与 decode : 条件只可以有等于的. 
