.Net码农学Android---系统架构和基本概念

原文:.Net码农学Android---系统架构和基本概念

至此,你应该已经完成以下前期准备事情:

1.安装完JDK

2.安装完SDK(并在Manager中进行相关版本的更新)

3.相关IDE(如eclipse)

4.安装完ADT

5.安装完AVD(如果你是真机模拟的话也可以不安装)

前期环境搭建基本完成,并按照网上的教程可以运行出HelloWorld,确保可以流程走的通。

所谓会当凌绝顶,一览众山小。我学习新东西时总会从系统或全局的角度对它进行一个总览,这样才能从更高的角度去把握它,而且你对接下来的学习也会有一个系统的认知会让之后的学习更有条理和针对性。

 

一.接下来就是要介绍一下Android的基本系统架构了

在最外的是负责直接和用户交互的应用层,就是通常意义上我们看得见、可以下载的应用,浏览器、游戏、音乐播放器等等。

紧接着是应用的框架层,在我们开发应用时会经常调用,比如ActivityManager,ViewSystem等等,会面会介绍。

再接这就到了运行机制的JVM层了,你可以看到它不但包含了一个Runtime,而且还有一些相关的类库。

最低层是基于Linux的内核,包含了一些硬件的驱动,主要负责和硬件进行交互,比如你可以在你的应用中调用照相机,Wifi接口等都是很方便的。

 

 

二.工程组织和结构

接下来我们右键new一个AndroidApplication项目,如果找不到的话在new选项里最下面的others中如下:

一路next,建好后如下:

 

 

 

三.来认识一下各个文件夹都是干什么的

src:存放你的源码,比如.java文件,可以理解为vs中的类库.cs文件之类的。

gen:系统生成的东西,不要去改动,展开后如下:,这里的R文件会经常用到,里面都是存放的一些类似注册的全局ID(后面会介绍)。

GoogleApis:就是要到的一些SDK中谷歌的接口。

AndroidPrivateLibarares:安卓的一些类库。

AndroidDependencies:安卓的一些依赖库。

assets:存放你项目中的“大”资源文件,比如图片、视频、媒体等,所谓“大”只因为在Android项目中还有一个资源文件夹res主要存放一些字体、文字、颜色等的“小”资源。

bin:这个不用说了吧。

libs:类似vs中的dll引用。

res:主要存放一些字体、文字、颜色等的“小”资源。展开如下:

主要会用到layout和values,(其他的可能也会大量用到,只不过自己也还在摸索中)

layout:用来存放布局文件

values:用来存放文字,颜色等,kv值(这里有一点需要注意,在Android开发中,为了保持项目的灵活性和避免硬编码,它会建议你把要用到的kv值存到一个文件里,在用到的地方直接引用,这就是为什么要有values文件夹的原因了)。

AndroidManifest.xml:这个文件很重要,是用来保存整个程序的相关配置的一个清单,比如项目名,版本号、启动activity、权限说明等。

 

 

三.认识完工程结构后,我们来了解几个基本概念。

因为以前在学校学过java(虽然已经忘记的差不多了),所以自己还算有些基础,对一些基本的语法和使用还是有些了解的,如果你对java一无所知,我建议你先花一两个小时看看基本的语法,比如怎么继承,怎么实现接口,相信我作为一名c#的程序员,你可能只需要10分钟就可以搞定了,因为你会发现它和c#是多么惊人的相似!

好了,到这我们才真正开始!

作为一个对移动应用开发倍感神秘的初学者来说,我只想知道,我应该怎么开始,它到底是怎么实现并显示在手机上的。

我们打开layout文件夹中的activity_main.xml,看到了吧,是不是似曾相识(控件+布局+代码)

这个就是程序的启动页,类似于main方法 ,就是入口,当然你也可以自己设置其他的入口页。

 

几个概念:

1.Activity:这个是最常用到的一个概念,你可以把它理解为当前活动得屏幕,就是呈现在手机上的一个页,联想web页。

这是Activity的生命周期

Activity的可视生命周期为OnStart()开始直到OnStop()结束(可能会看不见内容,但会保留相关资源)

Activity的前台生命周期为OnStart()开始直到OnStop()结束(在最前面和用户进行交互)

2.包名:java中的“包名”类似我们c#中的命名空间,一个“包”就是一个dll引用文件。不过我觉得eclipse中有一点做得很好,即你在用到一个方法或类时不用再顶部import它好像会自动的帮你完成,vs中好像还得手敲一下。

java中要确保包名唯一所以一般用公司域名的反写来命名比如com.letchoice.HelloWorld。

 

 

三.几个快捷键和相关设置

1.格式化代码:ctrl+shift+F(有代码洁癖同学首选)

2.在你格式化xml文档的时候可能会有些问题,如下设置即可

3.对于用惯了vs的你来说,可能已经适应了vs的智能提示功能,在eclipse中这点可能做得没有vs好,你只有在输入“.”之后才能出现提示,如果你想让它像vs中一样随时智能提示和补全代码的话,你可以window—>preference打开设置面板如下

将标识的地方的”.”改成“abcdefghijklmnopqrstuvwxyz.”保存就ok了。

4.Xml代码提示和补全功能设置如下:

即将图中标识地方改成"<=:abcdefghigklmnopqrstuvwxyz@ "即可。

 

自己对于Android开发和java的使用还都处于摸索当中,难免出现疏漏和错误,还望大家多多批评指正,和你们共勉!

时间: 2024-08-17 14:57:11

.Net码农学Android---系统架构和基本概念的相关文章

Android零基础入门第2节:Android 系统架构和应用组件那些事

原文:Android零基础入门第2节:Android 系统架构和应用组件那些事  继上一期浅谈了Android的前世今生,这一期一起来大致回顾一下Android 系统架构和应用组件.   一.Android 系统架构 Android系统的底层建立在Linux系统之上,该平台由操作系统.中间件.用户界面和应用软件4层组成,它采用一种被称为软件叠层(Software Stack)的方式进行构建.这种软件叠层结构使得层与层之间相互分离,明确各层的分工.这种分工保证了层与层之间的低耦合,当下层的层内或层

《Android 网络开发与应用实战详解》——2.3节Android系统架构

2.3 Android系统架构 Android 网络开发与应用实战详解 在本节内容中,将进一步分解Android应用程序,详细剖析Android应用程序的核心构成部分,为读者学习本书后面知识打下基础. 2.3.1 Android体系结构介绍 Android作为一个移动设备的平台,其软件层次结构包括操作系统(OS).中间件(MiddleWare)和应用程序(Application).根据Android的软件框图,其软件层次结构自下而上分为以下4层. (1)操作系统层(OS). (2)各种库(Lib

《深入理解Android:Telephony原理剖析与最佳实践》一1.2 Android系统架构

1.2 Android系统架构 前面学习了智能手机的基本硬件结构,可以通过功能手机与智能手机的特点和区别从本质上认识它们.Android智能手机操作系统作为运行在AP上的开源智能手机操作系统,其系统架构是什么样的呢?我们先看看图1-2. 通过图1-2不难发现,Android手机操作系统是一个基于Linux Kernel的分层智能手机操作系统,其共分为4层,从上到下分别是Java Applications(应用层).Java Frameworks(应用框架层).User Libraries(系统运

Android App的运行环境及Android系统架构概览_Android

Android基于linux内核,面向移动终端的操作系统.主要包括以下几个方面: Application Framework:这一层为应用开发者提供了丰富的应用编程接口,如 Activity Manager,Content Provider,Notification Manager,以及各种窗口 Widget 资源等.所有的APP都是运行在这一层之上.Dalvik 虚拟机:Dalvik VM采用寄存器架构,而不是JVM的栈架构,更适于移动设备.java源代码经过编译成为.class字节码文件,然

《Android Studio应用开发实战详解》——第1章,第1.3节Android系统架构

1.3 Android系统架构Android系统是一个移动设备的开发平台,其软件层次结构包括操作系统(OS).中间件(Middle Ware)和应用程序(Application).根据Android的软件框图,其软件层次结构自下而上依次分为以下4层. (1)操作系统层(OS). (2)各种库(Libraries)和Android运行环境(RunTime). (3)应用程序框架(Application Framework). (4)应用程序(Application). 上述各个层的具体结构如图1-

Android App的运行环境及Android系统架构概览

Android基于linux内核,面向移动终端的操作系统.主要包括以下几个方面: Application Framework: 这一层为应用开发者提供了丰富的应用编程接口,如 Activity Manager,Content Provider,Notification Manager,以及各种窗口 Widget 资源等.所有的APP都是运行在这一层之上. Dalvik 虚拟机: Dalvik VM采用寄存器架构,而不是JVM的栈架构,更适于移动设备.java源代码经过编译成为.class字节码文

Android系统架构基本模式解析

如今,大家面对市场中种类繁多的手机必然挑的眼花缭乱.不过,在智能手机占据主要地位的今天,挑选手机的主要因素就是挑选一款性能高的手机操作系统,Android就是其中的一个必然选择.Android系统架构和其操作系统一样,采用了分层的架构.Android分为四个层,从高层到低层分别是应用程序层.应用程序框架层.系统运行库层和linux核心层. Android系统架构之应用程序 Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系

android-有哪些关于Android系统架构,底层实现方面的技术书推荐?

问题描述 有哪些关于Android系统架构,底层实现方面的技术书推荐? 有哪些关于Android系统架构,底层实现方面的技术书推荐? 解决方案 Learning Android (中文版)第二版 解决方案二: 推荐你看老罗的博客和书博客:老罗的Android之旅 解决方案三: 如果是想了解android frameworks开发,你可以看看<Sundy--Android嵌入式底层开发课程共享版> 解决方案四: 我也有这个需求啊..来看看大家的分享~同求推荐

《精通移动App测试实战:技术、工具和案例》一1.2 Android系统架构

1.2 Android系统架构 从图1-1中我们不难发现Android的系统架构采用了分层的架构,分为4个层,从高层到低层分别是应用程序层.应用程序框架层.系统运行库层和Linux内核层.那么它们每层都是用来做什么的呢? 1.应用程序层 应用层是用Java语言编写的运行在Android平台上的程序,比如一些手机游戏和基于手机端的应用等,如图1-1所示,最上面的Applications层. 2.应用程序框架层 应用程序框架层是编写Google发布的核心应用时所使用的API框架,开发人员可以使用这些