.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代码提示和补全功能设置如下:

即将图中标识地方改成"<=:[email protected] "即可。

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

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

时间: 2024-12-09 16:17:43

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

Android系统架构的简单描述

架构图如下: 1)英文版: 2)中文版: 由图可知:Android 系统架构从下到上分为 Linux内核层.中间件. 应用程序框架层和应用程序层. 1.Linux kernel 负责硬件的驱动程序.网络.电源.系统安全以及内存管理等功能. 2.中间件:核心库和运行时(libraries & Android runtime) 1)核心库 即c/c++函数库部分,大多数都是开放源代码的函数库,例如webkit(引擎),该函数库负责 android网页浏览器的运行,例如 标准的 c 函数库libc.o

4412开发板Android系统架构

本文转自迅为开发板手册:http://www.topeetboard.com 1. 架构图直观 下面这张图展示了Android系统的主要组成部分: 可以很明显看出,Android系统架构由5部 分组成,分别是:Linux Kernel.Android Runtime.Libraries.Application Framework.Applications.第二部分将详细介绍这5个部分. 2.架构详解 现在我们拿起手术刀来剖析各个部分.其实这部分SDK文档已经帮我们做得很好了,我们要做的就是拿来主

iOS和android系统架构对比

iOS和android系统架构对比 iOS是基于UNIX的,直接与底层硬件通信.系统底层.应用框架.应用软件都是采用C/C++或者Objective-C写成的,所以有很高的运行效率. android是基于Linux内核设计,在Linux内核上运行一个Java虚拟机,虚拟机再运行软件.就好似在一个系统上又套了一个系统,以此内存消耗大,运行效率的.

Android技术19:Android系统架构

Android系统架构是学习Android最基本的知识点,经常在技术面试过程中涉及到有关问题,接下来对Android系统架构进行总结. Android官方文档提供资料显示:Android系统分为4个层次,从低到高依次为Linux kernel(Linux内核层),Libraries和Android运行时Runtime,Android Framework,Applications. 1.Applications应用层 该层主要是运行在Andorid系统上的应用程序,如Home,SMS,Contac

Google工程师解析Android系统架构

导读:Sans Serif是Google的一位工程师,近日发布了一篇博文非常清楚的描述了Android系统架构,中国移动通信研究院院长黄晓庆在新浪微博上推荐了该文,并认为文中对Android的介绍很好,如下是CSDN对文章的简单编译: Andriod是什么? 首先,就像Android开源和兼容性技术负责人Dan Morrill在Android开发手册兼容性部分所解释的,"Android并不是传统的Linux风格的一个规范或分发版本,也不是一系列可重用的组件集成,Android是一个用于连接设备的

【Android系统】Android系统架构简介

概述 Android系统架构如下图: 从上往下一共是四层: 应用程序层.应用程序框架层.函数库与Android运行时层.Linux内核层. 下面分别介绍各层: 分层介绍 应用程序层 包含系列的Android核心应用程序,大部分的Android应用也属于这一层,如日历.闹钟.浏览器等.这一层属于用户. 应用程序框架层 这一层就是普通开发者需掌握的层,我们使用框架里的各个模块来开发应用,这些模块和各种服务都可以复用.理解了这一层,开发者就能更快更好的开发应用.下面介绍一下各个模块: 序号 模块名 用

Android系统架构和平台优劣

(图片来源于网络) Android系统架构采用了分层架构的思想,如上图所示.从上往下一共包括四层: 1.应用程序层 该层提供一些核心应用程序包,例如电子邮件.短信.日历.地图.浏览器和联系人管理等.同时,开发者可以利用java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等.友好共处. 2.应用框架层 该层是Android应用开发的基础,开发人员大部分情况是在和他打交道.应用程序框架层包括活动管理器.窗口管理器.内容提供者.视图系统.包管理器.电话管理器.资源管理器.位置管

iOS vs Android 系统架构

iOS是基于UNIX内核,Android是基于Linux内核,iOS和android作为两款优秀的手机操作系统,他们有共性有区别. iOS的系统架构 分为四个层次: 核心操作系统层(Core OS layer) 核心服务层(Core Services layer) 媒体层(Media layer) 可触摸层(Cocoa Touch layer) 如下如所示: iOS系统架构解析: 1.Core OS是位于iOS系统架构最下面的一层是核心操作系统层,它包括内存管理.文件系统.电源管理以及一些其他的

(1)-Android学习笔记之:初识Android系统架构和项目结构

Android系统架构 Android程序结构 创建一个Android项目,为初学便于理解,将程序项目结构切换为Project模式,项目结构如下 .gradle和.idea:这两个目录下放的都是Android Studio自动生成的文件,无需我们关心,也不需要手动编辑. app:项目中的代码.资源等内容几乎都放在这个目录下,开发工作基本在这个目录下进行. libs:如果项目引用了第三方jar包,就需要吧这些jar包放在libs目录下,此目录下的jar包都会自动添加到构建目录中. androidT