2。3 Android架构
Android在Linux内核上搭载了Java虚拟机,这使得其应用程序可以用Java语言编写,同时,Android也有一定的层次结构,如图2-1所示。从大体上看,Android有四层结构,分别是Applications、应用框架、库、内核[5]。
图2-1:Android架构图
(1)应用程序层
Android最上层的应用层包含了很多东西,例如,SMS、Browser、日历等等。它们都是用Java开发的,所有操作都需要继承活动(Activity)类,达到界面的随意切换。
(2)应用程序框架层
应用开发者可以开发出五花八门的各种应用,都是因为Android具有开放性。开发者在原有的平台包括,底层硬件、地理信息、后台的服务等之上,可以增加自己的应用功能。
任何一个App都希望开发时组件可以很简单,这样可以达到每一个应用可以随便移植,所以开发者能够利用Android自己的APIs。APIs包括视图、内容提供者、通知栏和资源管理器等等。
(3)系统运行库论文网
a。程序库
Android之所以可以用Java编写代码,就是因为其系统有C家族的库。应用开发者使用到的图形处理、搜素、数据库以及其他多媒体功能,都是用C/C++开发的。
b。Android运行库
Java主要的很多功能都在Android核心的库里面。在安卓平台运行的任意程序都有自己的虚拟机,虚拟机可以并发执行。虚拟机的执行文件也做了优化处理,并且程序一般现有Java编译,接着就是由SDK里的工具转化为。dex的格式让Dalvik运行。Dalvik的线程处理和内存处理都是和Linux相关的。
(4)Linux内核
Android的很多服务都是由Linux提供的,一般的安全管理、数据存储、程序执行的处理、驱动等等。同时,它也屏蔽了平台底层硬件的一些细节,让开发者不用关心麻烦的硬件问题。
2。4 Python Web Framework Django
Python作为动态语言,拥有着与编译语言相比更快的编译速度,因而比较适合小型应用的快速迭代开发。为了高效验证完成的功能,因而就需要借助一个同样的Web Framework,要求它能够在稳定性、扩展性和快速开发之间取得平衡,而Django就是其中的佼佼者。
Django采用了MTV模式进行开发,MTV分别代表Model、Template、View三部分,通过MTV模式的开发,可以将原本混杂在一起的逻辑分散到不同的地方去,并使得他们能够相互独立解耦,这种模式不仅能够帮助我们快速地进行开发,也有利于通过单元测试的方式,加快验证。
表2-1 MTV模式表
层次 职责
模型(Model),即数据存取层 处理和数据有关的所有事务:怎样存取、怎样验证有效性、包含哪些行为以及数据之间的关系等。
模板(Template),即表现层 处理与表现相关的决定:怎样在页面或者其他类型的文档中进行显示。
视图(View),即业务逻辑层 存取模型以及调取恰当模板的相关逻辑。模型与模板之间的桥梁。
Django对路由做了强大的支持,只需要通过在Urls。py注入连接的方式即可完成对不同URL跳转的支持,而且路由的匹配规则通过正则表达式来完成,极大地丰富了表达性,有利于一些特殊规则的实现。Django对多种数据库都进行了支持,从关系型数据库到MySQL数据库,通过统一的数据库引擎来屏蔽不同数据库之间的差异,非常有利于开发。在新闻系统中采用了MySQL数据库,如果日后想切换成MongoDB,只需要切换相应的引擎就可以,没有额外的附加程序。
2。5本章小结