Android入门/架构(一)

14天学会安卓开发(第一天)Android架构与环境搭建 14天学会安卓开发   作者:神秘的N (英文名  corder_raine) 联系方式:369428455(反馈) 交流群:284552167(示例,原文档下载) 版权为作者所有,如有转载请注明出处 目录 第一天Android架构与环境搭建... 4 1.1 android基础... 4 1.1.1 Android是什么?. 4 阅读详情

尽管博客上已经有很多写Android架构的文章,作为我迈入Android的第一步,我会记录每一点体会,分享其中点点滴滴,希望牛牛们多多赐教 ,我也一定要坚持下来!


1. Android 初识

1.1 Android系统 是基于Linux内核开发的开源的应用于移动平台一款操作系统。

它包含以下一些特色的功能:针对移动设备优化的Dalvik虚拟机, 基于开源浏览器引擎WebKit的集成浏览器,

优化的2D图形库和基于OpenGL ES的3D图形库,用来存放结构化数据的SQLite,支持各种格式的多媒体,对蓝牙,

WiFi,GPS的支持,当然最重要的还是强大的系统框架和API来方便我们重用它的组件,以及非常丰富的开发环境的支持,

包括设备模拟器,Eclipse插件支持,内存性能剖析工具等。

1.2先上一张Android系统的架构图

从上到下 依次 :

// Android框架层资料 摘自 百度文库

1. 应用程序 Application

Android 会同一系列核心应用程序包一起发布,该应用程序包括Email客户端,SMS短消息程序,日历,地图,

浏览器,联系人管理程序等.所有的应用程序都是使用Java语言编写的.我们可以参考android源码相关的模块,来进行学习

2. 应用程序框架 Application Framework

可以访问核心应用程序所使用的API框架.

隐藏在每个应用后面的是一系列的服务和系统,其中包括:

*丰富而又可扩展的视图(Views) : 用来构建应用程序.

*内容提供器(ContentProviders) : 使得应用程序可以访问另一个应用程序的数据.

*资源管理器(Resource Manager) : 非代码资源的访问,如 本地字符串,图形,布局文件(Layout File).

*通知管理器(Notification Manager) :使得应用程序可以在状态栏中显示自定义提示信息.

*活动管理器(Activity Manager) :用来管理应用程序的生命周期并提供常用的导航回退功能.

3. 系统运行库 Library , Android runtime

1. 程序库

*系统C库

*媒体库

*Surface Manager

*LibWebCore

*SGL

*3D libraries

*FreeType

*SQLite

2.Android 运行库

4. Linux内核 Linux Kernel

Android 的核心系统服务依赖于Linux 2.6内核.如 安全性,内存管理,网络协议栈和驱动模型.

Linux内核也同时作为硬件和软件栈之间的抽象层.



1) Activity

Android系统的用户界面都是基于Activity创建的,一个应用程序可以包括一个或者多个Activity, 但都是继承于

android.app.Activity这个基类。每个Activity包括一个默认窗口用来填充一系列的View,用户通这些View来与Activity

交互,Android系统提供了很多View的控件,如按钮Button,文本框TextView,滚动条scrollview等。

2) Content providers:

它是对Android系统的数据访问的一种封装, 提供一系列标准的存取数据方法,不管数据是存在文件系统,还是SQLite数

据库,各个应用程序都可以通过Content provider访问数据。如果想在各个应用程序之间共享数据也只有通过

Content provider方式来实现。Android的编程模型也是鼓励我们创建自己的数据的同时,也可以让其它应用程序访问。

比如在发送消息的应用程序用必然会调用到联系人的数据。

3) Services: 

类似于windosw平台上的服务。不同于Activity和Content providers的短生命周期,Services可以一直在后台运行,而且

可以独立于任一Activity,比如播放背景音乐,定时检查软件是否需要更新等。

4) Intents: 

指Android中的系统消息。我们知道很多系统中各应用程序都是通过发送消息来进行交互的, Android正是通过Intents来

通知应用程序的各种事件,比如电池电量不足,检测到存储卡等。


通过以上资料,我对Android有了些大致的认识 ,这应当会是有用的.

文章摘于//http://blog.youkuaiyun.com/cjjky/article/details/6299797


什么是Android逆向?如何学习安卓逆向?Android逆向自学笔记入门到实战 *其实上面说了这么多,钱是永远赚不完的,在这个知识付费的时代,知识技能提升才是是根本!我作为一名8年的高级工程师,知识技能已经学习的差不多。**在看这篇文章的可能有刚刚入门,刚刚开始工作,或者大佬级人物。像刚刚开始学Android开发小白想要快速提升自己,最快捷的方式,就是有人可以带着你一起分析,这样学习起来最为高效,所以这里分享一套高手学习的源码和框架视频等精品Android架构师教程,保证你学了以后保证薪资上升一个台阶。这么重要的事情说三遍啦! 阅读详情

相关推荐

【安卓架构师】【高焕堂】【android从程序员到架构师】从零开始进阶安卓架构师

从第一次写出Hello World,到成为一个优秀的工程师的距离有多远? android从程序员到架构师之路课程,遵循敏捷的迭代过程,从思想、方法、模式、范例和成功案例各种不同角度,带你学习从设计到代码的途径。让你在活泼的过程中,轻松地从原本的代码世界,迅速熟悉设计的新天地。 学习目录 1.复习基本OOP知识a 2.复习基本OOP知识b 3.复习基本OOP知识c 20:00

kk_yanwu的博客 2321

Android系统架构

目录 一、引言 二、Android架构 2.1 Linux内核层 2.2 硬件抽象层 (HAL) 2.3 Android Runtime & 系统库 2.4 Framework层 2.5 App层 2.6 Syscall && JNI 三、通信方式 3.1 Binder 3.2 Socket 3.3 Handler 四、核心提纲 4.1 系统启动系列 4.2 系统稳定性系列 4.3 Android进程系列 4.4 四大组件系列 4.5 图形系统系列

即将秃头的吕同学的博客 1889

智能车八邻域图像算法

智能车八邻域图像算法

技术缝合怪的博客 4万+

安卓编程基础——平台架构

Android 是一种基于 Linux 的开放源代码软件栈,为各类设备和机型而创建,作为安卓开发者,应该了解安卓平台架构及其优点,还需要了解设备文件浏览器(Device File Explorer),另外,安卓调试桥也应该了解,利用它可以进入Linux内核进行一些操作。

lovepanyuxiao的博客 1740

ISP Tuning实战:从零开始调校相机传感器的完整流程(附避坑指南)

本文详细介绍了ISP Tuning的完整实战流程,即如何从零开始调校相机传感器以优化成像质量。内容涵盖从黑电平校正、镜头阴影校正等基础标定,到自动曝光、伽马校正、色彩校正等核心画质调校,再到降噪与锐化的平衡策略,并提供了关键的避坑指南。掌握ISP Tuning是提升相机传感器性能、实现从‘能用’到‘好用’的关键技术。

weixin_32098457的博客 196

LTspice 导入 PSpice 模型实战指南 --(解决语法兼容性与模型优化问题)

本文提供了将PSpice模型成功导入LTspice的详细实战指南。针对两者间的语法兼容性问题,文章以TI UCC23513为例,逐步讲解模型获取、符号创建、常见语法错误修改及仿真验证方法,并分享了模型优化与个人库管理技巧,帮助用户高效解决模型导入与仿真难题。

weixin_28278377的博客 823

Android开发之旅:android架构

1、架构图直观 下面这张图展示了Android系统的主要组成部分: 图1、Android系统架构(来源于:android sdk) 可以很明显看出,Android系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。第二部分将详细介绍这5个部分。 ...

ff825288003ff的专栏 366

手把手教你用Python 3.11和Node.js 18在Windows 11上搭建Dify开发环境

本文提供了一份详尽的Windows 11本地Dify开发环境搭建指南。文章手把手教你完成从Python 3.11、Node.js 18的安装配置,到PostgreSQL、Redis数据库服务的部署,再到前后端服务的启动与联调的全过程,并包含常见问题排查与效能优化建议,旨在帮助开发者构建一个稳定、可调试的Dify本地开发环境。

fire9的博客 645

Android快速入门 基础知识,系统架构(快速开发第一个安卓应用程序)

一、Android 1、什么是Android Android是一种基于Linux的十织的操作系统 ·主要使用于智能设备,如智能手机、平板电脑和智能电视等 由Google公司领头开发并推广,2008年推出第一个版木。 ·此系统最初由"安卓之父"Andy Rubin(安迪-鲁宾)开发(2003年) 2、Android能干什么? 3、系统架构 4、DIV和JVM (1) 首要差别 Dalvik:基于寄存器,编译和运行都会更快些.JVM:基于栈,编译和运行都会慢些 (2) 字节码的区别 Dalvik:执行.

程序员猫爪 2879

会计引擎:交易与核算分离的前世今生

一、为什么需要会计引擎 金融产品的设计,一如一块硬币需要兼顾两面:一面是为客户提供好的金融服务,满足客户支付结算、借贷、资产保值增值等方面的需求,并在这个过程中,以数字化的方式做好客户资产的登记,登记的载体,则是“分户”或“台账”,如客户存款户,是一种典型的分户--资金的增减变化都在一个账户中进行体现,而客户购买的银行理财,因为收益率、期限、投资标的不同,每一笔持有就形成一行记录,即为“台账”--这当然是不严谨但相对形象的表述。但是,“分户”和“台账”并没有必然的区别,以贷款为例,一些银行仍然存在所谓“

银行信息系统应用架构详解 985

快速卷积结构FIR数字滤波器的设计与ARM平台实现

本文提出了一种基于快速卷积结构的FIR数字滤波器设计与实现方案。通过Matlab设计了满足特定指标的低通FIR滤波器,采用重叠-保存法和重叠-相加法两种快速卷积算法,将计算复杂度从O(N·M)降低到O(NlogN)。详细介绍了滤波器系数生成、性能验证流程,并提供了ARM平台C语言实现的关键技术,包括定点量化处理。实验结果表明,该方法能有效滤除混合信号中的高频干扰,保留目标1kHz正弦信号,验证了设计方案的有效性。

huanghm88的专栏 125

安卓进阶之android系统架构

安卓进阶知识之android系统架构学习的笔记,结合了《进阶之光》、一些博客、官方文档和个人的理解

Suzy_MM的博客 3351

SIMULINK开发项目实例 1000 例专栏之第960例--基于电力系统稳定性的建模与仿真场景:-含分布式电源的配电网电压稳定性研究

间歇性与随机性:例如,太阳能依赖于日照强度,风能依赖于风速,这使得它们的输出功率具有不确定性。逆变器接口:大多数分布式电源通过逆变器接入电网,这对电网的动态响应特性产生了影响。位置分散:通常分布在用户侧或靠近负荷中心的位置。本文详细介绍了如何使用Simulink结合Simscape Electrical 构建一个用于研究含分布式电源配电网电压稳定性的模型,并提供了详细的仿真流程说明。

xiaoheshang_123的博客 155

Android开发如何从入门进阶到架构

因此,这个学习体系的设计旨在帮助学习者全面发展自己的技术和能力,为成为一名优秀的Android架构师打下坚实的基础。最近按照Android学习体系整理了下Android学习课程,这个体系的设计是为了帮助学习者系统性地掌握Android开发的各个方面。下面的课程建议大家都学一下,每次学习都有不同的收获。面试是一个展示自己能力的重要机会,准备充分可以让开发工程师在面试中展现出自己的技术实力和解决问题的能力。通过实际项目的经验积累,开发工程师可以学习到更多实用的技巧和解决问题的方法,提升自己的实际开发能力。

m0_67537062的博客 2162

模型训练篇 | 手把手教你使用ResNet训练自己数据集和推理,ResNet50通用物体分类识别,含完整代码和数据集,全网最详细教程

手把手教你使用ResNet训练自己数据集和推理,ResNet50通用物体分类识别,含完整代码和数据集,全网最详细教程。本篇文章将带你学习 ResNet50 模型构建、ResNet50训练自己数据集、数据集处理、推理和验证、模型剪枝与模型改进等。 本篇教程适配各种分类识别任务,可以说是一个通用的教程,只需修改自己的数据集即可完成自己领域的任务和系统实现。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 735

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

安卓Android入门

Android基于Linux内核,这使得它具有强大的硬件兼容性和稳定性。

m0_74154295的博客 2282

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【精华】安卓开发学习路线规划

  近一段时间经常被朋友问到如何从零开始学习安卓,成为一名安卓开发工程师。不得不感叹,现在各行各业都有不少人在涌向IT/互联网行业,希望从事程序开发工作,竞争越来越激烈了。借此机会,我梳理了一下自己所学所知的安卓知识,制定了这份安卓开发学习路线规划,希望能帮助到有志于安卓开发的伙伴能尽快找到学习的方向,进入安卓开发的大门! 一、安卓开发学习路线   安卓开发可以从深度和广度两个维度进行学习。大方向上看,Android在向诸如Flutter这样的跨平台技术演进,混合式开发、大前端等正成为移动端的发展方向和热门

time-space的博客 2万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Android Studio目录结构介绍, 安卓开发入门

安卓学习:Android Studio目录结构 刚刚开始学Android开发, 来分享一下Android Studio 项目的目录结构 这是刚刚创建完项目的样子 任何一个新建的项目都会默认使用Android模式的项目结构, 但这并不是项目最真实的目录结构, 而是被Android Studio转换过来的, 这种项目结构简洁明了,适合进行快速开发,但是对于新手来说可能并不易于理解。 点击图片中Android区域可以切换项目结构模式. 这里我们项目结构切换为Project, 这就是最真实的目录结构 这里开始

天行健 君子以自强不息,地势坤 君子以厚德载物。 5578

Android MVP(一)架构介绍与使用入门

博主声明: 转载请在开头附加本文链接及作者信息,并标记为转载。本文由博主威威喵原创,请多支持与指教。 本文首发于此 博主:威威喵|博客主页:https://blog.youkuaiyun.com/smile_running MVP 架构系列文章: Android MVP 架构(一)MVP 架构介绍与实战运用 Android MVP 架构(二)MVP 之 BaseMVP 基础框...

你若盛开,蜜蜂自来 1万+

Android系统开发(一):AOSP 架构全解析:开源拥抱安卓未来

修改启动动画文件:替换目录下的启动图像资源。重建系统测试效果:将生成的 boot.img 刷入目标设备。Android AOSP 是系统开发者不可或缺的开源利器,它让开发者能够掌控从内核到应用的每一行代码。尽管上手可能有一定难度,但通过学习,你将解锁整个安卓技术栈的潜力,为未来的开发铺平道路。

刘 争 6414

自学android编程教程,安卓编程入门教程 安卓编程如何自学

安卓编程入门教程 安卓编程如何自学时间:2017-04-10来源:Android开发学习网安卓编程越来越火,发展前景无比诱人,越来越多的人加入了android开发者的行列。安卓编程入门很简单,今天小编给大家提供一份安卓编程入门教程,告诉大家安卓编程如何自学,希望能够给您带去帮助。安卓编程入门教程 安卓编程如何自学一、安卓编程开发基础知识1、Android应用程序是用java语言写的,通过...

weixin_36377785的博客 5689

Android安卓|安卓概述、安卓开发、安卓入门、安卓架构

Table of Contents Android 概述 什么是 Android? Android 开发优势 Android 的特性 Android 应用程序 Android 应用程序的类别 Android 的历史 什么是 API 级别? Android 开发环境搭建 安装 Java 开发工具包(JDK) Android IDE Android 架构 Linux内核 程...

RToax 1330

Android 安卓DataBinding(一)·基础

文章目录前言DataBinding介绍开始准备快捷按键实例代码(基本用法)运行效果 前言 今天2019年9月29日,本人优快云博客 称号 博客专家 审核通过了,为了庆祝,特此今天写一篇博客作为纪念! 欢迎扫描左方二维码(群号码:697614838),加入我的优快云粉丝群(请备注好你的专业)! DataBinding介绍 DataBinding 是谷歌官方发布的一个框架,其作用是实现数据绑定(...

两行代码 踏踏实实de工作 1万+

Android 安卓MVC架构

MVC文章目录引入原理我的理解我的Demo第一步Bean第二步Modle第三步Controller第四步完成View 引入 本篇文章Github有提交 https://github.com/NorthernBrain/MVC MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、...

两行代码 踏踏实实de工作 6198
上一篇: 腾讯空间 第三方接入(OAuth2.0/JS V2)
下一篇: Android 入门/项目结构(二)
多格AI零代码
博客等级 码龄15年 40粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值