《第一行代码》第1章笔记

前言

其实自己学习安卓已经有挺长时间了(差不多两年),不过一直没有系统地读完一本安卓教材,很多基础知识处于学了就忘的状态,感觉有记录会好很多,所以选择了 CSDN 博客来记录。
在笔记中,我会用红色标记自己在学习过程中发现的书中的讲解问题,包括已经不适用的一些内容等;用蓝色标记出自己关于代码的一些想法,一些创新点,一些尝试等。
笔记不会记录全部,自己认为书中已经讲解得很清楚的部分,不再重复。

笔记

1 安装 Anroid Studio

这里没有要特别注意的地方。按照教程即可装好。一开始检测到没有 Android SDK,点击 cancel 后会跳转到后续引导页面指导下载。
另外,据说有些(使用英特尔芯片的)电脑会出现不支持 HAXM 的情况,导致安装好安卓虚拟设备后无法运行。HAXM 是英特尔推出的硬件加速执行管理器,目前广泛用于安卓模拟器和 QEMU。 出现这个问题的解决办法可以看这里 <Windows 10>
一开始引导页如果因为网络问题下载失败的话,稍后可以进入 SDK Manager 重新开启下载。如果下载 HAXM 没有成功,运行虚拟设备时会提示重新下载。

2 布局视图分离

安卓提出了视图的逻辑与视图本身分离的设计,一般基础的视图会在 XML 布局文件内写好。之后,在需要确定具体逻辑的时候,就要从这些 XML 布局文件中拿到对应的控件的实例。

3 引用资源的方式

在实际的编程代码中(也就是实际负责逻辑部分的 Kotlin 或者 Java 代码),采用 R.type.name 的方式来获取它的引用。
type 代表资源的类型。例如 string 类型的资源就放在 res/values/strings.xml 下,标签头由 string 标识。

<resources>
    <string name="app_name">Application</string>
</resources>

颜色也是资源,在 res/values/colors.xml 中有指定,用 color 标识。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="purple_200">#FFBB86FC</color>
    <color name="purple_500">#FF6200EE</color>
    <color name="purple_700">#FF3700B3</color>
    <color name="teal_200">#FF03DAC5</color>
    <color name="teal_700">#FF018786</color>
    <color name="black">#FF000000</color>
    <color name="white">#FFFFFFFF</color>
</resources>

需要注意的是,之后提到的每一个控件都会有的 id 也是一种资源,通过控件的 id 才可以获取控件实例。
name 就是标签内具体指定的 name 属性了,同一类型的资源 name 不能相同。
在 XML 文件中要引用资源,方法是 @type/nametype 指定了资源的类型, name 则是具体的资源的名字。

4 运行app与x64架构

在这里插入图片描述
注意到,安卓默认让我们下载的 Pixel_3a,采用了 Level 30 的 API,同时后面跟了一个 x86,这意味着这部手机的系统是 32 位的。那么我们编译出来的 app 呢?它能在运行64位系统上的安卓手机上运行吗?
事实上目前这种担心是多余的。现在我们考虑的并不包括,甚至整本书中都没有谈到 NDK 开发的具体问题,虽然 Google 要求今后所有在 Google Play 上发布的应用都必须支持 64位架构了,但是这只会影响到使用了 naive code 的应用(也就是项目中用到了 Android NDK,使用 C/C++ 开发,或者项目集成的库内使用了 NDK,具体可以参考官方文档),对于目前还在 Application 层面的初学者来说不用考虑这个问题,但是我认为有必要了解这个问题。

如果有条件,一个 app 做好之后,还是要尽可能地安装到物理机上运行测试,以检测在真实的硬件设备环境和使用条件下app的性能等。

总结

第1章算是比较简单的,首先是下载好了 Android Studio,然后创建了第一个项目,了解了 Android 项目的基本结构。从这一天开始就是一个真正的安卓开发者了,但是前面还有很长的路要走。但是走出第一步可以说是最重要的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值