一 SL4A简介

来源:互联网 发布:帝国cms差 编辑:程序博客网 时间:2024/06/05 03:03

一  SL4A 简介

这个系列主要是根据读《Pro Android Python With SL4A》自己整理的相关知识的重点,以便以后查看使用。

1、为什么选择SL4A?

这是 一个很直接的问题,Android主要用Java语言,为什么要费这么多劲搞个SL4A?主要有以下几个原因

  • JAVA相对于Python等语言来说,算是重量级的语言,干什么活都用Java有点大材小用。
  • JAVA不是完全开源的
  • JAVA开发的工具也需要编译、运行,对于 一些简单的操作来说有点复杂

当然,不用JAVA进行Android开发一个最主要的原因是“不想用”--这个解释我喜欢,比较嚣张

SL4A主要想寻找一种简单方式,来实现Android的任务自动化。

2、Android的世界

自从2005年Google购买了Android以来,移动互联网飞速发展。Android的应用都打包为.apk文件。实际上把.apk文件重新命名为.zip文件,然后找个解压程序照样可以打开。

SL4A不需要root android设备,但是如果已经root了也没关系

3、Android体系结构


Android是基于Linux的。Linux提供了核心管道比如设备驱动、内存管理、网络管理等。这是Android的最底层。往上是Dalvik Virtual Machine(DVM)虚拟机。

我们知道运行JAVA需要两样东西一个是JDK或者JRE另外一样是虚拟机。如果类比的话Core Libraries部分相当于JDK,DVM是运行JAVA的虚拟机。Libraries部分提供了一些常用的库文件。再往上是Android Framework用Java实现各种功能主要根据这个框架来。Android主要有4个组件:Activities,Services,Receivers和Intents.

Activities

Activity就是我们应用程序的界面,主要用来跟我们的用户进行交互的,比如一个文本框,按钮这些就是显示在Activity上的,并且可以接收数据,传递数据到后台,然后再显示出来。Android应用是由一个或者多个Activities组成的。并且每个应用都有一个主Activity.

Intents

Intents可以理解为应用程序间或者应用程序内部通信的媒介。http://liangruijun.blog.51cto.com/3061169/634411

这篇博客对Intents的解释感觉不错

4、SL4A的历史

SL4A最初是在2009年在Google的开源博客上出现的,最初叫Android Scripting Environment(ASE)。现在这个项目托管到github. https://github.com/damonkohler/sl4a这是网址。

5、SL4A的体系结构

SL4A就像一个包含各种脚本解释器的宿主,通过看github的源代码我们就可以看出来。SL4A必须引入一个外部的文件对于Python来说就是android.py文件,这个文件定义了一系列的和Android API进行通信的代理。SL4A和底层的Android 操作系统主要通过RPC和JSON来进行通信。PRC(Remote Procedure Call)主要是用来进行分布式体系结构的通信,在这里SL4A作为clinet,Android OS 作为Server。这样做的主要目的是为了防止任何恶意的脚本入侵,为了安全。

原创粉丝点击