android xe 调用 java,Delphi XE6 for Android 让手机震动(调用Java的函数)
震动,是调用了 安卓api JNI 里面的 函数 ,这些都是 调用java的 ,如下面的引用,
uses
FMX.Helpers.Android,
Androidapi.JNI.App,
Androidapi.JNI.Os,
Androidapi.JNIBridge, FMX.StdCtrls;
还是分几步,
1 新建一个手机项目
打开xe6, file ---- new ----FireMonkeyMobile Application-Delphi
2 选择black application 点击ok。
3 在打开的窗口中,放入几个个Button控件.
4、点击保存按钮,将程序保存在你事先设定好的目录中。
5、给Button按钮写的点击事件写点代码:
procedure TForm1.Button2Click(Sender: TObject);
var
LVibrator:JVibrator;
begin
LVibrator:=TJVibrator.Wrap((SharedActivity.getSystemService(TJActivity.javaClass.VIBRATOR_SERVICE ) as iLocalObject).GetObjectID );//引用震动
if not LVibrator.hasVibrator then
begin
showmessage(‘手机不支持震动‘);
exit;
end;
LVibrator.vibrate(200);//震动200ms
end;
6 运行 看看, 手机上直接就出来了,呵呵
7 再加几个按钮,看看,停止震动按钮
procedure TForm1.Button5Click(Sender: TObject);
var
LVibrator:JVibrator;
LJavaArray:TJavaArray;
begin
LVibrator:=TJVibrator.Wrap((SharedActivity.getSystemService(TJActivity.javaClass.VIBRATOR_SERVICE ) as iLocalObject).GetObjectID );//调用震动
LVibrator.cancel ;//立刻停止震动
end;
8 然后如果要想,有规律的震动,怎么弄呢? 继续添加2个按钮和一个函数
function GetVibratorArray(const AintArr:array of int64):TJavaArray;//震动规律函数
var
Lindex:integer;
begin
Result:=TJavaArray.Create(Length(AintArr));
for Lindex:=Low(AintArr) to High(AintArr) do
Result.Items [Lindex]:= AintArr[Lindex];
end;
procedure TForm1.Button3Click(Sender: TObject);
var
LVibrator:JVibrator;
LJavaArray:TJavaArray;
begin
LVibrator:=TJVibrator.Wrap((SharedActivity.getSystemService(TJActivity.javaClass.VIBRATOR_SERVICE ) as iLocalObject).GetObjectID );
if not LVibrator.hasVibrator then
begin
showmessage(‘手机不支持震动‘);
exit;
end;
LJavaArray:=GetVibratorArray([200,1000,3000,5000]);//调用震动规律
LVibrator.vibrate(LJavaArray,-1);//不重复, 震动一 次
end;
procedure TForm1.Button4Click(Sender: TObject);
var
LVibrator:JVibrator;
LJavaArray:TJavaArray;
begin
LVibrator:=TJVibrator.Wrap((SharedActivity.getSystemService(TJActivity.javaClass.VIBRATOR_SERVICE ) as iLocalObject).GetObjectID );
if not LVibrator.hasVibrator then
begin
showmessage(‘手机不支持震动‘);
exit;
end;
LJavaArray:=GetVibratorArray([200,1000,3000,5000]);//调用震动规律
LVibrator.vibrate(LJavaArray,0);//v不停重复,大于0的参数,可以指定震动次数
end;
注意: 运行的时候,手机别黑屏。
http://blog.csdn.net/laorenshen/article/details/41148843
原文:http://www.cnblogs.com/findumars/p/5830126.html
android xe 调用 java,Delphi XE6 for Android 让手机震动(调用Java的函数)相关推荐
- delphi 简单代码实现安卓手机震动
Android震动在游戏开发中应用广泛,这一功能的实现能给用户带来很好的使用体验.在这里就为大家介绍一下使用Delphi开发时其实现的具体方法. 实现手机震动其实很简单,手机震动使用是Vibrator ...
- java纽约之夜攻略,夏新DV手机A675试飞——JAVA游戏推荐
这几天以来,一直都在找几个适合在A675手机上玩的JAVA游戏,使用模拟器有许多都能运行,但在手机上却不行,所以都一个个的安装测试,真够累的!在这里先推荐三款运行较好的JAVA游戏,至于好不好玩,在于 ...
- Android与Unity交互及手机震动控制
背景 Unity开发过程中,自身提供的API或方案无法满足需求时,就需要Android工程交互通信.网络上交互方案很多,通常为jar包和aar包,经过对比本人采用aar包来实现,过程相对简单. Uni ...
- 关于 Delphi跨平台开发Android调用 JNI JAR java 的说明和注意事项
2Pascal-新时代的Pascal-关于 调用 JNI JAR java 的说明和注意事项,调用第 靠写不下了 - Powered by Discuz! 关于 调用 JNI JAR 的说明和注意事项 ...
- 《Delphi XE6 android 编程入门教程》推荐
近5.6年已经没有看见关于delphi的新技术的书出来了(看来在国内delphi的使用量确实很低了), 高勇同学最近出了一本<Delphi XE6 android 编程入门教程>,上周刚拿 ...
- android jni 结构体_Android应用开发Android JNI-c/c++调用java方法
本文将带你了解Android应用开发Android JNI-c/c++调用java方法,希望本文对大家学Android有所帮助. " Android JNI-c/c++调用java方法, ...
- Java乔晓松-android中调用系统拍照功能并显示拍照的图片
android中调用系统拍照功能并显示拍照的图片 如果你是拍照完,利用onActivityResult获取data数据,把data数据转换成Bitmap数据,这样获取到的图片,是拍照的照片的缩略图 代 ...
- android调用 qt so文件路径,Android Java调用Qt写的so库
有时候,我们反编译apk得到一个so库,如果直接使用这个so库的话,必须使用原来so库同样的package名字,才能用.这样人家反编译你的apk,就知道你侵犯了人家的版权.为了达到混淆的目的,我们可以 ...
- android开发教程(3)— jni编程之采用SWIG从Java调用C/C++
2019独角兽企业重金招聘Python工程师标准>>> Android 从Java调用C/C++ ...
最新文章
- linux shell命令 输出头标题 输出结果 排序
- 16.ajax_case08
- 小程序实现图片的放大预览
- java实现多线程的4种方式
- Xray使用的一些经验分享(xray+burp的使用)
- 突然!锤子科技天猫官方旗舰店商品全线下架 店铺撤店?!
- Introduction to Mathematical Thinking - Week 4
- 集成Atlas到现有的网站项目中--决定弃用Ajaxpro转用Atlas了
- spring(12)
- MicroPython学习笔记(二)操作GPIO和TIMER实现数码管动态显示
- c语言编程实现电脑关机,C语言让电脑关机?system函数功能够大够硬
- mysql c盘满了 怎么办_C盘太满清理技巧
- 途家民宿VS木鸟民宿:民宿APP功能体验
- FPGA VerilogHDL语言 数字钟 按键消抖
- 王道计算机组成原理课代表 - 考研计算机 第七章 输入输出系统 究极精华总结笔记
- XP系统常用的登录密码方法破解(一共9种)
- c语言如何让正数带负号
- 什么是“ Windows任务的主机进程”,为什么我的PC上运行着这么多主机?
- Linux压缩打包命令使用方法
- 博图V14出现The Automation License Manager Service has not been started!Please start the Service.错误