一、 Android系统架构

四层架构:Linux 内核层、系统运行库层、应用框架层、应用层

  • Linux 内核层:提供各种硬件驱动
  • 系统运行库层:C/C++ 库提供特性支持,Android 核心库支持Java 语言开发
  • 应用框架层:提供各种 API(应用程序开发接口)
  • 应用层:Android 应用程序

二、Android 四大组件

  • 活动(Activity):与用户交互的可视化界面

    • 通常一个 Activity 就是一个界面
    • Activity 之间通过 Intent 进行通信
  • 服务(Service):非交互的后台组件,处理业务操作
  • 广播接收器(Broadcast Receiver):接收来自其他应用程序或系统的消息并响应,如电话、短信
  • 内容提供器(Content Provider):用于应用程序间共享数据

三、搭建开发环境

1. 软件安装步骤

  1. 安装 JDK
  2. 安装 Android Studio
  3. Android Studio 安装过程中选择安装 Android SDK

2. 认识开发目录

  • app:工作目录,包含项目代码及资源
  • gradle:包含 gradle wrapper 的配置文件,实现自动下载 gradle
  • .gitignore:用于将指定目录或文件排除于版本控制之外
  • gradle.properties:全局的 gradle 配置文件
  • local.properties:用于指定本机 Android SDK 的位置
  • settings.properties:用于指定项目中所有引入的模块

  • build:放置编译时自动生成的文件,无需关心
  • libs:放置第三方 jar 包,以便自动添加到构建路径中
  • androidTest:放置编写的 Android Test 测试用例
  • java:放置 java代码
  • res:放置各种资源文件
    • drawable:存放图片资源
    • minmap:存放应用图标资源
    • layout:存放布局文件
    • values:存放字符串、央视、颜色等配置资源
  • AndroidManifest.xml项目配置文件,所有组件都需在此注册
  • test:放置编写的 Unit Test 测试用例
  • proguard-rules.pro:放置项目代码混淆规则

参考资料:第一行代码:Android

Android学习(一):初识Android相关推荐

  1. Android学习笔记:Android基础知识点(不断更新中)

    1.Android学习笔记:OkHttp 2.Android学习笔记:更新UI的方法(UI线程和非UI线程) 3.Android学习笔记:Volley 4.Android学习笔记:Handler 5. ...

  2. Android学习笔记之Android Studio添加新的Activity

    1.创建Android项目工程:AndroidTest 创建过程可参考网上诸多教程. 2.添加新的Activity,步骤如下 a. 在layout文件夹上右键,New-Activity-相应Activ ...

  3. android学习十三(android的通知使用)

    通知(Notification)是android系统中比較有特色的一个功能,当某个应用程序希望向用户发出一些提示信息.而该应用程序又不在前台执行时,就能够借助通知来实现.发出一条通知后,手机最上方的状 ...

  4. Android学习笔记(Android Studio)3-3(ProgressBar ProgressDialog)(加载进度条、转圈圈)UI组件之弹出组件

    Android学习笔记3-3 推荐新手向学习视频:B站https://www.bilibili.com/video/av38409964点我传送 3-3 ProgressBar & Progr ...

  5. 【Android学习】自定义Android样式checkbox

    下面简单介绍下在Androdi中如何更改Checkbox的背景图片,可以自定义样式 1.首先res/drawable中定义编写如下样式的XML,命名为:checkbox_style: 1 <?x ...

  6. Android学习笔记之android:collapseColumns,android:shrinkColumns和stretchColumn

    TableLayout是一个使用复杂的布局,最简单的用法就仅仅是拖拉控件做出个界面,但实际上,会经常在代码里使用TableLayout,例如做出表格的效果.本文主要介绍TableLayout的基本使用 ...

  7. Android学习第二天-android常用命令

    上一篇文章中,我们重点讲解了adb的常用命令,下面我们一起来看看其它常用的命令 2 android 2.1 查看机器上所有已经安装的Android版本和AVD设备 2.1.1查看机器上已经安装的AVD ...

  8. Android 学习心得(2)——Android内置数据库SQLite

    一.简介: Android有一个内置数据库SQLite,它是一种轻型数据库,它有五种数据类型:NULL(空型).BLOB(二进制).INTEGER(整型).REAL(浮点型).TEXT(字符串文本), ...

  9. Android学习笔记(四):android画图之paint之setXfermode

    2019独角兽企业重金招聘Python工程师标准>>> setXfermode 设置两张图片相交时的模式 我们知道 在正常的情况下,在已有的图像上绘图将会在其上面添加一层新的形状. ...

  10. Android学习笔记之 android:collapseColumns ,android:shrinkColumns 和stretchColumns

    TableLayout是一个使用复杂的布局,最简单的用法就仅仅是拖拉控件做出个界面,但实际上,会经常在代码里使用TableLayout,例如做出表格的效果.本文主要介绍TableLayout的基本使用 ...

最新文章

  1. web可用性测试_Web开发人员和设计人员的最佳可用性测试工具
  2. 转:消息队列的使用场景
  3. Python内置函数使用说明
  4. 修改typora设置能够配对latex行间公式$ $
  5. 最长公共前缀 python_python 实现求解字符串集的最长公共前缀方法
  6. numpy——flat与flatten
  7. dedecms织梦入门
  8. 沪台教师携手“播种”传统文化 让中华文明浸润孩子
  9. Alter table alter |change |modify 区别
  10. 供应链管理-降低产品复杂度
  11. ios 打包分发全流程
  12. Blob对象判断是不是图片类型以及Blob数据下载
  13. “1448万,一条命”:在生命面前,金钱显得太刺眼
  14. react生命周期方法介绍
  15. python数据分析与应用-Python数据分析与应用-课后习题答案
  16. 微信公众号无限推送消息微信群发微信定时群发微信主动推送微信客服消息
  17. 告别繁琐的重命名,教你快速重命名技巧
  18. Mysql 1146错误 出现Table 'mysql.proc' doesn't exist ( 1146 )
  19. ArrayList和LinkedList的区别以及优缺点
  20. 小强升职记梗概_《小强升职记》读书笔记一

热门文章

  1. Oracle报错ORA-01653: 表xx无法通过 8192 (在表空间 xx_data 中) 扩展
  2. 我在养一个很牛逼的大单!
  3. 软件项目管理:成本估算法,PERT历时估算法,决策树分析法,挣值分析法
  4. 思维导图之快速阅读探索
  5. 盛元广通P3实验室管理系统
  6. 智能合约开发 Ganache | Truffle | Solidity | Web3.js
  7. linux学习笔记(5)-安装五笔输入法
  8. 用ArcGIS API for JavaScript制作三维可视化图
  9. 分享灵动微国产32位单片机智能门锁解决方案
  10. [网络流24题][CODEVS1237]餐巾计划问题(费用流)