1.5.1 Git使用教程之本地仓库的基本操作

Git是什么?

一个分布式版本控制系统,和SVN类似,但远比SVN强大的一个版本控制系统 ①Git可以方便的在本地进行版本管理,如同你本地有一个版本管理服务器一样 我们可以选择在合适的时间将本地版本推送到统一的版本管理服务器 ②Git每次会提取整个代码仓库的完整镜像,相当于对整个代码仓库都进行了一次备份,这样计时版本服务器除了问题,我们可以直接采用本地仓库恢复!结合本地版本管理功能,远程版本管理服务器出问题了,我们依然能继续写自己的代码,当他恢复的时候我们再提交我们的本地版本! Git研发初期是为了更好的管理Linux内核,不过现在已经广泛应用于各种项目中!


安装Git

如果你的系统是Linux的话,直接打开shell输入:

sudo apt-get install git

当然,大部分的系统估计都是Windows,这就需要我们到网上下载一个Git For Window了,可到下述网站下载: https://git-for-windows.github.io/ 点击 Download,跳转到 Github ,下载对应安装包即可!

点击后进入页面,下载如下文件即可

或者直接下载目前最新版2.7.0: v2.7.0.windows.1 接着傻瓜式的下一步就可以了~ 接下来你可以找到Git Gui然后开始玩Git,不过如果以后换到其他平台上,没有图形化界面你就寸步难行了! So,如果你有兴趣的话,我们来玩命令行,以后换了系统也能正常的玩Git!


玩转Git命令行

当然Git肯定是搭配着GitHub玩才够味的,不过先来学习一些本地的指令先把! 当你安装完Git后我们可以在任意位置右键,点击Git bash打开我们的Git命令行! 你可以可以点击Git Init Here直接在当前目录下创建一个代码仓库,又或者点击Git Gui打开Gui的图形操作页面!


1.创建代码仓库

Step 1:先配置下我们的身份吧,这样在提交代码的时候Git就可以知道是谁提交的,命令如下:

git config --global user.name "coder-pig"
git config --global user.email "[email protected]"

配置完成后,我们可以再次输入,不包括名称,可以看到我们已经配置成功了

Step 2:找个地方创建我们的代码仓库,然后我创建了一个新的项目:TestForGit,来到工程的目录下,右键,打开我们的Git Bash,键入下述指令完成代码仓库的建立!另外这个代码仓库其实是用来保存版本管理所需的一些信息,我们本地提交的代码都会提交到代码仓库中,于是乎我们可以选择还原到某个版本,当然,如果需要的话,我们还可以将保存在代码仓库中的代码推送那个到远程仓库中!比如GitHub!

git init

一个简单的代码,代码仓库就创建完毕了!继续输入:ls – al可以看到下目录下有个.git的文件夹就是他了!

也可以打开工程目录,同样看也看到.git文件夹;如果我们想删除代码仓库只需把这个文件夹删掉即可!


2.提交本地代码

创建完代码仓库,接下来说下如何提交代码,我们是先用add命令把要提交的内容都加进来,然后commit才是真的去执行提交操作!命令例子如下,你可以一次次慢慢添加,当然也可以全部提交,直接git add .即可完成! 我们现在工程目录下创建一个readme.txt的文件试试,随便写点东西,然后依次输入下述指令:

 git add readme.txt
 git commit -m "Wrote a readme file!먹튀검색"

输入命令试试:

当然如果你可以add多个文件后再一次性commit,不过如果我们改动的文件很多的话,我们可以git add .一次添加全部,但有一些是几百年都不变一次的又或者自动生成的,比如lib,gen,bin文件夹等等,我们可以在代码仓库的根目录下创建一个名为.gitignore的文件,然后编辑里面的内容,把不需提交的文件忽略掉!

接着输入要提交时忽略的文件内容即可!

那么我们git add .的时候,这里的文件就不会add,另外可能你会觉的commit后面写-m “xxx”很麻烦,想偷懒,但还是写上吧!输入的是本次提交的一些声明,比如自己修改了些什么!就好像写代码的时候,你偷懒不写注释,过几天你连自己写的什么鬼都不知道…


3.查看修改内容

好吧,前面我们用git add提交了整个项目到本地仓库,接下来我们改点东西,然后使用git status可以查看 修改的部分,比如,我们删掉MainActivity.java里的菜单的代码以及多余的菜单相关的包!

他就会提示我们哪些文件发生了改变,但是还没有提交,如果我们想看下具体更改了什么,我们可以用到git diff命令,另外,按Q可以退回命令行输入!


4.查看提交记录

当然随着我们项目的深入,Commit的次数也会越来越多,可能你早已忘记每次提交都修改了什么内容, 没事,Git帮你记着呢,使用git log即可查看历史提交信息!键入

git log

回车:

我们取其中一小部分来分析:

commit defd8af52be5183dfceb3e5cf23f78ea47d013b0
Author: coder-pig <[email protected]>
Date:   Fri Jun 19 17:00:36 2015 +0800
MainActivity Delete Menu

依次是:

  • 此次提交对应的版本号
  • 提交人:姓名 邮箱
  • 提交的时间
  • 提交版本修改的内容:就是我们commit -m “xxx”里的xxx

5.撤销未提交的修改

比如我们刚提交了一个版本,然后又乱七八糟地写了一堆东西,突然发现不小心误删了一些东西,然后ctrl + s保存了,这个时候是不是欲哭无泪,不过有Git,只需一个checkout命令即可撤销更改,当然是你还没add的情况,比如我们在MainActivity里随便添加一条语句,然后ctrl + s保存代码!

然后命令行键入:git diff:

嗯,这里可以看到我们改的内容,我们可以回去把这句代码删掉,但是如果改的有上千行你怎么改, 于是乎这个时候我们可以使用

git checkout src/com/jay/example/testforgit/MainActivity.java

然后会神奇的发现,我们新写的代码没了!duang一下就没了,不信你可以自己试试

当然,如果我们已经add了的话,那么checkout是没任何作用的,我们要先取消添加才可以撤回提交,使用下述指令:

git reset HEAD src/com/jay/example/testforgit/MainActivity.java
git checkout src/com/jay/example/testforgit/MainActivity.java

6.版本回退

第五点我们教了大家撤销未提交的修改,但加入提交了,我们想回退到之前的某一个版本怎么办? 第四点中我们可以通过git log查看我们的提交记录,我们需要从这里获取一个版本号, 一般我们只需要前七位字符就够了;另外在Git中,用HEAD代表当前版本,上一个版本就是HEAD^, 再上一个版本就是HEAD^^依次类推!我们先Git Log看下版本历史先!

我们回到前一个提交的版本吧,依次键入下述指令:

 git reset --hard HEAD
 git reset --hard HEAD^
 git log

这时看下我们的控制台:

可以看到我们已经回退到了前一个版本了,当然你可以直接这样写:

git reset --hard ad2080c

就是这么简单!回退后,你突然后悔了,想回退回新的那个版本, 可是遗憾的是,你键入git log却发现没有了最新的那个版本号,这怎么办呢… 没事,Git中给你提供了这颗”后悔药”,Git记录着你输入的每一条指令呢!键入:

git reflog

你会发现,版本号就在这里:

然后键入:

git reset --hard ad2080c

可以看到我们又回到了最新的那个版本了,就是这么溜!

7.本节小节

本节给大家介绍了项目管理工具Git来管理我们的本地仓库,学习了一些基本的命令行操作,相信会给你的项目开发带来便利,当然本地远远是不够的,下一节我们将学习如何将我们的项目托管到GitHub上!敬请期待~

1.4 Genymotion模拟器安装

1.本节引言

如果你符合下述三种情况的话,你可以考虑安装一个Genymotion Android模拟器:

  1. 没有真机调试,只能用模拟器
  2. 嫌SDK内置的AVD启动速度,运行速度慢
  3. 电脑配置还可以,最好4G内存以上

如果你满足上述三种情况的话,那么装个比真机还快的Genymotion吧! 官方给出的介绍: 


2.去哪里下Genymotion

百度”Genymotion”第一个就是了:Genymotion中文官网

스포츠중계 무료로 보는곳

3.下载Genymotion

点开上述链接后:点击注册  来到下述界面,如果已有账号,直接输入后sign in 如果没有的话,  点击Create account创建一个新的账户  然后我们会收到一个激活邮件:  打开邮箱,点击激活账号,然后过一会儿会收到另一封创建成功的邮件   登陆账号后,点击Get Genymotion:  选择Free版的下载,然后选择带virtual box虚拟机的下载  


4.安装Genymotion

都是傻瓜式的下一步 选择安装目录:  安装完后会弹出Oracle VM virtualBox的安装,这里可以选择路径,笔者直接默认安装了  安装过程中会时不时弹出安装一些设备的窗口,这是虚拟机在安装东西,不用理,都按安装:  好了,安装完成后,确认,将我们的Genymotion运行起来 


5.创建Android模拟器

①运行软件后会来到一个界面,因为是第一次使用,所以需要我们新建一个avd:  点击yes后会来到选择avd版本的界面,因为这上面什么设备都没有,我们需要连接到官网 获取各种版本的系统与硬件设备等,点击下方的connect,输入我们已经激活的账号密码: 邮箱与密码(笔者可能是网络问题,连续连了几次才成功的)  登录成功后就可以对对应的系统以及硬件设备进行选择了:  这里显示设备的相关信息,可以自定义模拟器的名称  设置完名称后,点击next,就会下载虚拟设备的相关程序以及对应官方的sdk  好了,avd已经创建完毕,接着把他运行起来,开机也只是十几秒的事,很赞!操作起来超流畅啊,有木有?


6.怎么在模拟器上运行程序

其实这个问题是白问的,我们只要在Eclpise上的Device就可以看到当前正在运行的模拟器; 感觉其实和真机是差不多的,我们只要运行程序时选择在哪个设备上运行即可!


7.可能遇到的问题

①不喜欢原生的系统,想用标准sdk中的系统版本

答:在下载设备驱动时其实已经下载好对应的sdk了,但是如果你不喜欢的话可以 打开setting–ADB–>选择Eclpise的sdk路径

②老登录不了?或者获取不了手机列表: 答:这个大部分的原因都是给墙了,所以只能科学上网了;不过貌似白天是可以的, 虽然有点慢,晚上的话笔者试了N次都是下载不了其他版本的设备!另外登录 不了要看下自己账号密码是否有错误哦!

③觉得模拟器占屏幕太大了 答:先把模拟器关了,点击扳手的图标

④运行程序,直接拖拉APK到模拟器上出现下述问题:

下载下面这个zip包,下载完毕后将它拖拽到模拟器窗口上,弹出对话框点击确定,接着重启下模拟器即可! Genymotion-ARM-Translation.zip

⑤因程序需要,要查看模拟器的sdk目录: 之前的话我们在Eclipse上是通过mmt/sdcard找到sd卡目录的; 但是genymotion却不是在这个路径下:而是在下面这个路径下: /mnt/shell/emulated/0/ 可以根据后面的Info慢慢找出来

8.本节小结

本节介绍了比真机还快的安卓模拟器——Genymotion的安装与使用,相信各位读者会爱上这个模拟器的, 谢谢~

1.3 SDK更新不了问题解决

1.3 SDK更新不了问题解决

分类 Android 基础入门教程

问题阐述

相信大家在更新SDK的时候都会遇到更新不了的问题,而且打不开Google搜索,这是因为天朝墙了Google,所以要么只能通过科学上网或者改HOSTS才能访问,更新SDK!本节来介绍两种更新SDK的方法!


1.修改hosts文件

直接百度”Google hosts 2015″就有一堆了,而笔者常用的是: google hosts 2015,持续更新-360知识库 进去后复制分割线下所有的内容:

复制内容

然后打开电脑上的这个路径:

hosts路径

用记事本打开,把复制的内容粘贴即可!

接着输入:https://www.google.com.hk/

出现:谷歌搜索表明修改Hosts成功

接着打开sdk设置下:

此处输入图片的描述

然后你会神奇的发现SDK可以更新了,而且你也能访问Google了,但是有点慢是吧,我们再介绍一个更新SDK的方法,速度快很多的!


2.使用国内镜像服务器更新

还记得前面给大家介绍一个Android开发必备的AndroidDevTools吗?打开这个网站,我们可以看到

接下来我们只要选择上面随意一个,然后打开我们的Android SDK Manager,然后做如下设置: Tools -> Option,填入镜像源的地址和端号,勾选Force https://使用Https协议

然后close,会到主界面,依次选择Packages -> Reload,就可以看到,刷刷刷进度条动了, 我们也可以选择对应版本的sdk进行下载了,而且速度还很快~

3.本节小结

本节给大家介绍了两种解决sdk更新不了的问题,改hosts的话是比较麻烦的,每隔几天就可能需要进行更新,如果仅仅是想更新sdk的话,建议使用国内镜像进行更新!

1.2.2 使用Android Studio开发Android APP

写在前面

本节将介绍如何使用Android Studio开发Android APP,和前面Eclipse + ADT + SDK搭建Android开发环境一样,本节也只是介绍一些基本东西,深入的,比如快捷键,小技巧等会再另一篇文章中详细地介绍!

1.下载Android Studio


官网下载:Android Studio for Window … 百度云下载:android-studio-bundle-141.1903250-windows.exe


2.安装Android Studio

傻瓜式的下一步而已,只列出需要注意的页面:


3.新建工程

安装完毕后,打开我们的Android Studio,第一次启动需要下载SDK等一些东西,时间比较长,笔者等了大概40分钟才下载完毕

选择第一项,新建一个Android项目

选择开发程序将运行在哪个平台上:

选择Activity的风格:

设置进入程序一个页面后的Activity的一些信息

Finish然后是漫长的等待~


4.IDE的界面分析

先看下整个界面吧:

接着看下我们的项目结构,而我们一般关心的只是app这个目录:


5.运行下程序试试

点击菜单栏的X,即可运行程序:

此处输入图片的描述

6.本节小结

Android Studio的用法还是比较简单的,当然笔者也是刚用Android Studio,后续还会写一篇更深入一点的文章,这里大家琢磨琢磨,暂时能跑起程序,知道在哪里写代码,怎么看Logcat就可以了!

1.2.1 使用Eclipse + ADT + SDK开发Android APP

1.前言

这里我们有两条路可以选,直接使用封装好的用于开发Android的ADT Bundle,或者自己进行配置 因为谷歌已经放弃了ADT的更新,官网上也取消的下载链接,这里提供谷歌放弃更新前最新版本的 ADT Bundle供大家下载!


2.直接使用打包好的Eclipse

32位版:adt-bundle-windows-x86-20140702.zip(百度网盘) 64位版:adt-bundle-windows-x86_64-20140702.zip(Google 地址) 下载解压,然后直接跳到4.来创建一个Helloworld工程!


3.自己配置Eclipse + ADT + SDK

Eclipse可自行到Eclipse官网下载:Eclipse官方下载 而SDK和ADT可以到AndroidDevTools处下载:AndroidDevTools官网 这里给我们提供了很多Android开发相关的工具,而且不用科学上网,必备开发网站!务必Mark! 不同版本配置间可能会有一些问题!笔者用的是旧版本的(很旧),又需要的也可以下载: Eclipse:eclipse-jee-helios-win32.zip ADT:ADT-15.0.0.zip SDK:android-sdk-windows.rar 搭建流程: 1.解压Eclipse:到解压的文件夹中找到eclipse.exe运行,运行后设置工程代码的存放位置(工作空间) 2.ADT配置:依次点击菜单栏:help -> Install new software -> Add -> Local… ->选中下载加压后的ADT的文件夹 ->accept -> 重启Eclipse ->看菜单栏是否出现Android小图标如果出现表示安装完成 PS:期间可能出现一个waring,直接忽视~ 3.SDK解压配置:依次点击菜单栏:windows -> Rreferences -> Android ->选中解压的SDK包 -> OK ->打开重新验证 4.创建AVD(安卓模拟器):依次点击菜单栏:手机小图标 -> New -> 选定系统版本 -> Skin屏幕分辨率 ->设置下SD卡大小 -> 完成 -> start即可! PS:第一次启动AVD的话可能很慢,需要等等~


4.第一个程序HelloWorld工程创建与运行

1.New -> Android App Project 如果找不到,可以去Other -> android找到,也是一样的:  2.然后依次输入工程信息: 新建工程填写的信息 3.运行创建好的程序  4.从模拟器上看到运行效果: 


5.项目的目录结构分析

先来看下我们的工程目录图: 工程目录结构 接下来我们需要知道的部分:

  • src目录:包含App所需的全部程序代码文件,我们大多数时候都是在这里编写我们的Java代码的
  • gen目录:只关注R.java文件,它是由ADT自动产生的,里面定义了一个R类,可以看作一个id(资源编号)的字典,包含了用户界面,图形,字符串等资源的id,而我们平时使用资源也是通过R文件来调用的,同时编译器也会看这个资源列表,没有用到的资源不会被编译进去,可以为App节省空间
  • assets目录:存放资源,而且不会再R.java文件下生成资源id,需要使用AssetsManager类进行访问
  • libs目录:存放一些jar包,比如v4,v7的兼容包,又或者是第三方的一些包
  • res资源目录:存放资源的,drawable:存放图片资源;layout:存放界面的布局文件,都是XML文件; values:包含使用XML格式的参数的描述文件,如string.xml字符串,color.xml颜色,style.xml风格样式等
  • AndroidManifest.xml配置文件:系统的控制文件,用于告诉Android系统App所包含的一些基本信息,比如组件,资源,以及需要的权限,以及兼容的最低版本的SDK等

6.几个常用的视图

点击菜单栏上的:Windows -> show view打开对应的视图即可:

打开常用视图

点击other,下述是Android中一些常用的视图:

常用视图

其实主要的还是Logcat的使用,因为和Java不同,我们的App运行在虚拟机上,而我们的控制台却并不会显示相关信息,只有安装状态而已,所以我们会在Logcat上查看程序运行的日志信息:

Logcat

7.本节小结

本节我们学习了使用Eclipse搭建我们的Android开发环境,懒人版和动手搭建版,两者都可以; 接着我们又介绍了下Eclipse开发Android项目的目录结构的一些信息,在下一节中我们将深入HelloWorld 스포츠중계工程,了解其中的代码!

1.2 开发环境搭建

现在主流的Android开发环境有: ①Eclipse + ADT + SDK ②Android Studio + SDK ③IntelliJ IDEA + SDK 现在国内大部分开发人员还是使用的Eclipse,而谷歌宣布不再更新ADT后,并且官网也去掉了集成Android开发环境的Eclipse下载链接,各种现象都表示开发者最后都终将过渡到Android Studio,当然这段过渡时间会很长,但如果你是刚学Android的话建议直接冲Android Studio着手;而且很多优秀的开源项目都是基于Android Studio!当然,在本教程中对两种开发环境都会进行一个介绍,用哪个取决与你自己~ 还有一个IntelliJ,和Android Studio差不多的,并不对此进行讲解!

1.JDK安装与配置

  • Step 1:下载JDK 可以到官网进行下载:Jdk官方下载 也可到笔者网盘下载:笔者网盘 PS:这个随便下一个都可以,关系不大,32位的只能下32位哦!
  • Step 2:JDK安装 傻瓜式的下一步即可!
  • Step 3:环境变量的配置 配置环境变量是为了方便我们一些命令行的操作,后续会用到! 右键我的电脑——>高级——>环境变量 Java环境变量配置1 新建JAVA_HOME 新建JAVA_HOME 修改PATH变量,别把原本的东西删掉!!!! 修改PATH变量 新建CLASSPATH 新建CLASSPATH 验证环境是否配置完成 打开电脑的cmd(命令行),win键 + R输入cmd,然后在命令行依次javac和java,出现如图效果表示配置完成: 此处输入图片的描述

2.开发工具二选一

一开始也说了开发环境IDE的现状,另外前面忘记说一点:Android Studio是比较吃配置的,如果电脑不怎么好,建议还是先使用Eclipse进行Android开发,下面先说下我们熟悉IDE开发APP的流程,按照下述流程来熟悉IDE的使用:

熟悉IDE开发APP的流程

然后下面两个选一个,开始我们的Android开发之路吧!

Eclipse + ADT + SDK: Android Studio + SDK:


3.相关术语的解析

  1. Dalvik: Android特有的虚拟机,和JVM不同,Dalvik虚拟机非常适合在移动终端上使用!
  2. AVD: (android virtual machine):安卓虚拟设备,就是安卓的模拟器
  3. ADT: (android development tools)安卓开发工具
  4. SDK:(software development kit)软件开发工具包,就是安卓系统,平台架构等的工具集合,如adb.exe
  5. DDMS:(dalvik debug monitor service)安卓调试工具
  6. adb:安卓调试桥,在sdk的platform-tools目录下,功能很多,命令行必备
  7. DX工具:将.class转换成.dex文件
  8. AAPT:(android asset packing tool),安卓资源打包工具
  9. R.java文件:由aapt工具根据App中的资源文件自动生成,可以理解为资源字典
  10. AndroidManifest.xml:app包名 + 组件声明 + 程序兼容的最低版本 + 所需权限等程序的配置文件

后续内容对于初学者的你可能有点难度,但后面回头,你会发现这些东西很有用~ 看不懂的话,可以先跳过

4.ADB命令行的一些指令

执行ADB指令之前我们还需要为我们的SDK配置一下环境变量 Step 1:新建一个ANDROID_HOME的环境变量,把sdk根目录地址贴上去: 此处输入图片的描述 Step 2:更新Path环境变量,在Paht开头加上:%ANDROID_HOME%\tools; 即可 配置完了,接下来就来学习指令了: 常用ADB指令


5.APP程序打包与安装的流程:

APP程序打包与安装的流程

6.APP的安装过程:

APP的安装过程

7.本节小结

本节我们对Android开发IDE的现状进行了分析,建议初学者硬件条件允许的话,使用Android Studio来进行Android APP的开发,讲述了JDK的安装与配置,以及熟悉IDE的流程,一些关键名称的解析,ADB命令行的常用指令,最后还有程序的打包安装和安装过程的解析!经过这章相信大家对Android开发有了个简单了解,了解开发一个程序的流程,以及对应的项目目录结构!相信大家会抱怨模拟器AVD跑得很慢,下节会给大家介绍一个比真机还快的Android模拟器——Genymotion的安装使用!

1.1 背景相关与系统架构分析

1.Android背景与当前的状况

Android系统是由Andy Rubin创建的,后来被Google收购了;最早的版本是:Android 1.1版本 而现在最新的版本是今年5.28,Google I/O大会上推出的Android M,有趣的是Android系统的命名都是以点心来命名的,下述表是15个Android版本名称,对应API号以及发布时间!

系统版本名称API版本号发布时间
Android 1.5:Cupcake:纸杯蛋糕32009.4.30
Android 1.6:Donut:甜甜圈42009.9.15
Android 2.0/2.0.1/2.1:Eclair:松饼5/6/72009.10.26
Android 2.2/2.2.1:Froyo:冻酸奶82010.5.20
Android 2.3:Gingerbread:姜饼92010.12.7
Android 3.0:Honeycomb:蜂巢112011.2.2
Android 3.1:Honeycomb:蜂巢122011.5.11
Android 3.2:Honeycomb:蜂巢132011.7.13
Android 4.0:Ice Cream Sandwich:冰激凌三文治142011.10.19
Android 4.1:Jelly Bean:果冻豆162012.6.28
Android 4.2:Jelly Bean:果冻豆172012.10.30
Android 4.3:Jelly Bean:果冻豆182013.7.25
Android 4.4:KitKat:奇巧巧克力192013.11.01
Android 5.0:Lollipop:棒棒糖212014.10.16
Android M:预览版222015.5.28

好了,除了上面这些公共版本外,当然还有一些其他的版本,截止2015.1,各个版本的市场份额如下:


Android系统份额分布图(截止2015年1月)

看完上面的信息,我们可能有这样的一个疑问: 那么多的系统版本,我们开发的时候要针对哪个版本进行开发? 这就是作为一个Android必须面对的Android的”碎片化”问题了,而这个问题又分为两个: ①系统碎片化:我们开发App时可能需要做到低版本兼容,比如,最低兼容至2.3版本;由于各种Rom定制的盛行,国人都喜欢对原生系统做一些更改,这导致了在原生系统上可行,而在定制Rom上不可行的问题,比如相机调用~ ②屏幕碎片化:市面上各种各样屏幕尺寸的手机,4.3寸,4.5寸,4.7寸,5.0寸,5.3寸…等等,除了手机外,还有Android平板,所以开发时我们可能要处理这个屏幕适配的问题,当然,刚学我们并不需要去考虑这些复杂的东西,后续实际开发我们再来深究!

2.Android系统特性与平台架构

系统特性:

  • 应用程序框架支持组件的重用与替换(app发布时遵守了框架的约定,其他app也可以使用该模块)
  • Dalvik虚拟机:专门为移动设备优化 -集成的浏览器:开源的WebKit引擎
  • SQLite结构化的数据存储
  • 优化的图形库,多媒体支持,GSM电话技术,蓝牙等
  • 采用软件叠层方式构建

平台架构图:

Android平台架构图

架构的简单理解:

  1. Application(应用程序层) 我们一般说的应用层的开发就是在这个层次上进行的,当然包括了系统内置的一组应用程序,使用的是Java语言
  2. Application Framework(应用程序框架层) 无论系统内置或者我们自己编写的App,都需要使用到这层,比如我们想弄来电黑名单,自动挂断电话,我们就需要用到电话管理(TelephonyManager) 通过该层我们就可以很轻松的实现挂断操作,而不需要关心底层实现
  3. Libraries(库) + Android Runtime(Android运行时) Android给我们提供了一组C/C++库,为平台的不同组件所使用,比如媒体框架;而Android Runtime则由Android核心库集 + Dalvik虚拟机构成,Dalvik虚拟机是针对移动设备的虚拟机,它的特点:不需要很快的CPU计算速度和大量的内存空间;而每个App都单独地运行在单独的Dalvik虚拟机内每个app对于一条Dalvik进程)而他的简单运行流程如: Dalvik的运行流程
  4. Linux内核 这里就是涉及底层驱动的东西了,一些系统服务,比如安全性,内存管理以及进程管理等

3.本节小结:

本节对Android的历史背景以及现状进行了了解,然后简单分析了Android的系统特性以及系统架构,这些概念性的东西,我们了解了解即可,而下一节我们将开始Android环境的搭建!

1.0 Android基础入门教程

1.0 Android基础入门教程

分类 Android 基础入门教程

本教程于2015年7月开始撰写,耗时半年,总共148节,涵盖了Android基础入门的大部分知识,由于当时能力局限,虽已竭尽全力,但对于一些问题的分析难免有所纰漏,敬请读者海涵!IT技术更新换代很快,想想2015年还是Android 5.1横行,如今到了2018年都已经Android 8.0了,开发工具Android Studio也更新到了Android Studio 3.0.1。本系列的教程可能有些地方已经过时了,比如6.0以后的动态权限申请。一个人的力量是有限的,而且也有自己的工作忙,不可能去另外整一个大更新,今天写的,可能过几个月就过时了,这是IT界的常态,所以还是得自己学会主动去获取知识的能力,提供几个常备的知识获取站点吧,平时闲着没事可以自己上去获取知识:

当然除此之外还有很多,更多可见: https://github.com/coder-pig/Android-Storage-Box但是切记一点,你是按需学习,而不是一个收破烂的,收藏一堆链接,收藏了你就会了,其实收集得越多,你会越浮躁!

附本系列教程的思维导图:

完整思维导图 PDF