Android基础知识|青训营笔记

104 阅读4分钟

这是我参与「第四届青训营 」笔记创作活动的第1天

今天我来讲一下关于Android的基础知识。该内容参考《第一行代码》这本书籍。

首先第一部分是Android系统架构。Android系统大致可以分为4层架构:

  • Linux 内核层
    Android系统是基于Linux内核,这一层为Android设备的各种硬件提供了底层的驱动,如蓝牙驱动、照相机驱动、音频驱动、显示驱动。
  • 系统运行库层
    这一层通过一些C/C++库为Android库提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL提供了3D绘图的支持,Webkit库提供了浏览器内核的支持。
    在这一层还要Android运行时库,它主要提供了一些核心库,允许开发者使用Java语言来编写Android应用。另外,运行时库还包含了Dalvik虚拟机(5.0系统后改为ART运行环境),它使得每一个Android应用都能运行再独立的进程中,并且拥有一个自己的虚拟机实例。
  • 应用框架层
    这一层主要提供了构建应用程序可能用到的各种API,Android自带的一些核心应用就是使用这些API完成的。
  • 应用层
    所有安装在手机上的应用程序都是属于这一层的。

andorid1.jpg

系统架构图

接下来我来讲一下Android的应用开发特色。

  • 四大基础组件
    首先Android系统有四大组件,分别是Activity、Service、BroadcastReceiver和Contentprovider。
    其中Activity是所有Android应用程序的门面,凡是你在应用中看得到的东西,都是放在Activity中的。而Service就比较低调了,你无法看到它,它只会在后台默默地运行,即使你退出了应用,Seivice仍然是可以继续运行的。BroadcastReceiver允许你的应用接受来自各处的广播信息,比如电话、短信等。ContentProvider则为应用程序之间共享数据提供了可能。
  • 丰富的系统控件
    Android自带丰富的系统控件可以让我们设计出漂亮的界面出来。
  • SQLite数据库
    Android系统还自带了这种轻量级、运算速度极快的嵌入式关系型数据库。它不仅支持标准 的SQL语法,还可以通过Android封装好的API进行操作,让存储和读取数据变得非常方 便。
  • 强大的多媒体
    Android系统还提供了丰富的多媒体服务,如音乐、视频、录音、拍照等,这一切你都可以 在程序中通过代码进行控制,让你的应用变得更加丰富多彩。
    至此,我们可以发现,Android内部给我们提供了非常丰富的工具,为我们制作app提供了不少的便利。
    Android的基本知识简单来说就这几个模块,接下来就是实践出真知,先下载好Android Studio以及其他组件,在编译器中运行“Hello world”结束这一部分的学习。
andoridhello.jpg 其中Hello world这行字并不是我们自己输出的,而是在你create一个project时的文件名。所以我们不由得开始思考,那么Hello world是如何输出的呢?

app结构.jpg

andoridproject.jpg 这两张图片一个是project主要的结构,一个是app主要的结构。这个我们暂时还用不到。 我讲一下目前我们需要学的部分:

mainactivity.jpg

  • 首先可以看到,MainActivity是继承自AppCompatActivity的。
    AppCompatActivity是 AndroidX中提供的一种向下兼容的Activity,可以使Activity在不同系统版本中的功能保持一致性。而Activity类是Android系统提供的一个基类,项目中所有自定义的Activity都必须继承它或者它的子类才能拥有Activity的特性(AppCompatActivity是Activity的子类)。
  • 然后我们可以看到代码中有一个onCreate()方法,这个方法是一个Activity被创建时必须执行的方法。
  • 那么“Hello World! ”是在哪里定义的呢?
    Android程序的设计讲究逻辑和视图分离,因此我们是不推荐在Activity中直接编写界面的。一种更加通用的做法是,在布局文件中编写界面,然后在Activity中引入进来。
  • 可以看到,在 onCreate()方法的第二行调用了setContentView()方法,就是这个方法给当前的Activity 引入了一个activity_main布局,布局文件都是定义在res/layout目录下的,当你展开layout目录,你会看到 activity_main.xml这个文件。打开该文件并切换到Text视图,代码如下所示:

text.jpg

  • 你现在只需要看到上面代码中有一个 TextView,这是Android系统提供的一个控件,用于在布局中显示文字。然后你终于在 TextView中看到了“Hello World!”的字样!就是通过 android:text="Hello World!"这句代码定义的。

  • 至此,Android的基础学习以及“Hello world”的实现已经全部结束了。
    下一节我们来讲一下kotlin的基础语法。