20165310 Java实验四 《Android程序设计》

20165310 实验四 《Android程序设计》

第24章:初识Android

任务一:改写res目录中的内容,Hello World后要显示自己的学号,自己学号前后一名同学的学号

首先我们要先了解Android Studio的Project结构,其中我们需要编辑的内容集中在app目录中。

  • build:存放项目的build文件,自动生成。
  • libs:引入的库一般存放在libs中。
  • src:在src目录中保存了开发人员编写的程序文件,我们主要的学习内容也在这个目录下。
    • AndroidManifest.xml:这是一个控制文件,用来描述应用程序。不同的参数表示不同的含义,例如“manifest”为根节点,描述了package中的所有内容;“application”元素可以包含application的一些全局和默认的属性,如标签、icon、主题等等;“activity”是与用户交互的主要工具,通常包含一个或多个activity元素,描述App中的各种活动。 所有新增的活动必须在其中申明,否则无法运行。
    • java目录:存放活动的源代码,所有的活动程序在这个目录下创建编写。
    • res目录:存放了应用程序使用到的各种资源,如xml界面文件、图片、数据等。通常包含drawable子目录、layout子目录、values子目录。
      • drawable:存放分辨率不同的图片,app的图标等。
      • layout:存放xml界面布局文件,主要用于显示用户操作界面,Java文件夹中的活动的xml文件在此目录下创建编写。
      • values:存放不同类型的数据,如string、array等。

对于这个任务,我们需要对res->layout ->activity_main.xml中相应的内容进行修改:

将其中的android:text="Hello World!"改为android:text="Hello World!\n20165310\n2065310\n20165311",运行结果如下图显示:

第25章:活动

创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity

  • 创建活动ThirdActivity
?```java
package com.example.abc.a20165310exp4_2;
import android.support.v7.app.AppCompatActivity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class ThirdActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_third);
    }

}
?```
  • 修改MainActivity,利用 intent相关函数,使主函数能够触发ThirdActivity,新增OnTouch方法如下:

    @Override
        public boolean onTouch(View arg0, MotionEvent event) {
            Intent intent = new Intent(this, ThirdActivity.class);
            startActivity(intent);
            return true;
        }
  • AndroidManifest.xml 进行活动注册:
    <activity
                android:name=".ThirdActivity"
                >
    
            </activity>
  • 创建activity_third.xml并进行配置:
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".ThirdActivity" >
    
        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="20165310" />
    </RelativeLayout>

    运行结果如下:

    第26章:UI组件

    任务三:修改代码让Toast消息中显示自己的学号信息

  • ToastToast是Android中用来显示信息的一种机制。Toast显示的时间有限,在经过一段时间后就会自动消失,并不占用任何内存。Toast有很多用法,如默认显示、自定义显示位置、带图片的显示、完全自定义显示、其他线程调用显示等等。这里展示最常用的默认显示。
  • MainActivity进行修改编辑:
    package com.example.abc.a20165310exp4_3;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    
    import android.view.Gravity;
    
    import android.view.View;
    
    import android.widget.Button;
    
    import android.widget.ImageView;
    
    import android.widget.LinearLayout;
    
    import android.widget.RelativeLayout;
    
    import android.widget.TextView;
    
    import android.widget.Toast;
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
    
        protected void onCreate(Bundle savedInstanceState) {
    
            super.onCreate(savedInstanceState);
    
            setContentView(R.layout.activity_main);
    
            Button btnshow1 = (Button) findViewById(R.id.ss1);
    
            btnshow1.setOnClickListener(new View.OnClickListener() {
    
                @Override
    
                public void onClick(View v) {
    
                    Toast toast = Toast.makeText(MainActivity.this, "20165310", Toast.LENGTH_LONG);
    
                    toast.show();
    
                }
    
            });
    
        }
    
    }
    
  • activity_main.xml进行编辑:
    <?xml version="1.0" encoding="utf-8"?>
    
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
    
        xmlns:tools="http://schemas.android.com/tools"
    
        android:layout_width="match_parent"
    
        android:layout_height="match_parent"
    
        android:layout_gravity="center"
    
        android:gravity="center_horizontal"
    
        android:padding="120dp"
    
        android:orientation="vertical"
    
        tools:context=".MainActivity">
    
        <Button
    
            android:layout_width="wrap_content"
    
            android:layout_height="wrap_content"
    
            android:layout_gravity="right"
    
            android:layout_marginTop="16dp"
    
            android:paddingLeft="16dp"
    
            android:paddingRight="16dp"
    
            android:text="20165310xw"
    
            android:id="@+id/ss1"  />
    
    </LinearLayout>
  • 运行结果如下:

第27章:布局

任务四:修改布局让P290页的界面与教材不同

  • 帧布局容器为每个组件创建一个空白区域,一个区域称为一帧,这些帧会根据FrameLayout中定义的gravity属性自动对齐。
  • 我们需要为组件添加layout_gravity属性,从而自定义组建的对齐方式。如果不使用layout_gravity属性,多项内容会重叠。
  • layout_gravity可以使用如下所示的取值:
    • top:将对象放在其容器的顶部,不改变其大小;
    • bottom:将对象放在其容器的底部,不改变其大小;
    • left:将对象放在其容器的左侧,不改变其大小;
    • certer_vertical:将对象纵向居中,不改变其大小,垂直方向上居中对齐;
    • ......

修改后的xml代码如下:

?

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout

    xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"

    android:orientation="horizontal"

    android:layout_width="match_parent"

    android:layout_height="match_parent">

    <Button

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_marginLeft="150dp"

        android:layout_marginTop="150dp"

        android:text="20165310" />

    <ImageButton

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_marginLeft="30dp"

        android:layout_marginTop="60dp"

        android:alpha="0.45"
        android:src="@android:drawable/alert_dark_frame" />

    <ImageButton
        android:id="@+id/imageButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@android:color/holo_orange_dark" />

    <ImageButton
        android:id="@+id/imageButton2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@android:drawable/btn_star" />

</FrameLayout>

运行结果如下:

第28章:监听器

任务五:运行教材本章相关代码并截图

  • Android是基于事件的。使用活动中的一个视图进行的用户交互,可能会触发一个事件,包括点击、长按、触碰和按键等等。
  • 要让程序响应某一个事件,需要为该事件编写一个监听器。也就是要实现嵌入在android.view.View类中的一个接口。比如OnClickListener接口的onClick()方法。

当用户按下(或触碰)时钟的时候,会调用该方法并接受时钟对象。要修改时钟的颜色,需要调用其setBackgroundColor方法,传入一个颜色对象,从而实现触碰时钟改变颜色。 增加一个Android图标与五个五角星,点击五角星,五角星会从第一个开始变亮直到全亮。

  • MainActivity进行修改编辑:

    package com.example.abc.a20165310exp4_5;
    
    import android.support.v7.app.AppCompatActivity;
    import android.app.Activity;
    
    import android.graphics.Color;
    
    import android.os.Bundle;
    
    import android.view.Menu;
    
    import android.view.View;
    
    public class MainActivity extends Activity {
    
        int counter = 0;
    
        int[] colors = { Color.BLACK, Color.BLUE, Color.CYAN,Color.YELLOW,
    
                Color.DKGRAY, Color.GRAY, Color.GREEN, Color.LTGRAY,
    
                Color.MAGENTA, Color.RED, Color.WHITE, Color.YELLOW , Color.GREEN};
    
        @Override
    
        protected void onCreate(Bundle savedInstanceState) {
    
            super.onCreate(savedInstanceState);
    
            setContentView(R.layout.activity_main);
    
        }
    
        public void changeColor(View view) {
    
            if (counter == colors.length) {
    
                counter = 0;
    
            }
    
            view.setBackgroundColor(colors[counter++]);
    
        }
    
    }
  • activity_main.xml进行编辑:
    <?xml version="1.0" encoding="utf-8"?>
    
    <RelativeLayout
    
        xmlns:android="http://schemas.android.com/apk/res/android"
    
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
    
        android:layout_width="match_parent"
    
        android:layout_height="match_parent"
    
        android:paddingBottom="@dimen/activity_vertical_margin"
    
        android:paddingLeft="@dimen/activity_horizontal_margin"
    
        android:paddingRight="@dimen/activity_horizontal_margin"
    
        android:paddingTop="@dimen/activity_vertical_margin"
    
        tools:context=".MainActivity">
    
        <AnalogClock
    
            android:id="@+id/analogClock1"
    
            android:layout_width="wrap_content"
    
            android:layout_height="wrap_content"
    
            android:layout_alignParentBottom="true"
    
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="195dp"
            android:onClick="changeColor" />
    
        <RatingBar
    
            android:layout_width="wrap_content"
    
            android:layout_height="wrap_content"
    
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="82dp" />
    
        <ImageView
            android:id="@+id/imageView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="144dp"
            android:src="@mipmap/ic_launcher" />
    
    </RelativeLayout>
  • 运行结果如下:

实验感想

  • 安装Android Studio的过程出现许多困难,最后进行了客服,过程中学习到很多知识。
  • 虽然说Android开发是基于Java的,但是不管是从Project的结构还是对于reg的初次接触,都有许多新内容需要学习,本次实验督促了我们的理论学习也巩固了理论知识。

原文地址:https://www.cnblogs.com/atbaoi/p/9061409.html

时间: 2024-08-28 08:27:54

20165310 Java实验四 《Android程序设计》的相关文章

20172328《程序设计与数据结构》实验四 Android程序设计报告

20172328<程序设计与数据结构>实验四 Android程序设计报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 李馨雨 学号:20172328 实验教师:王志强老师 实验日期:2018年6月1日 必修选修: 必修 一.实验内容 实验1:Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)>第二十四章: 参考http://www.cnblogs.com/

2017-2018-2 20165233 实验四 Android程序设计

20165233 实验四 Android程序设计 实验内容 任务一: 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECANDROID,安装 Android Studio 完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号,自己学号前后一名同学的学号,提交代码运行截图和码云Git链接,截图没有学号要扣分 学习Android Stuidio调试应用程序 任务二: 构建项目,运行教材相关代码 创建 Th

20165313Java实验四 Android程序设计

实验报告封面 课程:Java程序设计 班级:1653班 姓名:张晨晖 学号:20165313 指导教师:娄嘉鹏 实验日期:2018年5月14日 实验时间:13:45 - 15:25 实验序号:实验四 实验名称:Android程序设计 实验内容及步骤 实验一 :Android Stuidio的安装测试 1.试验要求: 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECANDROID,安装 Android Stuidio 完成Hello World,

20165309 实验四 Android程序设计

2017-2018-2 20165309实验四<Java面向对象程序设计>实验报告 一.实验内容 1.Android Studio的安装测试 2.Activity测试 3.UI测试 4.布局测试 5.事件处理测试 二.实验步骤 1.完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号,自己学号前后一名同学的学号 如图,找到activity_main.xml 点黄框里左侧的Design 在右边找到这里,输入实验要求的内容 结果如下: 2.创建 Thi

实验四 Android程序设计

Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)>第二十四章: - 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECANDROID,安装 Android Stuidio - 完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号,自己学号前后一名同学的学号,提交代码运行截图和码云Git链接,截图

20165232第4次实验《Android程序设计》实验报告

20165232第4次实验<Android程序设计>实验报告 一.实验报告封面 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:何彦达 学号:20165232 指导教师:娄嘉鹏 实验日期:2018年5月14日 实验时间:15:35 - 17:15 实验序号:实验四 实验名称:Android程序设计 二.实验内容 实验四 Android程序设计-1 实验要求 Android Stuidio的安装测试:参考<Java和Android开发学习指南(第二版)(EPUBIT,Ja

20165332实验四 Android开发基础

20165332 实验四 Android程序设计 一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:延亿卓 学号:20165332 指导教师:娄嘉鹏 实验日期:2018年5月14日 实验时间:13:45 - 3:25 实验序号:实验四 实验名称:Android程序设计 实验要求: 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 完成实验.撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具

实验三 Android程序设计

实验三 Android程序设计 课程:Java程序设计 班级:1652 姓名:孔月 学号:20165208 指导教师:娄嘉鹏 实验日期:2018.5.14 实验名称:Android程序设计 实验要求: 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 完成实验.撰写实验报告,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等).解决办法(空洞的方法如"查网络"."问同学&quo

20145331实验四 &quot;Android开发基础&quot;

20145331实验四 "Android开发基础" 程序设计过程 实验内容 ·安装Android Studio ·运行安卓AVD模拟器 ·使用安卓运行出虚拟手机并显示HelloWorld以及自己的学号 实验步骤 1.安装android studio: 2.安装完成后的截图如下所示: 3.新建一个工程: 4.进入工程并对输出进行修改,修改后的截图如下: 5.代码如下所示: 实验总结与心得体会: 我认为这次实验是对平台的熟悉的过程,实验过程基本平稳,没遇到什么太大的麻烦,不过这个软件运行的