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的安装测试: 参考 ...
随机推荐
- php给$_POST赋值会导致值为空
在调试一个程序的时候发现很奇怪的现象,post传过来的值再某些地方为空,先看下面的代码 <?php if($_POST['submit'] == 'Add'){ if($_POST['type' ...
- CSS样式命名规则
1.样式命名外 套: wrap主导航: mainnav子导航: subnav页 脚: footer整个页面: content页 眉: header页 脚: footer商 标: label标 题: t ...
- Python中的类(一)
Python中的类(一) 一. 应用场景 如果多个函数中有一些相同的参数时,转换成面向对象. 二. 如何创建类 类是用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法 ...
- ethereumjs/ethereumjs-blockchain-2-test
https://github.com/ethereumjs/ethereumjs-blockchain/tree/master/test 'use strict' const test = requi ...
- rand7生成rand10,rand1生成rand6,rand2生成rand5(包含了rand2生成rand3)
这种题要分两步,第一步是“插空儿”,第二步是“筛” 1.rand7生成rand10 只要是10的倍数就好 int rand10() { int num; do{ num = (rand7() - ) ...
- Redis(三)内存模型
本文转载自编程迷思,原文链接 深入学习Redis(1):Redis内存模型 前言 Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可 ...
- nyoi 42(欧拉回路)
http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=42 一笔画问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 ...
- 如何导出SHP文件中的点坐标?(ArcGIS10)
行政区域坐标,网上流传较广的版本是包括海域的,假如你仅仅想要把陆地边界绘出,那么怎么办呢? 现在讲一下用arcgis 10从shp线.面文件中获取对应区域的坐标呢?(点图层忽略第一步) 首先用在arc ...
- 协议类接口 - NAND
一.引脚的含义 先看下nand flash是怎么接的,如下所示便为某一款nand存储芯片的引脚图.发现其连地址信号都没有.那么是如何访问地址数据的呢? 查阅该nand flash的数据手册可得其各个引 ...
- WebClient 下载图片(文件)
public static string SaveImage(string url, string newfilename) { WebClient mywebclient = new WebClie ...