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文件,它描述了应用程序。格式一般如下:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3. package="com.example.q.myuidesign">
  4. <application
  5. android:allowBackup="true"
  6. android:icon="@mipmap/ic_launcher"
  7. android:label="@string/app_name"
  8. android:roundIcon="@mipmap/ic_launcher_round"
  9. android:supportsRtl="true"
  10. android:theme="@style/AppTheme">
  11. <activity android:name=".MainActivity">
  12. <intent-filter>
  13. <action android:name="android.intent.action.MAIN" />
  14. <category android:name="android.intent.category.LAUNCHER" />
  15. </intent-filter>
  16. </activity>
  17. </application>
  18. </manifest>
  1. - 其中```Android```工具还用此信息生成相应Java类,以便于写Java资源的时候使用
  • apk文件

  • layout用于布局时使用

  • 相应列表

  • 任务一运行截图

  • PS:电脑配置不好的,建议直接用的物理机下载运行,具体步骤就是

    1. 电脑连接Android

    2. Android机里的开发者选项里打开USB调试选项

    3. AndroidStudio里进入这个界面,选择USBdevice



    4. 之后在运行就可以了

任务二

  • 创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity
需要掌握的知识
  • 创建Activity

    * 顺着这个路径File>>new>>Activity>>empty Activity就可以创建一个

    * 通过上面的步骤Android工具会自动给在manifest里添加上<Activity/>
  • mainactivity里启动第二个activity``,需要在main_activity.java```里添加上下面这段程序
  1. @Override
  2. public boolean onTouch(View arg0, MotionEvent event) {
  3. Intent intent = new Intent(this, ThirdActivity.class);
  4. intent.putExtra("message", "20155213lzm");
  5. startActivity(intent);
  6. return true;
  7. }

在我手机上运行截图:



任务三

  • 构建项目,运行教材相关代码
  • 修改代码让Toast消息中显示自己的学号信息
需要掌握的知识
  • string.xml:程序中需要引用的string都来自与这个文件中,格式一般如下:
  1. <resources>
  2. <string name="app_name">MyUIDesign</string>
  3. </resources>
  • MainActivity里的选项:

    1. OnCreate方法是一个生命周期方法,每创建应用程序时都需要调用他
    2. OnCreatMenu方法初始哈勒活动的选项菜单的内容,要让菜单先是,它必须返回true
  • Toast:这是一个小的弹出的对话框,用于先是一条信息作为给用户的反馈

在我手机上的运行截图:

任务四

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

在我手机上运行的截图:

任务五

  • 事件处理测试: 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十八章

  • 构建项目,运行教材相关代码

需要掌握的知识
  • Android是基于事件的。使用活动中的一个视图进行的用户交互,可能会触发一个事件,包括点击、长按、触碰和按键等等。

    * 要让程序响应某一个事件,需要为该事件编写一个监听器。也就是要实现嵌入在android.view.View类中的一个接口。比如OnClickListener接口的onClick()方法。

  • 运行的主要代码:

  1. package com.example.multicolorclock;
  2. import android.app.Activity;
  3. import android.graphics.Color;
  4. import android.os.Bundle;
  5. import android.view.Menu;
  6. import android.view.View;
  7. import android.widget.AnalogClock;
  8. public class MainActivity extends Activity {
  9. int counter = 0;
  10. int[] colors = { Color.BLACK, Color.BLUE, Color.CYAN,
  11. Color.DKGRAY, Color.GRAY, Color.GREEN, Color.LTGRAY,
  12. Color.MAGENTA, Color.RED, Color.WHITE, Color.YELLOW };
  13. @Override
  14. protected void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16. setContentView(R.layout.activity_main);
  17. }
  18. @Override
  19. public boolean onCreateOptionsMenu(Menu menu) {
  20. getMenuInflater().inflate(R.menu.menu_main, menu);
  21. return true;
  22. }
  23. public void changeColor(View view) {
  24. if (counter == colors.length) {
  25. counter = 0;
  26. }
  27. view.setBackgroundColor(colors[counter++]);
  28. }
  29. }

我手机上运行的截图:

PSP(Personal Software Process)时间

步骤 耗时(min) 百分比
需求分析 20 20
设计 30 30
代码实现 30 30
测试 10 10
分析总结 10 10

参考资料

20155213 实验四 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. December 07th 2016 Week 50th Wednesday

    Life is a flower, and love is the honey of the flower. 人生是花儿,而爱情就是花的蜜. My life is not as beautiful a ...

  2. HTTP之Response状态码

    Status-Code - 1xx: Informational - Request received, continuing process - 2xx: Success - The action ...

  3. 数据类型.md

    数据类型 整型 数据类型 含义(有符号) tinyint(m) 1个字节 范围(-128~127) smallint(m) 2个字节 范围(-32768~32767) mediumint(m) 3个字 ...

  4. c++ 基类,派生类的类型兼容性

    #include <iostream> using namespace std; class CFather { public: void display() const { cout&l ...

  5. Requests中文乱码解决方案

    分析: r = requests.get(“http://www.baidu.com“) **r.text返回的是Unicode型的数据. 使用r.content返回的是bytes型的数据. 也就是说 ...

  6. Linux常用监控服务器性能命令

    列举比较常用的几种监控服务器性能的Linux命令.其实,在我看来,目前针对Linux系统内存.硬盘.TCP/IP等等相关的指标,Linux本身自带的或者是一些开源项目等基本上都能达到这个获取服务器性能 ...

  7. codeforces472D

    Design Tutorial: Inverse the Problem CodeForces - 472D 给你了一个 n × n最短距离矩阵.(即矩阵中dis[u][v]为u点到v点的最短距离), ...

  8. Linux下jmap命令查看内存使用

    Linux下jmap命令查看内存使用 jmap -heap 1234(1234为进程号) jmap是JDK自带的一个工具,非常小巧方便,其支持参数如下: -heap       打印heap空间的概要 ...

  9. LeetCode39.组合总和 JavaScript

    给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的数字可以无限制重复被选 ...

  10. Oracle AWR与警报系统一

    管理自动工作负荷知识库 Oracle收集大量有关性能和活动的统计信息.这些信息在内存中积累,并定期写入数据库:写入到构成自动工作负荷知识库(Automatic Workload Repository, ...