第一章 开始启程 你的第一行Android代码

1.1 Android简介

Android系统架构:

1.Linux内核层:

android系统基于linux内核,这一层为Android设备的各种硬件提供底层驱动,如显示驱动、音频驱动蓝牙驱动等。

2.系统运行库层:

这一层通过一些C/C++库来为android系统提供主要特性支持。

  系统库包括九个子系统,分别是图层管理、媒体库、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。

这一层还有android运行时库。

  Android运行时包括核心库和Dalvik虚拟机,前者既兼容了大多数Java语言所需要调用的功能函数,又包括了Android的核心库。后者使得每一个android应用都能运行在独立的进程当中,并拥有一个自己的Dalvik虚拟机实例。

3.应用框架层:

该层是Android应用开发的基础,开发人员可以完全访问核心应用程序所使用的API框架。并且,任何一个应用程序都可以发布自身的功能模块,而其他应用程序则可以使用这些已发布的功能模块。基于这样的重用机制,用户就可以方便地替换平台本身的各种应用程序组件。

4.应用层:

该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。同时,开发者可以利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等、友好共处。

 

Android应用开发特色

四大组件

  活动【Activity】:应用程序的门面,凡是在应用中你能看到的东西都放在活动里。

  服务【Service】:在后台运行,即便用户退出了应用,服务仍然可以继续运行。

  广播接收器【Broadcast】:允许你的应用接受来自各处的广播信息,比如电话、短信等。

  内容提供器【Content Provider】:为应用程序之间共享数据提供了可能,比如你想读取电话簿中的联系人,就需要通过内容提供器来实现。

丰富的系统控件

SQLite数据库

  轻量级、运算速度极快的嵌入式关系型数据库。

强大的多媒体

地理位置定位

 

1.2 搭建开发环境

准备所需工具

JDK:JAVA语言开发工具包,包含了JAVA的运行环境、工具集合、基础类库等内容。

AndroidSDK:谷歌提供的Android开发工具包,需要引用该包来使用Android的相关API。

Android Stutio:开发IDE

集成下载地址:https://developer.android.google.cn/studio/index.html

你下载下来的是一个安装包,跟着一步步安装即可。

 

1.3 创建第一个android项目

在Android Studio界面点击【Start a new Android Studio project】会打开一个创建新项目的界面;

Name就是应用名称;

packageName表示项目包名,Android系统就是通过包名来区分不同应用程序的,因此需要具有唯一性。(如果你不喜欢系统自动生成的可以编辑修改)

 

启动模拟器

运行在打开的模拟器上

 

项目结构模式

真实模式:project

  app:存放项目代码、资源等内容

  build.gradle:项目的gradel构建脚本

  gradlew和gradlew.bat:用来在命令行界面执行gradle命令(gradlew是linux和Mac系统使用,gradlew.bat是windows系统使用)。

  local.properties:指定Android SDK路径,除非有变更,否则不需要更改。

App目录下的结构

  build:和外层类似,主要是一些编译时生成的文件。

  libs:第三方jar包存放目录,放在这个目录下的jar包都会被自动添加到构建路径中去

  androidTest:用来编译测试用例,可以对项目进行一些自动化测试。

  java:存放java代码。

  res:资源目录。

  AndroidManifest.xml:整个adnroid项目的配置文件,你在程序中定义的所有四大组件都需要在这个文件里注册,另外还可以在这个文件中给应用程序添加权限声明。

详解项目中的资源

  res目录下所有以mipmap开头的文件夹都是用来放应用图标的。

  如果想引用一个strings.xml中的内容,比如定义了应用名称【app_name】的字符串【HelloWord】,有两种方法:

    1、在代码中通过R.string.app_name可以获得该字符串的引用;

    2、在XML中通过@string/app_name可以获得该字符串的引用。

    上面两种方法中,string是可以替换的,如果图片资源就drawable、如果应用图标就mipmap,如果引用布局就换成layout。

  比如【AndroidManifest.xml】中,应用图标通过【android:icon】属性定义,应用名称则通过【android:label】属性指定。

 

posted @ 2020-11-17 00:14  吉尔加斯  阅读(161)  评论(0编辑  收藏  举报