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的安装测试: 参考 ...
随机推荐
- ajax获取json形式得题目和答案 实现答题功能
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 一款不错的网站压力测试工具webbench
webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便. 1.适用系统:Linux 2.编译安装: 引用 wget htt ...
- css实现等高布局 两栏自适应布局 三栏自适应布局
等高布局: HTML结构如下: <div class="wrapper"> <div class="box"> <h1>.. ...
- SpringBoot实战(二)之计划任务
计划任务这个对于Java开发者们,应该不陌生了,非常常用又非常常见.比如jdk自带的Timer 实现例子如下: class MyTask extends TimerTask{ @Override pu ...
- [转]MVP+WCF+三层结构搭建项目框架
最近,我一直在重构之前做的一个项目,在这个过程中感慨万千.原先的项目是一个运用了WCF的C/S系统,在客户端运用了MVC模式,但MVC的View.Model耦合以及WCF端分布式欠佳等问题让我有了重构 ...
- PAT——1026. 程序运行时间
要获得一个C语言程序的运行时间,常用的方法是调用头文件time.h,其中提供了clock()函数,可以捕捉从程序开始运行到clock()被调用时所耗费的时间.这个时间单位是clock tick,即“时 ...
- Gradle Goodness: Group Similar Tasks
In Gradle we can assign a task to a group. Gradle uses the group for example in the output of $ grad ...
- maven install web工程时出错
[WARNING] Error injecting: org.apache.maven.plugin.war.WarMojo java.lang.NoClassDefFoundError: org/a ...
- Android签名生成和互转
原文链接:http://blog.votzone.com/2018/05/05/android_signature.html Android 的签名有两种方式,一种使用jdk 提供的jarsign ...
- java web 常识
model.addattribute()的作用: 1.往前台传数据可以传对象,List,通过el表达式${}获取,类似于request.setAttribute("sts",sts ...