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:电脑配置不好的,建议直接用的物理机下载运行,具体步骤就是

    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```里添加上下面这段程序
@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里的选项:
    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()方法。

  • 运行的主要代码:

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

参考资料

posted on 2017-05-21 20:22  20155213陆忠民  阅读(217)  评论(0编辑  收藏  举报