20172327 2018-2019-1 《第一行代码Android》第二章学习总结
学号 2017-2018-2 《第一行代码Android》第二章学习总结
教材学习内容总结
| - 活动是什么: |
活动(Activity)是最容易吸引用户的地方,它是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用程序可以包含零个或多个活动,但不包含任何活动的应用程序很少见。
| - 活动的基本用法: |
1.创建活动:
在Android Studio 中只能打开一个项目,所以我们首先要将原来项目关闭,在导航栏File——Close Project。
新建一个项目,但在Add an Activity to Mobile 中选择Add No Activity 而不是 Empty Activity。

新建项目打开后,你会发现com.example.activitytest目录是空的。

手动创建活动需要右击com.example.activitytest包——new——Activity——Empty Activity 会弹出对话框,在勾选中,不要勾选Generate Layout File 和 Launcher Activity两个选项。

勾选Generate Layout File 表示会自动为新创建的活动创建一个对应的布局文件。
勾选Launcher Activity 表示会自动将FirstActivity 设置为当前项目的主活动。
勾选Backwards Compatibility 表示会为项目启用向下兼容的模式。
- 项目中的每一个活动都应该重写Activity 的 onCreate()方法,目前Android Studio 已近帮我们将这个方法重写。

2.创建和加载布局
- Android 程序设计讲究逻辑和视图分离,最好每一个活动都能对应一个布局,布局就是用来显示界面内容的,因此我们现在就手动创建一个布局文件。
- 在App/src/main/res目录——New——Directory,会弹出一个新建的目录的窗口,这里先创建一个名为Layout 的目录。

然后右击目录——New——Layout resource file 会弹出一个新建布局文件窗口。

- 这时,你就可以看到Android Studio 为我们提供的可视化布局编辑器,在底下有两个切换卡,作为Design,右为Text。

Design:是当前的可视化布局编辑器,在这里你不仅可以预览当前的布局,还可以通过拖放的方式编辑布局。
Text:通过XML文件的方式来编辑布局的。
- 现在我们可以在布局文件中添加一个按钮,可以通过Design直接拖放布局,也可以通过Text文件布局。
拖放布局很简单,在你将按钮拖到位置时,它会自动在Text中生成相应的代码。
Text文件布局你就应该将所需的代码输入进去。
布局完成后,就需要在活动中加载这个布局。

setContentView(R.layout.first_layout);

3.在AndroidManifest文件中注册
所有的活动都需要在AndroidManifest注册才能生效,而实际上FirstActivity已经在AndroidManifest.xml中注册过了,我们打开app/src/main/AndroidManifest.xml文件可以看到如下代码:

可以看到,活动的注册声明都要放在标签内,这里是通过标签来对活动进行注册的。虽然是Android Studio主动生成,但是我们并没有为程序配置主活动,所以应该在标签内部加入标签。
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
- 这样的话,FirstActivity就成为我们这个程序的主活动了,即点击桌面应用程序图标时应首先打开的就是这个活动。另外需要注意,如果你的应用程序中咩有声明任何一个活动作为主活动,这个程序仍然是可以正常安装的,只是你无法再启动中看到或者打开这个程序。这种程序一般都是作为第三方服务供其他应用在内部进行调用的,如支付宝快捷支付服务。
4.在活动中使用Toast
- Toast是Android系统提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间。
- 首先需要定义一个弹出Toast的触发点,正好之前程序界面上有一个button,我们可以让点击这个按钮的时候弹出一个Toast。在OnCreate()方法中添加如下代码:
Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(FirstActivity.this, "You clicked Button 1",
Toast.LENGTH_SHORT).show();
}
- 以上代码为例:
Toast的用法非常简单,通过静态方法makeText()创建出一个Toast对象,然后调用show()将Toast显示出来就可以了。
这里需要注意的是,makeText()方法需要传入3个参数。
第一个参数是Context,也就是Toast要求的上下文,由于活动本身就是一个Context对象这里直接传入FirstActivity.this即可。
第二个参数是Toast显示的文本内容。
第三个参数是Toast显示的时长,有两个内置常量可以选择Toast.LENGTH_SHORT和Toast.LENGTH_LONG。
20172327 2018-2019-1 《第一行代码Android》第二章学习总结的更多相关文章
- 第一行代码 Android 第二版到货啦
今日android第一行代码[第二版]已到,收获的季节到了 先看一下封面 书签: 以后就把空闲时间送给它吧 先来看一下本书的目录: 第1章 开始启程--你的第1行Android代码 第2章 先从看得到 ...
- Android 《第一行代码》 第二章练习代码 ActivityTest
FirstActivity.java package com.example.activitytest; import android.app.Activity; import android.con ...
- 20172327 2018-2019-1 《第一行代码Android》第一章学习总结
学号 2018-2019-1 <第一行代码Android>第一章学习总结 教材学习内容总结 - Android系统架构: 1.Linux内核层 Android系统是基于Linux内核的,这 ...
- 《第一行代码——Android》
<第一行代码——Android> 基本信息 作者: 郭霖 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115362865 上架时间:2014-7-14 出版日期:2014 ...
- 历时一年,我的著作《第一行代码——Android》已出版!
前言 事实上我当初决定開始写博客的想法挺简单的,认为自己搞技术这么多年了,总应该要留下点什么.既然没能写出什么出色的应用,那至少也要留下点文字分享给大家,以指引在我后面的开发人员们,毕竟我也从前辈们的 ...
- 第一行代码 Android 思维导图
第一行代码 Android 思维导图
- 晒订单赢图灵图书,《第一行代码——Android》福利活动劲爆来袭!
版权声明:本文出自郭霖的博客,转载必须注明出处. https://blog.csdn.net/sinyu890807/article/details/28863515 (已结束) 我的著作<第一 ...
- 第一行代码Android(第3版).pdf下载
2020年人民邮电出版社出版的图书 <第一行代码Android(第3版)>是2020年4月人民邮电出版社出版的图书,作者是郭霖. 封面: 内容简介: <第一行代码 Android 第 ...
- Android 第一行代码(第二版)分享
今天从网上好不容易看到了别人转发的pdf版的 第一行代码通过下载我把它存在了百度云里面了与大家共享 http://pan.baidu.com/s/1bRztF4
随机推荐
- fastJson常用方法总结
1.了解json json就是一串字符串 只不过元素会使用特定的符号标注. {} 双括号表示对象 [] 中括号表示数组 "" 双引号内是属性或值 : 冒号表示后者是前者的值(这个值 ...
- 关于Mybaits10种通用的写法
用来循环容器的标签forEach,查看例子 foreach元素的属性主要有item,index,collection,open,separator,close. item:集合中元素迭代时的别名, i ...
- 解决AS gradle下载同步卡慢的问题
国内因为GFW的原因,导致同步谷歌等服务器的插件源非常非常慢,几乎是龟爬,还好有阿里云的镜像源,据说速度很快,还不快试试: 1.build.gradle里的buildscript和allproject ...
- C#版本与Framework的关系
C# 1.0 released with .NET 1.0 and VS2002 (January 2002) C# 1.2 (bizarrely enough); released with .NE ...
- 上传文件---未能找到路径“D:\MyProject\Files\”的一部分
C# 使用控件FileUpload 上传文件,简单实例: protected void btnUpload_Click(object sender, EventArgs e) { string pat ...
- maven安装和eclipse集成
maven作为一个项目构建工具,在开发的过程中很受欢迎,可以帮助管理项目中的bao依赖问题,另外它的很多功能都极大的减少了开发的难度,下面来介绍maven的安装及与eclipse的集成. maven的 ...
- bzoj 2832
题解: 首先有一个比较显然的事情是如果我们确定了买的次数这道题就可以简单的贪心了 但是答案和买的次数是什么关系呢.. 好像是可以三分的 所以应该是单峰的 这里用了模拟退火,而且是没有处理失败情况的模拟 ...
- python_异常处理_断言
一.Python标准异常 常用异常 Exception 常规错误的基类 AttributeError 试图访问一个对象没有的属性 IOError 输入/ 输出异常,基本上是无法打开文件 ImportE ...
- ConcurrentModificationException(并发修改异常)的分析
1)介绍 并发修改ConcurrentModificationException错误是开发中一个常见错误,多发生在对一个Collection边遍历边做影响size变化的操作中,下面以ArrayList ...
- maven私服nexus(三)
将项目中的第三方jar包上传至maven私服中 上传jar包到maven私服 在你使用的maven配置文件settings中加上如下信息 代表你访问的账号密码 <servers> < ...