系统架构分析

Android体系结构

安卓结构有四大层,五个部分,Android分四层为:

应用层(Applications),应用框架层(Application Framework),系统运行层(Libraries和android runtime)Linux内核层。

那么我来讲讲应用层有什么?

就是一些应用软件,如首页,联系人,电话,浏览器等等;应用框架如何理解?

应用框架层是用Java写的,有事件管理器,windows管理器,内容提供,查看系统 ,消息管理器,安装包管理,电话管理,资源管理,地点管理等等;

Libraries(库文件)里面是什么?

有:界面管理,媒体框架,SQLiteWebkitSQLSSL等等,为函数库层,用c语言和c++写的,android runtime是?里面有核心库和dalvik虚拟机哦!接下来就是linux 层,这个层有:显示驱动,相机驱动,蓝牙驱动,声音驱动,wifi驱动,键盘驱动,这么多的驱动,很重要。

那么我们该如何理解呢?对于上方的描述,应用有点印象和理解。

对于安卓的体系结构理解:

Application(应用)这个很容易理解,就是应用软件,我们作为开发者就是在这个层进行的,那么对于Application Framework,我们可以了解为通知管理层,Libraries可以理解为我们需要的一些库就是由这个层提供,那么android runtime就是虚拟机,用过android studio就能大概了解。Linux内核,就是驱动,我们调用系统驱动来实现功能。


Application应用程序层:

我们一般说的app应用就是在这个层,也是在此层进行应用开发的,使用是java语言

Application Framework应用程序框架层:

我们编写的app,需要该层进行管理,有事件管理器,windows管理器,内容提供,查看系统 ,消息管理器,安装包管理,电话管理,资源管理,地点管理等等

Libraries类库+Android Runtime(Android运行时环境):

Android提供给我们一组C/C++库,有:界面管理,媒体框架,SQLiteWebkitSQLSSL等等,Android Runtime由核心库和dalvik虚拟机构成

Linux内核

涉及底层,如:显示驱动,相机驱动,蓝牙驱动,声音驱动,wifi驱动等

环境搭建

一般Android环境有:

  1. Eclipse+ADT+ SDK
  2. Android Studio + SDK
  3. IntelliJ IDEA + SDK

但,如今用统一用AndroidStudio + SDK

Android Studio3.0的下载及其安装详解加eclipse下载安装配置jdk9

JDK的安装与配置

  1. 下载JDK
  2. JDK的安装
  3. 环境变量的配置

首先点击接受,Accept....然后选择你相应的电脑配置,点击下载安装即可

接下来我拿之前写过的来讲述JDK的配置

JDK包安装完成后,需要配置环境变量。点击桌面上的“我的电脑”或者“此电脑”,选择“属性”,接着选择“高级”,点击其中的“环境变量”弹出“环境变量”对话框,其中包含“用户变量”和“系统变量”两部分。

设置系统“变量名”为“JAVA_HOME","变量值”为“C:\ProgramFiles\Java\jre1.8.0_112",即是JDK安装路径,你也可以将地址栏中的路径直接复制过来。

再次选择”系统变量"列表中找到其"Path"(双击)-->"编辑",弹出”编辑系统变量",点击新建:

然后,单击”系统变量"下面的“新建"按钮,创建名为”classpath“的环境变量,值为”.",英文的一点,代表当前路径。

验证是否配置成功

打开电脑cmdwin键+R键,输入cmd,分别依次打入javac和java,出现下图显示表示配置成功。

相关术语

  • ADT:安卓开发工具
  • SDK:软件开发工具包

下载Android Studio

首先登录Android studio 官网地址

https://developer.android.google.cn/studio/index.html

大致如图效果

点击你所需要的平台

接下来我提供中文社区Android studio下载地址:

http://tools.android-studio.org/index.php

我以windows64位例子下载教程:

点击 

android-studio-ide-171.4408382-windows.exe

无 Android SDK 进行下载

然后进行点击你所下载的软件,进行安装:

接下来选择你所要下载的插件,这里的都打钩吧!点击Next,进入下个步骤

这里选择你要下载的安装的路径,自己定义才不会找不到哦!点击Next,下图点击Install,不要打钩,那个打钩的位置是不要创建快捷键,你自己决定要不要创建,Do not 表示不创建。

如果不出意外,一小段时间后你就会看到下面的界面,也就说明安装成功了。启动软件。点击Finish

打开Android studio后,进入相关配置界面

第二个表示没有下载过Android studio,第一个表示下载过,如果选择第一个表示导入你之前的配置,更新还是选择第二好,因为版本毕竟不一样。然后进入到多数人不懂的界面。

在开启时会弹出这个框:我们直接点击Cancel就好了,接下来看看启动界面

版本的更新改变了下载的形式,但大致都一样

看看截图,你们下载的时候也应该会是同样的效果

这里的 standardCustom,选择Standard,3.0版本的可以是这样

出现这个界面就代表安装好了。

接下来讲讲几个要点:

我们遇见如下图时:

点击Cancel是为了不用设置代理端口,如何点击Setup Proxy的朋友,看看如下如:

SDK的环境变量配置:

添加Path变量:

Android应用程序目录结构
  1. assets目录:在assets目录中存放的是工程中用到的相关文件资源,比如我们可能用到的音频文件,文本文件,这些文件都不进行编译的原生文件。

  2. bin目录:在bin目录下存放的是可执行的相关文件,这个目录为空时,代表项目没有进行执行,不为空时,就会在该目录下产生可执行文件。

  3. gen目录:在该目录下的文件只有读模式,不能进行修改。

  4. libs目录:在该目录下存放的是相关的导入包,文件以.jar结尾。

  5. res目录:在该目录下存放了这些文件,比如图片资源文件,布局资源文件,菜单文件等等。对于layout文件,主要.xml格式文件,界面效果文件。

  6. src目录:在该目录下存放的的相关的Java代码。

  7. proguard-project.txt文件:该文件时混淆代码的脚本配置文件。

  8. project.properties文件:该文件时项目的配置文件信息。

AndroidDevTools

收集Android开发所需的Android SDK、开发工具、Android教程、Android设计规范,免费的设计素材等。

网站地址:http://www.androiddevtools.cn/

Git使用教程

Git是一种分布式版本控制系统,版本控制系统,就是一个名词而已吧,Git 是为了方便人们而发明的,当我们每次写完代码时,提交到 Github 上时,我们会记录下提交说明,简述该代码写了什么内容,做了哪些更改,能够方便记录,在 Github 上回记录你代码的增删情况,就可以了解你每次做了什么,改过什么,很方便也对他人了解你的操作行为。

网站下载,安装Githttps://gitforwindows.org/

打开你下载好的 GIT“Git Bash” 软件

$ git config --global user.name "your.name"

$ git config --global user.email "email@example.com"

重点内容

  1. 1.首先打开你的github点击新建项目
  2. 点击new repositories ,然后直接给项目命名就好了。
  3. 2.打开命令行,输入下方: 
  4. 负责地址就是:https://github.com/…./Test.git
  5. $ git clone https://github.com/….
  6. $ cd test
  7. 3.前提下你得把你的项目复制放进test路径下
  8. $ git add .
  9. $ git commit -m changes log
  10. $ git push origin master
  1. // 辅助
  2. git status 查看修改内容
  3. git log 查看提交记录
  4. git reset 取消添加
  5. git checkout 撤销修改内容
  6. // 版本回退
  7. git rest --hard HEAD
  8. git rest --hard HEAD^
  9. git log
  10. git reset --hard ads2323
  11. // 后悔药
  12. git reflog
  13. git reset --hard ads2323

Github入门

GitHub 是一个网站,一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub来自百度百科Git是一个版本控制系统,是设计用于跟踪文件随时间变化的状态的一款软件。

Github网站页面概念

GitHub 网页概念之前我写了一些,接下来继续介绍:

  1. commit:提交到仓库。
  2. branch:每个独立的分支都是项目的一个版本。
  3. master branch:我们一开始在Github创建项目都会有一个分支,称为主分支。
  4. commit message:我们在上传Android项目时,会看到这个单词,表示的是需要提交信息,用于描述你这次的项目都做了什么,然后在网站可以一目了然看到你做的内容及其信息,能够方便他人了解等。
  5. marge:这个当你跟其他合作者合作项目时,提交代码会有显示是否合并,merge可以将一个分支上的内容合并到另一个分支上。
  6. pull request:将代码拉取到本地工作。

网页介绍效果

界面设计介绍

https://www.mockplus.cn/

结语

  • 本文主要讲解 Android基础-系统架构分析,环境搭建,下载Android Studio,AndroidDevTools,Git使用教程,Github入门,界面设计介绍

  • 下面我将继续对Java、 Android中的其他知识 深入讲解 ,有兴趣可以继续关注

  • 小礼物走一走 or 点赞

Android基础-系统架构分析,环境搭建,下载Android Studio,AndroidDevTools,Git使用教程,Github入门,界面设计介绍的更多相关文章

  1. 从程序员到CTO的Java技术路线图 JAVA职业规划 JAVA职业发展路线图 系统后台框架图、前端工程师技能图 B2C电子商务基础系统架构解析

    http://zz563143188.iteye.com/blog/1877266在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常不错的,这样 ...

  2. [零基础学IoT Pwn] 环境搭建

    [零基础学IoT Pwn] 环境搭建 0x00 前言 这里指的零基础其实是我们在实战中遇到一些基础问题,再相应的去补充学习理论知识,这样起码不会枯燥. 本系列主要是利用网上已知的IoT设备(路由器)漏 ...

  3. 【Android开发】 第一课 环境搭建教程

    Windows 开发环境部署: Android Studio 中文社区:http://www.android-studio.org/ 本教程将分为五个步骤来完成Android开发环境的部署. 第一步: ...

  4. Appium-001-测试开发环境搭建(Android - Win7)

    随着移动端 App 测试自动化的兴起,为更好的控制产品质量,越来越多的中大型公司开始了移动端的自动化测试.Appium 自动化测试技术也是我很早之前就想学习的一门技术,却一直没有比较空余的时间来学习( ...

  5. 【课程分享】深入浅出嵌入式linux系统移植开发 (环境搭建、uboot的移植、嵌入式内核的配置与编译)

    深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系 ...

  6. Android 的系统架构

    Android 的系统架构 Android其本质就是在标准的Linux系统上增加了Java虚拟机Dalvik,并在Dalvik虚拟机上搭建了一个JAVA的application framework,所 ...

  7. Spark源码分析环境搭建

    原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3868718.html 本文主要分享一下如何构建Spark源码分析环境.以前主要使用eclipse来阅读源 ...

  8. Android的系统架构

    转自Android的系统架构 从上图中可以看出,Android系统架构为四层结构,从上层到下层分别是应用程序层.应用程序框架层.系统运行库层以及Linux内核层,分别介绍如下:     1)应用程序层 ...

  9. Tomcat系统架构分析

    Tomcat系统架构分析 关于这边blog呢,实际开发中并不会用到,但是我觉得还是很有必要认真的写一下.毕竟我们每天在本地撸码的时候使用的就是tomcat来做web服务器.一个常识就是说我们本地在to ...

随机推荐

  1. JS StartMove源码-简单运动框架

    这几天学习js运动应用课程时,开始接触一个小例子:“仿Flash的图片轮换播放器”,其中使用的StartMove简单运动框架我觉得挺好用的.这个源码也简单,理解其原理,自己敲即便也就熟悉了. 用的时候 ...

  2. 获取relatedTarget属性

    在做mouseenter与mouseleave的兼容时,我们需要用到事件对象的relatedTarget属性 function getRelatedTarget(e) { var t = e.rela ...

  3. 数据库设计,表与表的关系,一对多。One-To-Many(2)

    一对多:主键数据表中只能包含一个记录,而在其关系记录表中这条记录可以与一个或多个记录相关,也可以没有记录与之相关. 关联映射:一对多/多对一存在最普遍的映射关系,简单来讲就如球员与球队的关系:一对多: ...

  4. (译)内存沉思:多个名称相关的神秘的SQL Server内存消耗者。

    原文出处:https://blogs.msdn.microsoft.com/sqlmeditation/2013/01/01/memory-meditation-the-mysterious-sql- ...

  5. MySQL 物理文件体系结构的简单整理说明

    本文出处:http://www.cnblogs.com/wy123/p/7102128.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错 ...

  6. PXC 搭建高可用集群

    (1).PXC集群注意事项 1.PXC集群只支持innodb引擎 2.

  7. Python代码的人机大战(循环嵌套)

    第一次动手写随笔,记录一下今早的1.5小时努力成果 题目是这样的 : 人和机器进行猜拳游戏写成一个类,首先选择角色:1 曹操 2张飞 3 刘备,然后选择的角色进行猜拳:1剪刀 2石头 3布 玩家输入一 ...

  8. matplotlib坐标轴的一些操作

  9. Python开发——函数【Python内建函数】

  10. linux下面重启apche 与mysql服务

    1.service httpd restart 重启apache 2.service mysqld restart 重启mysql 开启与停止换成start与stop即可