# android

Native.js for Android封装一条通过JS语法直接调用Native Java接口通道，通过plus.android可调用几乎所有的系统API。

## 方法：

- currentWebview: 获取当前Webview窗口对象的native层实例对象
- newObject: 创建实例对象
- getAttribute: 获取对象（类对象/实例对象）的属性值
- setAttribute: 设置对象（类对象/实例对象）的属性值
- implements: 实现Interface的方法
- importClass: 导入Java类对象
- invoke: 调用对象（类对象/实例对象）的方法
- requestPermissions: 请求权限
- runtimeMainActivity: 获取应用主Activity实例对象
- autoCollection: 自动回收对象

## 对象：

- ClassObject: Java类对象
- InstanceObject: Java实例对象

## 回调方法：

- AndroidSuccessCallback: 成功回调函数
- AndroidErrorCallback: 错误回调函数

## 权限：

5+功能模块（permissions）

    {
    // ...
    "permissions":{
    	// ...
    	"Invocation": {
    		"description": "Native.js"
    	}
    }
    }

# ClassObject

Java类对象

    interface ClassObject {
    	// ...
    	function Object plusGetAttribute( String name );
    	function Object plusSetAttribute( String name, Object value );
    	// ...
    }

## 说明：

Java类对象，可通过其属性获取类的常量，可通过方法来操作类的静态变量和方法，也通过new方法来创建类的实例对象。 对于类的常量，则直接通过.后面跟随常量名称调用即可。

## 方法：

- plusGetAttribute: 获取Java类对象的静态属性
- plusSetAttribute: 设置Java类对象的静态属性

# InstanceObject

Java实例对象

    interface InstanceObject {
    	// ...
    	function Object plusGetAttribute( String name );
    	function Object plusSetAttribute( String name, Object value );
    	// ...
    }

## 说明：

Java实例对象，可通过其方法来操作实例的变量和方法。 注意：必须通过plusGetAttribute()方法读取实例对象的属性值，通过plusSetAttribute()方法设置实例对象的属性值。

## 方法：

- plusGetAttribute: 获取Java实例对象的属性
- plusSetAttribute: 设置Java实例对象的属性

# AndroidSuccessCallback

成功回调函数

    void onSuccess(event){
    }

## 说明：

不同接口触发的成功回调参数event包含的属性存在差异，具体参考对应的接口描述说明。

## 参数：

- event: ( json ) 必选 回调参数
  回调参数包含的属性由调用接口决定，具体参考对应的接口描述说明。

## 返回值：

void : 无

# AndroidErrorCallback

错误回调函数

    function void onError(Exception error){
    	// Handle error
    	var code = error.code; // 错误编码
    	var message = error.message; // 错误描述信息
    }

## 参数：

- error: ( Exception ) 必选 获取加速度操作的错误信息
  可通过error.code（Number类型）获取错误编码； 可通过error.message（String类型）获取错误描述信息。

## 返回值：

void : 无