Android入门

Posted 修心_666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android入门相关的知识,希望对你有一定的参考价值。

android入门

​ Android是基于Linux平台的开源手机操作系统,由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。(这就是为什么我在我的说说页面上,用手机发动态,上面显示的Linux)

Android体系结构

  1. 应用程序层

    Android内有一系列的核心应用,包括短信程序日历工具、网页浏览器等工具,以及基于Android平台的应用程序框架,所有的应用都是Java语言编写的。

  2. 应用程序框架层

    开发者可以完全使用与那些内核应用程序相同的框架,这些框架用于简化和重用应用程序的组件。若某程序能够“暴露”其内容,则其他程序就可以使用这些内容。例如Android的四大组件:Activity、Service、ContentProvider、BroadcastReceiver。

  3. 系统库层

    Android定义了一套C/C++开发库供Android平台的其他组件使用。这些功能通过Android应用程序框架提供给开发者,开发者是不能直接使用这些库的。

  4. 运行时环境

  5. Linux内核层

    Android的核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也同时作为硬件和软件栈之间的抽象层。

开发工具介绍

​ Java JDK(必须),Android SDK(必须),ADT(可选,运行环境为Eclipse时);或集成开发环境 Android Studio。

Android应用程序结构

Android项目程序结构

gen目录介绍

gen目录中存放ADT自动生成的文件,该目录中最主要的就是R.java文件。

Android开发工具会根据res目录中的xml文件、图片等资源,同步更新R.java文件。

R.java在应用中起着字典的作用,它包含各种资源的引用,通过R.java系统可以很方便地找到对应资源。

编绎器会根据R.java文件,检查资源是否被使用,没有使用的资源不会打包到安装文件中

res目录介绍

image-20210506184320254

assets与res、res/raw文件夹都用于存放资源文件,那它们之间有什么区别呢?

比较项assets文件夹res文件夹res/raw文件夹
是否在R.java中生成资源标记
是否能任意创建子文件夹不能不能
是否会编译成二进制文件不会不会
是否完全打包到安装文件中需判断需判断
访问方式AssetManager类,通过文件流读取R.XX.XXX引用,通过Resource类相应方法读取R.raw.xxx引用,通过Resource类相应方法读取

清单文件Mainfest.xml

主要包含的信息:

  1. 应用程序名称图标版本号
  2. 应用程序的包名,该包名将会作为该应用的唯一标识;
  3. 应用程序所包含的组件,如Activity、Service等;
  4. 应用程序兼容的最低版本
  5. 应用程序使用系统所需的权限声明
  6. 其他程序访问该程序所需的权限声明

Android应用程序执行过程

  1. 读取AndroidManifest.xml清单文件,设置应用程序的基本信息;
  2. 根据配置找到入口Activity并创建该类对象,然后自动调用其onCreate()方法,设置显示界面;
  3. 根据界面控件的属性在设备上显示相应的界面。

Android模拟器也可以安装从网上下载的apk应用程序,主要是通过android提供的adb命令来完成。

通过 adb install MyAndroid.apk 命令,将该应用安装到模拟器中

如果没有启动模拟器也没有连接Android手机,则会提示“device not found”错误,否则开始安装应用;

如果模拟器上已有该应用,则会提示:INSTALL_FAILED_ALREADY_ EXISTS失败信息,需要先卸载该应用,再进行安装;

命令行中出现Success时,表示该应用安装成功,可以在功能菜单中找到相应的应用图标,并启动它。

Android四大基本核心组件

Activity: 在Android应用中负责与用户进行交互的组件,我们称之为“活动”,一个Activity就是一个屏幕。

Service: 代表一个单独的Android组件,Service与Activity的区别在于:Service通常位于后台运行,它一般不需要与用户交互,一些Service组件没有图形用户界面。

BroadcastReceiver:代表广播消息接收器,非常类似于事件编程中的监听器,所监听的事件源是Android应用中的其他组件。

rvice组件没有图形用户界面。

BroadcastReceiver:代表广播消息接收器,非常类似于事件编程中的监听器,所监听的事件源是Android应用中的其他组件。

ContentProvider:提供一种跨应用的数据交换的标准。

如果觉得本文对你有帮助的话,不妨关注作者一波,小小的关注其实对我很重要。更多高质量内容与资料请访问:个人主页:修心的小屋

以上是关于Android入门的主要内容,如果未能解决你的问题,请参考以下文章

Android应用libGDX引擎系列(二)-libGDX 入门精要

Android精通教程-第一节Android入门简介

分享:Android入门开发之销毁activity

Android入门广播

Android入门

Android学习之旅1Android入门介绍