您的位置 首页 > 德语词汇

egret是什么意思?Egret原生打包调用系统震动功能

各位老铁们好,相信很多人对egret是什么意思都不是特别的了解,因此呢,今天就来为大家分享下关于egret是什么意思以及Egret原生打包调用系统震动功能的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

1、使用原生打包可以假如一些系统功能,我们可以称之为native扩展。通过这种方式,你可以调用陀螺仪,定位服务以及震动摄像头等等。这篇文章中抛砖引玉,教大家如何去打包原生应用并且调用系统的震动功能。

egret是什么意思?Egret原生打包调用系统震动功能

2、我们先创建一个Egret项目,为了演示功能,我也不做特别的功能,在舞台上绘制一个红色的正方形,当用户点击后,可以触发震动事件,让手机不停的震动。

3、varshp:egret.Shape=newegret.Shape();

4、shp.graphics.beginFill(0xff0000);

5、shp.graphics.drawRect(0,0,100,100);

6、shp.addEventListener(egret.TouchEvent.TOUCH_BEGIN,this.clicks,this);

7、privateclicks(evt:egret.TouchEvent):void

8、egret.ExternalInterface.call("zd","s");

9、其中最关键的代码就是调用egret.ExternalInterface.call这个函数,通过它,我们可以呼叫native层的响应代码。值得注意的是,”zd”是我们定义的指令,标识震动,你可以任意命名,而第二个参数没有任何意义,它本来是让我们在调用native功能时传递的参数,但由于这个实例中不涉及任何传参问题,所以我们随便传入一个参数即可。

10、使用一个egretcreate_app命令创建一个android项目后,我们需要自己创建一个类。具体代码如下:

11、packageorg.egret.java.androidd;

12、importandroid.content.Context;

13、importorg.egret.java.externalInterface.IExternalInterface;

14、publicclassEgretZhendongimplementsIExternalInterface{

15、Vibratorvibrator=(Vibrator)act.getSystemService(Context.VIBRATOR_SERVICE);

16、long[]pattern={100,400,100,400};//停止开启停止开启

17、publicvoidsetActivity(Activityvalue)

18、需要注意的一点是,函数call是必须要实现的,用于执行我们的响应的代码,而setActivity函数是我自己编写的。由于调用震动功能需要使用到Activity这个类的实例对象,所以由外界传值进行应用。

19、然后你要做的是在你的Java代码的入口类当中,我这里是org.egret.java.android.androidd.java。这个名称会根据你的项目名称而决定。很容易找到,你在android工程中的src中就可以找到它。

20、在这个类中的onCreate方法中最后面编写你的代码。

21、ExternalInterface.getInstance().run();

22、EgretZhendongedz=newEgretZhendong();

23、ExternalInterface.getInstance().addCallBack("zd",edz);

24、即使你没有编写过Java代码,你也可以看明白这段代码是什么意思,无非就是创建我们刚才所定义的EgretZhendong类,然后通过ExternalInterface.getInstance().addCallBack(“zd”,edz);来绑定我们调用的口令和指定响应功能的对象而已。

25、完成了这部分功能后,我们来接上手机,直接测试一下。如果你的代码完全正确。那么你可以看到一个默认的HelloWorld界面,点击左上角的红色方块,手机开始不停的震动。

26、如果你在调试的时候发现android项目报错,请在AndroidManifest.xml中增加下面这行配置,调用震动需要获取系统权限。

27、<uses-permissionandroid:name="android.permission.VIBRATE"/>

28、OK!这篇简单的教程就介绍到这里!

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!

本站涵盖的内容、图片、视频等数据,部分未能与原作者取得联系。若涉及版权问题,请及时通知我们并提供相关证明材料,我们将及时予以删除!谢谢大家的理解与支持!

Copyright © 2023