20155336虎光元实验四 Android开发基础

实验内容

  • 1:完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号
  • 2:创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity
  • 3:修改代码让Toast消息中显示自己的学号信息
  • 4:修改布局让P290页的界面与教材不同
  • 5:运行教材本章相关代码并截图

首先安装Android Studio

按照娄老师教程来:

  • 安装安卓:

一路按照教程next,直至安装完毕:

完成安装后点击运行,因为是第一次使用就选择了I do not hava a previous version of Studio or I do not want to import my settings这一选项 之后打开了软件后,发现了这个问题。

这个问题是关于没有选择安装SDK的问题。在进入提示后要安装SDK。

其实会发现在配置SDK页面下是找不到SDK文件的存在,其实并不是不存在,而是默认隐藏起来了,所以通过我的电脑,进入DATA APP的文件夹将它设置为显示,这样就可以成功配置SDK。

  • 运行Android Stdio

    打开软件后,成功配置了文件位置等问题就可以很好的解决了。
    
    在欢迎界面选择Empty Activity
    
    进入软件,新建module,在activity_main.xml之下,找到helloworld语句。找到代码,可以修改文本内容,字体大小,颜色等问题。
    
    修改这些项目不仅可以从代码进行修改,还可以从列表里修改.

实验结果

任务1

对于这个任务,我们只需要将布局文件activity_main.xml中相应的内容稍做修改:

将其中的android:text="Hello World!"改为android:text="Hello World!\n\t20155336"即可。

任务2

  • 配置Activity

    • 在文件AndroidManifest.xml中,只要为application...元素添加activity...子元素,即可配置Activity。
    • 在这个任务中,我们需要调用ThirdActivity,所以在AndroidManifest.xml中再添加一个activity...>即可。
  • 启动、关闭Activity

    • 每一个控制文件的Activity都需要有对应的启动程序文件(.java),和相应的布局文件(.xml)。
    • 在这个任务中,要求让MainActivity启动ThirdActivity,所以还需要修改MainActivity,相应代码段改为:

      @Override
      public boolean onTouch(View arg0, MotionEvent event) {
      Intent intent = new Intent(this, ThirdActivity.class);
      intent.putExtra("message", "虎光元20155336");
      startActivity(intent);
      return true;
      }

任务3

  • Toast是Android中用来显示信息的一种机制。Toast显示的时间有限,在经过一段时间后就会自动消失。
  • Toast有很多用法,如默认显示、自定义显示位置、带图片的显示、完全自定义显示、其他线程调用显示等等。这里展示最常用的默认显示。

activity_main示例如下:

<?xml version="1.0" encoding="utf-8"?>
<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="com.dragon.toast.Main"> <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="虎光元20155336"
android:id="@+id/btn1"
android:layout_alignParentTop="true"
android:layout_marginTop="31dp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />

MainActivity.java示例如下:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnshow1 = (Button) findViewById(R.id.btn1);
btnshow1.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v){
Toast toast = Toast.makeText(MainActivity.this,"虎光元20155336", Toast.LENGTH_LONG);
toast.show();
}
});

任务4

P290是一个帧布局的示例,那么我们就以这个为例进行具体说明。

  • 帧布局容器为每个组件创建一个空白区域,一个区域称为一帧,这些帧会根据FrameLayout中定义的gravity属性自动对齐。
  • 我们需要为组件添加layoutgravity属性,从而自定义组建的对齐方式。如果不使用layoutgravity属性,多项内容会重叠。
  • layout_gravity可以使用如下所示的取值:

    • top:将对象放在其容器的顶部,不改变其大小;
    • bottom:将对象放在其容器的底部,不改变其大小;
    • left:将对象放在其容器的左侧,不改变其大小;
    • certer_vertical:将对象纵向居中,不改变其大小,垂直方向上居中对齐;

任务5

以课本P298为例,代码如下:

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) {
// Inflate the menu; this adds items to the action bar if it
// is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
public void changeColor(View view) {
if (counter == colors.length) {
counter = 0;
}
view.setBackgroundColor(colors[counter++]);
}

当用户按下(或触碰)时钟的时候,会调用该方法并接受时钟对象。要修改时钟的颜色,需要调用其setBackgroundColor方法,传入一个颜色对象,从而实现触碰时钟改变颜色。

实验体会与总结

本次实验总体来说比较简单,主要是为了熟悉Android Studio的开发环境。一开始没接触的时候以为会很难,其实打开之后发现它和IDEA的界

面非常类似,也就是基于IDEA平台进行开发的。慢慢地,也开始体会到这个软件的强大之处,首先,它上手非常快,因为我们平常用的编写Java

代码的软件就是IDEA。此外,它还能完全模拟手机,让我们看到自己开发的软件真正出现在手机中的效果。总的来说,不论怎么样java语言总是

要很牢固的。

20155336虎光元实验四 Android开发基础的更多相关文章

  1. 20145213 《Java程序设计》实验四 Android开发基础

    20145213 <Java程序设计>实验四 Android开发基础 说在前面的话 不同以往实验,对于这次实验具体内容我是比较茫然的.因为点我,打开实验四的链接居然能飘出一股熟悉的味道,这 ...

  2. 实验四 Android开发基础

    实验四 Android开发基础 实验内容 1.安装Android Studio 2.运行安卓AVD模拟器 3.使用安卓运行出虚拟手机并显示HelloWorld以及自己的学号 (一)SDK的安装 (二) ...

  3. 20145337实验四Android开发基础

    20145337实验四Android开发基础 实验内容 基于Android Studio开发简单的Android应用并部署测试; 了解Android组件.布局管理器的使用: 掌握Android中事件处 ...

  4. 20145225《Java程序设计》 实验四 Android开发基础

    20145225<Java程序设计> 实验四 Android开发基础 实验报告 实验内容 安装Android Studio 运行安卓AVD模拟器 使用安卓运行出虚拟手机并显示HelloWo ...

  5. 20145208 实验四 Android开发基础

    20145208 实验四 Android开发基础 安装Android Studio 安装的具体步骤在老师的链接中已经很详细了,在此就不做赘述了. 在此提出我觉得安装的时候需要注意的两个地方 一是安装地 ...

  6. 20145215实验四 Android开发基础

    20145215实验四 Android开发基础 实验内容 基于Android Studio开发简单的Android应用并部署测试; 了解Android组件.布局管理器的使用: 掌握Android中事件 ...

  7. 20165223 实验四 Android开发基础

    实验四 Android开发基础 目录 一.实验报告封面 二.具体实验内容 (一)Android Stuidio的安装测试 (二)Activity测试 (三)UI测试 (四)布局测试 (五)教材代码测试 ...

  8. 20155324 《Java程序设计》实验四 Android开发基础

    20155324 <Java程序设计>实验四 Android开发基础 实验内容 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Android.组件. ...

  9. 20155228 实验四 Android开发基础

    20155228 实验四 Android开发基础 实验内容 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Android.组件.布局管理器的使用: 3.掌握An ...

随机推荐

  1. Python2.7 - IMOOC - 2

    第三章 Python变量和数据类型 3-1.数据类型 在Python中,能够直接处理的数据类型有以下几种: 整数 Python可以处理任意大小的整数,当然包括负整数,表示方法和数学上的写法一模一样,十 ...

  2. python正则二

    在python中,我们可以使用re模块来使用正则表达式. 正则表达式使用\对特殊字符进行转义,因为python本身也是用\作为转义,所以在使用正则的时候会出现这样的情况,'python\\.org', ...

  3. iOS绘图事务的运行验证

    结合WWDC,以我们的call stack为例,来说明这四个过程分别大概都做了什么. layout过程 从上面layout的过程可以看出,其所做的主要任务就是将图层调用代理(也就是视图)实现整个视图层 ...

  4. 【[APIO2007]动物园】

    我好\(sb\)啊,把\(>>\)打成\(<<\)结果就写了两节课 那个一个人只能看到五个动物显然很鬼畜 那我们就可以压这一维了 \(dp[i][s]\)表示从第\(i\)个位 ...

  5. 随手练——洛谷-P1002 过河卒(动态规划入门)

    题目链接:https://www.luogu.org/problemnew/show/P1002 题目还算良心,提醒了结果可能很大,确实爆了int范围, 这是一开始写的版本,用递归做的,先给地图做标记 ...

  6. 20155203 2016-2017-4 《Java程序设计》第9周学习总结

    20155203 2016-2017-4 <Java程序设计>第9周学习总结 教材学习内容总结 课堂内容 两个类如果有公共的部分要放在父类中,多次复用.当我们用父类或接口去声明对象的引用生 ...

  7. Shell笔记-01

    打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了. 输入一些代码: #!/bin/bash ...

  8. Maven创建Web项目、、、整合SSM框架

    自己接触ssm框架有一段时间了,从最早的接触新版ITOO项目的(SSM/H+Dobbu zk),再到自己近期来学习到的<淘淘商城>一个ssm框架的电商项目.用过,但是还真的没有自己搭建过, ...

  9. Centos7在线安装MySQL

    wget dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpmyum localinstall mysql57-community- ...

  10. oAuth2.0认证流程图

    这两天在看oAuth2.0的东西,简单的使用visio画了个流程图.演示的是用户登录慕课网,使用qq登录的流程: