怎样6splus照片怎么才能动引入plus.android的对象

红米手机 &
电视盒子 &
智能硬件 &
发烧级手机控
扫码下载App一键签到 升级加速
5splus怎么才能支持Android Auto.
扫一扫!手机看帖更爽
连汽车用的,翻墙过安装后向还连不了机
扫描二维码,手机查看本帖
京ICP证110507号 京ICP备号后使用快捷导航没有帐号?
平板/笔记本
云服务专区
g7plus能升级安卓7.0吗
&登堂入室&
来自:华为G7 plus RIO-UL00
g7plus能升级安卓7.0吗,什么时候能升
width:100%">
&炉火纯青&
来自:华为G7 plus RIO-UL00
虽然你长的丑,但是你想的美
width:100%">
&登堂入室&
来自:浏览器
额,表示移动定制版还停留在5.1
width:100%">
&炉火纯青&
来自:华为G7 plus RIO-UL00
能是能,但也要等到华为荣耀的旗舰机升完才会到我们
width:100%">
&登堂入室&
来自:华为G7 plus RIO-UL00
也就这样了ui4.1估计都上不去了
width:100%">
世界还小,陪你去到天涯海角门源油菜花有人说:经验+反思=成长荣耀X2
忆海情青海湖油菜花海台风来临
花粉客户端
Make it Possible
Make your device special
华为云服务
Huawei cloud services
音乐播放器
Huawei Music
Huawei Vmall
没有最新动态
关注花粉俱乐部
联系我们:
|关注花粉俱乐部:
Copyright (C)
华为软件技术有限公司 版权所有 保留一切权利2718人阅读
HTML5+(25)
Native.js(3)
& &Native.js for Android封装一条通过JS语法直接调用Native Java接口通道,通过plus.android可调用几乎所有的系统API。
1.1、importClass: 导入Java类对象
&&&&&&&&&ClassObject plus.android.importClass( String classname );
说明:导入类对象后,就可以通过.操作符直接调用对象(类对象/实例对象)的方法。 注意:导入类对象将会消耗较多的系统资源,通常不应该导入过多的类对象,可以使用plus.android.invoke()来调用未导入类实例对象的方法。
参数:classname: ( String | InstanceObject ) 必选 要导入的Java类名或者实例对象,使用&.&分割命名空间。在类名中可以使用&*&来导入指定命名空间下的所有类对象; 如果指定的类名无效,则导入类对象失败。
返回值:ClassObject : Java类对象,如果导入类对象失败则返回null。
&!DOCTYPE html&
&meta charset=&utf-8&/&
&meta name=&viewport& content=&initial-scale=1.0, maximum-scale=1.0, user-scalable=no&/&
&title&Android Native.js&/title&
&script type=&text/javascript&&
// 监听plusready事件
document.addEventListener( &plusready&, function(){
// 扩展API加载完毕,现在可以正常调用扩展API
// 导入android.content.Intent类对象
var Intent = plus.android.importClass(&android.content.Intent&);
// 导入后可以使用new方法创建类的实例对象
var intent=new Intent();
}, false );
1.2、newObject: 创建实例对象
&&&&&&&&void plus.android.newObject( String classname, Object..args );
classname: ( String ) 必选 要创建实例对象的类名,使用&.&分割命名空间。如果指定的类名不存在,则创建对象失败,不会抛出异常。
args: ( Object ) 可选 创建实例对象的构造参数。如果指定的构造参数类型不区配,则创建对象失败,不会抛出异常。
返回值:InstanceObject : Android实例对象,如果创建对象失败则返回null。
&!DOCTYPE html&
&meta charset=&utf-8&/&
&meta name=&viewport& content=&initial-scale=1.0, maximum-scale=1.0, user-scalable=no&/&
&title&Android Native.js&/title&
&script type=&text/javascript&&
// 监听plusready事件
document.addEventListener( &plusready&, function(){
// 扩展API加载完毕,现在可以正常调用扩展API
// 直接创建android.content.Intent类的实例对象
var intent = plus.android.newObject(&android.content.Intent&);
}, false );
1.3、getAttribute: 获取对象(类对象/实例对象)的属性值
&&&&&&&&&Object plus.android.getAttribute( Object obj, String name );
obj: ( IntanceObject | ClassObject | String ) 必选 要获取属性值的对象,也可以是类的名称。如果obj为实例对象(InstanceObject),则获取的是实例的属性值; 如果obj为类对象(ClassObject),则获取的是类的静态属性值; 如果obj为字符串类型,其值必须是类的名称,则获取是类的静态属性值;
name: ( String ) 必选 要获取的属性名称。如果指定的属性名称不存在,则获取属性失败,不会抛出异常。
返回值:Object : 属性值对象,如果获取属性失败则返回null。
&!DOCTYPE html&
&meta charset=&utf-8&/&
&meta name=&viewport& content=&initial-scale=1.0, maximum-scale=1.0, user-scalable=no&/&
&title&Android Native.js&/title&
&script type=&text/javascript&&
// 监听plusready事件
document.addEventListener( &plusready&, function(){
// 扩展API加载完毕,现在可以正常调用扩展API
// 通过以下方法获取内存信息
var Context = plus.android.importClass(&android.content.Context&);
var ActivityManager = plus.android.importClass(&android.app.ActivityManager&);
var mi = new ActivityManager.MemoryInfo();
var activityService = plus.android.runtimeMainActivity().getSystemService(Context.ACTIVITY_SERVICE);
activityService.getMemoryInfo(mi);
// 获取mi对象的availMem属性值
memoryInfo = plus.android.getAttribute(mi,&availMem&);
}, false );
1.4、setAttribute: 设置对象(类对象/实例对象)的属性值
&&&void plus.android.setAttribute( Object obj, String name, Object value );
obj: ( InstanceObject ) 必选 要设置属性值的对象,也可以是类的名称。如果obj为实例对象(InstanceObject),则设置的是实例的属性值; 如果obj为类对象(ClassObject),则设置的是类的静态属性值; 如果obj为字符串类型,其值必须是类的名称,则设置是类的静态属性值;
name: ( String ) 必选 要设置的属性名称。如果指定的属性名称不存在,则操作不生效,不会抛出异常。
value: ( Object ) 必选 要设置的属性值。如果指定的属性值类型不区配,则操作不生效,不会抛出异常。
返回值:void : 无
&!DOCTYPE html&
&meta charset=&utf-8&/&
&meta name=&viewport& content=&initial-scale=1.0, maximum-scale=1.0, user-scalable=no&/&
&title&Android Native.js&/title&
&script type=&text/javascript&&
// 监听plusready事件
document.addEventListener( &plusready&, function(){
// 扩展API加载完毕,现在可以正常调用扩展API
// 假设Test类存在mCount属性
var Test = plus.android.importClass(&io.dcloud.Test&);
var test = new Test();
// 设置test对象的count属性值
plus.android.setAttribute(test,10);
}, false );
1.5、invoke: 调用对象(类对象/实例对象)的方法
&&&&&&Object plus.android.invoke( Object obj, String name, Object... args );
obj: ( InstanceObject | ClassObject | String ) 必选 调用方法所属的对象,也可以是类的名称。如果obj为实例对象(InstanceObject),则调用的是实例的方法; 如果obj为类对象(ClassObject),则调用的是类的静态方法; 如果obj为字符串类型,其值必须是类的名称,则调用的是类的静态方法;
name: ( String ) 必选 要调用的方法名称。如果指定的方法名称不存在,则调用方法失败,不会抛出异常。
args: ( Object ) 可选 调用方法的参数。如果指定的参数数目或类型不区配,则调用方法失败,不会抛出异常。
返回值:
Object : 调用方法的返回值,如果调用方法失败,则返回undefined。
&!DOCTYPE html&
&meta charset=&utf-8&/&
&meta name=&viewport& content=&initial-scale=1.0, maximum-scale=1.0, user-scalable=no&/&
&title&Android Native.js&/title&
&script type=&text/javascript&&
// 监听plusready事件
document.addEventListener( &plusready&, function(){
// 扩展API加载完毕,现在可以正常调用扩展API
// 调用native API弹出提示框
  // 由于Builder类是android.app.AlertDialog类的内部类,这里需要使用$符号分割
  var dlg = plus.android.newObject(&android.app.AlertDialog$Builder&,mainActivity);
  // 设置提示框标题
  plus.android.invoke(dlg,&setTitle&,&自定义标题&);
  // 设置提示框内容
  plus.android.invoke(dlg,&setMessage&,&使用NJS的原生弹出框,可自定义弹出框的标题、按钮&);
  // 设置提示框按钮
  plus.android.invoke(dlg,&setPositiveButton&,&确定(或者其他字符)&,null);
  // 显示提示框
  plus.android.invoke(dlg,&show&);
}, false );
1.6、implements: 实现Interface的方法
&&&&&Object plus.android.implements( String name, Object obj );
name: ( String ) 必选 Interface的名称,也可以是自定的字符串名称。如果name为自定的字符串名称,则自定义一个Interface;
obj: ( Object ) 必选 JSON对象类型,Interface实现方法的定义。JSON对象中key值为Interface方法的名称;value值为Function。
返回值:InstanceObject : Interface实例对象。
&!DOCTYPE html&
&meta charset=&utf-8&/&
&meta name=&viewport& content=&initial-scale=1.0, maximum-scale=1.0, user-scalable=no&/&
&title&Android Native.js&/title&
&script type=&text/javascript&&
// 监听plusready事件
document.addEventListener( &plusready&, function(){
// 扩展API加载完毕,现在可以正常调用扩展API
// 假设存在接口NjsHelloEvent定义如下
//public interface NjsHelloEvent {
// public void onEventInvoked( String name );
// 实现接口“NjsHelloEvent”对象
var hevent = plus.android.implements( &io.dcloud.NjsHelloEvent&, {
&onEventInvoked&:function( name ){
console.log( &Invoked Object’s name: &+name ); // 输出“Invoked Object’s name: Tester”
}, false );
1.7、runtimeMainActivity: 获取应用主Activity实例对象
&&&&&&InstanceObject plus.android.runtimeMainActivity();
说明:Android平台完整Java类名为android.app.Activity,完整API请参考Android开发文档 android.app.Activity
返回值:InstanceObject : 程序原生Java层主Activity实例对象。
&!DOCTYPE html&
&meta charset=&utf-8&/&
&meta name=&viewport& content=&initial-scale=1.0, maximum-scale=1.0, user-scalable=no&/&
&title&Android Native.js&/title&
&script type=&text/javascript&&
// 监听plusready事件
document.addEventListener( &plusready&, function(){
// 扩展API加载完毕,现在可以正常调用扩展API
// 获取应用主Activity实例对象
var main = plus.android.runtimeMainActivity();
}, false );
1.8、currentWebview: 获取当前Webview窗口对象的native层实例对象
&&&&&&&&&&&&&InstanceObject plus.android.currentWebview();
说明:Android平台完整Java类名为android.webkit.Webview,完整API请参考Android开发文档 android.webkit.Webview
返回值:InstanceObject : Webview窗口对象的native层android.webkit.Webview实例对象,如果调用方法失败,则返回null。
&!DOCTYPE html&
&meta charset=&utf-8&/&
&meta name=&viewport& content=&initial-scale=1.0, maximum-scale=1.0, user-scalable=no&/&
&title&iOS Javascript Bridge&/title&
&script type=&text/javascript&&
// 监听plusready事件
document.addEventListener( &plusready&, function(){
// 扩展API加载完毕,现在可以正常调用扩展API
// 获取当前Webview窗口对象的native层实例对象
nwv = plus.android.currentWebview();
}, false );
// 通过Webview原生窗口对象打开页面
function loadURL(){
plus.android.invoke(nwv,&loadUrl&,&http://www.dcloud.io/&);
获取当前Webview窗口对象的native层实例对象&br/&
&button onclick=&loadURL()&&Native.js跳转页面&/button&
2.1、ClassObject: Java类对象
interface ClassObject {
function Object plusGetAttribute( String name );
function Object plusSetAttribute( String name, Object value );
说明:Java类对象,可通过其属性获取类的常量,可通过方法来操作类的静态变量和方法,也通过new方法来创建类的实例对象。 对于类的常量,则直接通过.后面跟随常量名称调用即可。
2.1.1、方法
(1)、plusGetAttribute: 获取Java类对象的静态属性
&&&&&&&&&Object clsobj.plusGetAttribute( String name );
参数:name: ( String ) 必选 要获取的静态属性名称。如果指定的属性名称不存在,则返回null。
返回值:Object : 静态属性实例对象
&!DOCTYPE html&
&meta charset=&utf-8&/&
&meta name=&viewport& content=&initial-scale=1.0, maximum-scale=1.0, user-scalable=no&/&
&title&Android Native.js&/title&
&script type=&text/javascript&&
// 监听plusready事件
document.addEventListener( &plusready&, function(){
// 扩展API加载完毕,现在可以正常调用扩展API
// 假设Test类存在静态属性sName
var Test = plus.android.importClass(&io.dcloud.Test&);
// 获取io.dcloud.Test类的静态属性sName的值
var name = Test.plusGetAttribute(&sName&);
}, false );
(2)、plusSetAttribute: 设置Java类对象的静态属性
&&&&&&&&&void clsobj.plusSetAttribute( String name, Object value );
name: ( String ) 必选 要设置的静态属性名称。如果指定的属性名称不存在,则操作不生效,不会抛出异常。
value: ( Object ) 必选 要设置的静态属性值。如果指定的属性值类型不区配,则操作不生效,不会抛出异常。
返回值:void : 无
&!DOCTYPE html&
&meta charset=&utf-8&/&
&meta name=&viewport& content=&initial-scale=1.0, maximum-scale=1.0, user-scalable=no&/&
&title&Android Native.js&/title&
&script type=&text/javascript&&
// 监听plusready事件
document.addEventListener( &plusready&, function(){
// 扩展API加载完毕,现在可以正常调用扩展API
// 假设Test类存在静态属性sName
var Test = plus.android.importClass(&io.dcloud.Test&);
// 设置io.dcloud.Test类的静态属性sName的值
Test.plusSetAttribute(&sName&,&New name&);
}, false );
2.2、InstanceObject: Java实例对象
interface InstanceObject {
function Object plusGetAttribute( String name );
function Object plusSetAttribute( String name, Object value );
说明:Java实例对象,可通过其方法来操作实例的变量和方法。 注意:必须通过plusGetAttribute()方法读取实例对象的属性值,通过plusSetAttribute()方法设置实例对象的属性值。
2.2.1、方法
(1)、plusGetAttribute: 获取Java实例对象的属性
&&&&&&&Object insobj.plusGetAttribute( String name );
参数:name: ( String ) 必选 实例属性的名称。如果指定的属性名称不存在,则返回null。
返回值:Object : 属性的值
&!DOCTYPE html&
&meta charset=&utf-8&/&
&meta name=&viewport& content=&initial-scale=1.0, maximum-scale=1.0, user-scalable=no&/&
&title&Android Native.js&/title&
&script type=&text/javascript&&
// 监听plusready事件
document.addEventListener( &plusready&, function(){
// 扩展API加载完毕,现在可以正常调用扩展API
// 获取手机内存信息
var Context = plus.android.importClass(&android.content.Context&);
var ActivityManager = plus.android.importClass(&android.app.ActivityManager&);
var mi = new ActivityManager.MemoryInfo();
var activityService = plus.android.runtimeMainActivity().getSystemService(Context.ACTIVITY_SERVICE);
activityService.getMemoryInfo(mi);
memoryInfo = mi.plusGetAttribute(&availMem&); // 获取mi对象的availMem属性值
}, false );
(2)、plusSetAttribute: 设置Java实例对象的属性
&&void insobj.plusSetAttribute( String name, Object value );
name: ( String ) 必选 要设置的属性名称。如果指定的属性名称不存在,则操作不生效,不会抛出异常。
value: ( Object ) 必选 要设置的属性值。如果指定的属性值类型不区配,则操作不生效,不会抛出异常。
返回值:void : 无
&!DOCTYPE html&
&meta charset=&utf-8&/&
&meta name=&viewport& content=&initial-scale=1.0, maximum-scale=1.0, user-scalable=no&/&
&title&Android Native.js&/title&
&script type=&text/javascript&&
// 监听plusready事件
document.addEventListener( &plusready&, function(){
// 扩展API加载完毕,现在可以正常调用扩展API
// 假设Test类存在mCount属性
var Test = plus.android.importClass(&io.dcloud.Test&);
var test = new Test();
// 设置test对象的count属性值
test.plusSetAttribute(&mCount&,10);
}, false );
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:527285次
积分:7694
积分:7694
排名:第2612名
原创:278篇
转载:29篇
评论:169条iPhone 6/6 Plus对比旗舰Android机型
[摘要]苹果在iPhone 6身上加入了许多有趣的新特性,这非常值得Android厂商们注意。
腾讯数码讯(编译:徐萧梓丞)9月虽然才刚刚过去了不到一半,但是对于整个科技领域来说却意义非凡。在上周的IFA上Xperia Z3、Moto X以及Moto 360等多款新设备亮相,而现在又公布了旗下两款最新的 6智能手机。虽然Android和iOS是两种截然不同的操作系统,所针对的用户群也并不相同,但是一直以来二者之间的对比始终充满了“彗星撞地球”的意味。下面让我们一起来看看两个全新的iPhone 6与Android系统旗舰机型的对比,至少在屏幕尺寸上来说,苹果已经实现了“后来居上”。虽然单纯的从硬件配置上进行对比没有什么实际的意义,不过这样依然是直接展示iPhone 6与iPhone 6 Plus性能的最好方式。因此我们将两款iPhone 6与目前最流行、最受欢迎的几款Android系统产品放到一起对比,其中包括了自称“旗舰杀手”的OnePlus和原生Android机型“脸面”的Nexus 5。显示屏尽管一直以来苹果都在努力说服人们自己所标榜的视网膜显示屏虽然分辨率不算顶级但对于手机来说已经足够清晰,不过目前智能手机领域依然以1080p分辨率为主流配置,像 G3这样的机型甚至都实现了2K级别分辨率。虽然4.7英寸的iPhone 6依然无法在屏幕尺寸上与主流Android机型抗衡,但是与像Nexus 5的4.95英寸和 One M8的5英寸相比已经没有太大的差距。再来看看分辨率,4.7英寸的iPhone 6在分辨率上同样处于最低水平,而由于分辨率只有像素,因此iPhone 6的像素密度只有326 ppi,与上一代iPhone 5s保持一致。而目前主流的Android旗舰机型像素密度均处于401至538 ppi之间。至于5.5英寸的iPhone 6 Plus则要好了许多,由于分辨率提升到了主流的像素,像素密度也跃升至401 ppi,虽然在这个水平在Android旗舰机型中并不突出,但是对于苹果本身来说已经是相当大的提升。CPU与GPU比较Android机型和iPhone的处理器和GPU真没太大的意义。不过从纸面上的参数来看,很明显Android阵营的四核甚至八核处理器要比苹果的双核A8处理器有巨大的“优势”,而动辄2GB或3GB的运行内存也要比两款iPhone 6的1GB高出了几倍。当然,苹果的64位A8处理器要比Android阵营的机型领先了一部,其次苹果一直以来都不太过分强调硬件配置,而是将主要的精力放在对操作系统的优化上,这样才能通过并不算顶尖的配置发挥出最大的实力。而在苹果粉丝的眼中,iPhone的双核A8处理器与1GB RAM的组合搭配iOS系统其实要比Android系统的四核、八核处理器搭配2GB、3GB运行内存来的更流畅。关于这一点一直都有不少的争议,但是从表面上来看,更强大的处理器和GPU以及更大的RAM对产品绝对会产生更积极的影响。也许对于新一代iPhone 6来说,双核处理器和1GB RAM依然足够用,但按照现在的标准来看绝对已经“过时”。不过从发布会上来看,A8处理器在应对大型游戏上依然非常自如,这一点上并不逊色于旗舰Android设备。摄像头对比摄像头与对比CPU/GPU的情况有些类似,虽然iPhone的摄像头一直以来在纸面参数上并不占优势,但是在成像效果上却总是给我们惊喜。通常iPhone摄像头与Android旗舰型对比并没有任何优势,不过从实际的照片质量上来看甚至还要好过一部分像素更高的Android手机。因此如果直接将iPhone 6的800万像素摄像头与Android手机动辄上千万的参数相比,很难说出谁好谁坏,不过由于苹果引入了全新的传感器以及在iPhone 6 Plus上加入的OIS光学防抖技术,可以进一步提升成像效果。不过让人感到遗憾的是,4.7英寸的iPhone 6则依然使用的是数字稳定系统。因此在这个方面,我们很难直接说谁更好、更稍差。其它配置对比我们将其它配置罗列出来只是让大家有一个更直观的认识,不过值得注意的一点是,苹果首次在iPhone 6的身上配备了NFC近场通讯技术,而这在Android机型上也并不常见,看来苹果在移动支付领域将再一次走在前列。至于指纹识别和其它特性方面,iPhone 6与Android机型相差的并不明显。苹果是否已经“迎头赶上”?在我们真正上手体验iPhone 6和iPhone 6 Plus获得更多细节之外,我们只能从纸面配置上来将它们与旗舰Android手机对比。而新一代iPhone在屏幕尺寸和NFC技术上已经迎头赶上,虽然这并不是什么创新性的新技术。虽然从苹果自身的角度来说,iPhone 6与iPhone 6 Plus在硬件配置上提升幅度并不算小,但是与Android产品相比还是有些“相形见绌”。当然,硬件配置并不能说明一切问题,为用户带来什么样的实际体验也许会另外一番景象。就我个人而言,苹果在iPhone 6身上加入了许多有趣的新特性,这非常值得Android厂商们注意。而无论你喜欢Android还是iOS,都不要盲目的放大对方的缺点或强调自己的优点,毕竟虽然Android产品硬件配置更高,但是iOS在软件生态系统上的完善性也是Android无法比拟的。现在我们已经迎来了全新一代iPhone,你认为在于Android手机的竞争中它们会有怎样的表现呢?来源:查报价,看新品,尽在腾讯数码官方微信 扫描左侧二维码即可添加腾讯数码官方微信您也可以在微信上搜索“腾讯数码”或“qqdigi”,获取更多数码资讯。
[责任编辑:yannwang]
还能输入140字
Copyright & 1998 - 2017 Tencent. All Rights Reserved荣耀对决plus
荣耀对决手游专题是极光小编为热爱类对战手游荣耀对决的玩家们提供一些相关安卓版破解版电脑版及辅助修改器等。如果你喜欢这款游戏,不妨来看看吧游戏简介荣耀对决由网易游戏推出的全新类对战手游。在游戏中,将会给
荣耀对决plus破解版是2016年全新
叉叉助手是一款插件形式的辅助工
    《烧饼游戏修
葫芦侠官方网站提供最新版的葫芦
下载帮助本站软件均来自互联网, 如有侵犯您的版权, 请与我们联系。
* 为了达到最快的下载速度,推荐使用下载本站软件。
* 需要荣耀对决Plus电脑版的请下载安卓模拟器
* 相关网站事务请留言:
或通知我们!
Copyright &
. All Rights Reserved

我要回帖

更多关于 怎么才能找到对象 的文章

 

随机推荐