2016-2017-2 20155302 实验四 Android 开发基础

实验内容

1.下载和安装Android Studio

2.学会使用Android Studio进行简单的Android开发

实验要求

第24章:初识Android

任务一:

完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号

学习Android Stuidio调试应用程序

第25章:活动

任务二:

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

ThirdActivity

第26章:UI组件

任务三:

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

第27章:布局

任务四:

修改布局让P290页的界面与教材不同

第28章:监听器

任务五:

运行教材本章相关代码并截图

实验步骤

实践一:Android Studio的安装测试

  • 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十四章:
  • 安装 Android Studio
  • 完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号,提交代码运行截图和码云Git链接,截图没有学号要扣分
  • 学习Android Studio调试应用程序

实验代码如下:

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World! \n 20155302!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />

结果截图:

实践二:Activity测试

  • 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十五章:

    构建项目,运行教材相关代码
  • 创建 ThirdActivity, 在ThirdActivity中显示自己的学号,修改代码让MainActivity启动ThirdActivity
  • 提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分

配置Activity

在文件AndroidManifest.xml中,只要为application...元素添加activity...子元素,即可配置Activity。

在这个任务中,我们需要调用ThirdActivity,所以在AndroidManifest.xml中再添加一个activity...>即可。

启动、关闭Activity

每一个控制文件的Activity都需要有对应的启动程序文件(.java),和相应的布局文件(.xml)。

在这个任务中,要求让MainActivity启动ThirdActivity,所以还需要修改MainActivity

结果截图:

实践三:UI测试

  • 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十六章:
  • 构建项目,运行教材相关代码
  • 修改代码让Toast消息中显示自己的学号信息
  • 提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分

在mainActivity中添加

Button btnshow1 = (Button) findViewById(R.id.btn1);
btnshow1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast toast = Toast.makeText(MainActivity.this, "20155302", Toast.LENGTH_LONG);
toast.show();
}
});

结果截图:

实验四:布局测试

  • 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十七章:

    构建项目,运行教材相关代码
  • 修改布局让P290页的界面与教材不同
  • 提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分

书中知识点:

android:id:为一识别该视图的ID。
android:layout_width:布局的宽度。
android:layout_height:布局的高度。
android:layout_marginTop:布局顶部的额外空间。
android:layout_marginBottom:布局底部的额外空间。
android:layout_marginLeft:布局左部的额外空间。
android:layout_marginRight:布局右部的额外空间。
android:layout_gravity:指定子视图的放置方式。
android:layout_weight:权重。指定了在布局中,应该分配多少的额外空间给某个视图。
android:layout_x:指定了布局的X坐标。
android:layout_y:指定了布局的Y坐标。
android:paddingLeft:布局左边的内边距。
android:paddingRight:布局右边的内边距。
android:paddingTop:布局顶部的内边距。
android:paddingBottom:布局底部的内边距。
top:将对象放置在容器的顶端而不改变其尺寸。
bottom:将对象放置在容器的底端而不改变其尺寸。
left:将对象放置在容器的左端而不改变其尺寸。
right:将对象放置在容器的右端而不改变其尺寸。
center_vertical:将对象放置在容器的垂直方向中心处而不改变其尺寸。
center_horizontal:将对象放置在容器的水平方向中心处而不改变其尺寸。
fill_vertical:在需要时增加对象在垂直方向上的尺寸,以完全充满它的容器。
fill_horizontal:在需要时增加对象在水平方向上的尺寸,以完全充满它的容器。
center:将对象放置在容器的中心而不改变其尺寸。
fill:增加对象在水平、垂直方向上的尺寸,以完全填满它的容器。

结果截图:

实践五:事件处理测试

  • 参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》第二十八章:
  • 构建项目,运行教材相关代码
  • 提交代码运行截图和码云Git链接,截图要有学号水印,否则会扣分

实验代码:

package com.example.xuzhihan.multclock;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.graphics.Color;
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++]);
}
}

结果截图:

最新文章

  1. iScroll知识点
  2. fork与vfork的区别与联系
  3. mysql维护常用命令
  4. java中的native方法和修饰符(转)
  5. dedecms 列表每隔6行输出一个空li
  6. Python编程小记
  7. BIP_Oracle Erp标准银行接口XML文件(案例)(待整理)
  8. TIME-WAIT和CLOSE-WAIT
  9. SQLITE 多进程查询出错database is locked
  10. Chris Richardson微服务翻译:微服务之事件驱动的数据管理
  11. 使用JS代码实现点击按钮下载文件
  12. SpringCloud的应用发布(二)vmvare+linux,Centos7.0下发布应用
  13. 进到页面后input输入框自动获取焦点
  14. xshell使用密钥登陆linux
  15. 最大似然概率(MLE)和最大后验概率(MAP)
  16. 电脑丢失api-ms-win-core-libraryloader-|1-1-1.dll怎么办
  17. BZOJ1045 HAOI2008糖果传递(贪心)
  18. Python 基础day4
  19. Scrum Meeting 6 -2014.11.12
  20. centos7 安装hadoop 集群遇到的问题

热门文章

  1. 无法打开项目文件“Web.csproj” 此安装不支持该项目类型
  2. mysql install steps
  3. Google的Python代码格式化工具YAPF详解
  4. 5、Python,enumerate用法
  5. h5标签
  6. ApplicationEventPublisher笔记
  7. keepalived.md
  8. C、CSL 的密码 【set暴力 || 后缀数组】 (“新智认知”杯上海高校程序设计竞赛暨第十七届上海大学程序设计春季联赛 )
  9. 【ES6】最常用的es6特性(二)
  10. 阅读基于sketch的软件定义网络测量数据平面硬件模型