导入Java类对象
ClassObject plus.android.importClass( String classname );
说明:
导入类对象后,就可以通过.操作符直接调用对象(类对象/实例对象)的方法。 注意:导入类对象将会消耗较多的系统资源,通常不应该导入过多的类对象,可以使用plus.android.invoke()来调用未导入类实例对象的方法。
参数:
- classname: ( String | InstanceObject ) 必选 要导入的Java类名或者实例对象,使用”.”分割命名空间
在类名中可以使用”*”来导入指定命名空间下的所有类对象; 如果指定的类名无效,则导入类对象失败。
返回值:
ClassObject : Java类对象,如果导入类对象失败则返回null。
- function printSocket(str, ip, port) {
- if (plus.os.name == “Android”) {
- plus.nativeUI.showWaiting(“正在打印中。。。”);
- var Socket = plus.android.importClass(“java.net.Socket”);
- var socket;
- var outputStream;
- //解决高低版本兼容
- var StrictMode = plus.android.importClass(“android.os.StrictMode”);
- var Build = plus.android.importClass(“android.os.Build”);
- if (Build.VERSION.SDK_INT > 9) {
- var policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
- StrictMode.setThreadPolicy(policy);
- }
- try {
- socket = new Socket(ip, port);
- socket.setKeepAlive(true);
- outputStream = socket.getOutputStream();
- plus.android.importClass(outputStream);
- var bytes = plus.android.invoke(str, ‘getBytes’, ‘gbk’);
- outputStream.write(bytes);
- outputStream.flush();
- socket.shutdownOutput();
- plus.nativeUI.closeWaiting();
- } catch(e) {
- mui.toast(“网络连接超时,请重新连接!”)
- //TODO handle the exception
- plus.nativeUI.closeWaiting();
- }
- }
- }
本文链接地址: dcloud HTML5+ 打印