Delphi使用android的NDK是通过JNI接口,封装好了,不用自己写本地代码,直接调用

一.Android平台编程方式:
      1.基于Android SDK进行开发的第三方应用都必须使用Java语言(Android的SDK基于Java实现)
      2.自从ndk r5发布以后,已经允许完全用C/C++ 来开发应用或者游戏,而不再需要编写任何Java 的代码
   Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。

二.跨平台移动开发
   Delphi使用android的NDK是通过JNI接口,封装好了,不用自己写本地代码,直接调用。
   使用Delphi的本地代码可以实现一些功能,有些功能可以直接调用JNI接口,当然也可以通过写本地代码实现,但是比较麻烦。
   跨平台移动开发需要做的工作:
     1.本地代码实现大部分功能,androidapi实现部分android手机的功能,iosapi实现部分iOS手机的功能;
     2.使用选择编译{$IFDEF ANDROID} {$ENDIF} 和{$ifdef ios} {$endif}。
三.一些设计硬件的部分必须通过调用个平台的相关接口,没有统一的Firemonkey native code可以应对。
     除了地理感知,拍照,打电话等功能,涉及硬件的部分,如sim卡,蓝牙等一些各个平台独有的设备,硬件等是没有跨平台的firemonkey代码可以实现的。

http://blog.csdn.net/syndicater/article/details/18549321

时间: 2024-08-26 11:22:51

Delphi使用android的NDK是通过JNI接口,封装好了,不用自己写本地代码,直接调用的相关文章

【转】 Android的NDK开发(1)————Android JNI简介与调用流程

原文网址:http://blog.csdn.net/conowen/article/details/7521340 ******************************************************************************************** * author:[email protected]大钟                                                                      

android eclipse NDK 测试hello-jni ,HelloJni/jni/hello-jni.c提示“Method 'NewStringUTF' could not be resolved”

如图1 图1 问题: 方法 NewStringUTF 不能被 eclipse定位(鼠标放在该方法上,ctrl + 左键,跳出一些包含 该方法的文件,看图2) 解决思路:(具体思路看下文,参考中“推荐”) 参考网上其他人的解决方案,基本2类: 1. 去警告-> 看下图3: 2. 找到错误方法所在文件位置(图3),包含进 项目属性(propertities -> C/C++ General -> Paths and Sysmbols -> include -> add ->

Android ndk开发swig编译jni接口配置文件(二)

之前写过一篇Android ndk开发swig编译jni接口.看这篇看不懂,看以去看看.c++与Java有些语言结构还是有一定区别,比如c++结构体,一些函数的返回值等都是有所不同,进行swig编译要进行一些预处理,也就是配置一下就行.下面说说几种情况. 一.一般情况下string,数组,枚举类型等配置Unix.i %module Survey %include "std_string.i" %include "arrays_java.i" %include &qu

Android JNI和NDK学习(09)--JNI实例二 传递类对象

1 应用层代码 NdkParam.java是JNI函数的调用类,它的代码如下: package com.skywang.ndk; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class NdkParam extends Activity { public static final String TAG="skywang--NdkParam"; /** Cal

android如何使用自定义JNI接口,以及NDK工具的环境搭建与使用。

一.环境的搭建: 1.需要的工具: A.cygwin    (在windows下使用LINUX系统)                                                                    http://www.cygwin.com B.android-ndk-1.6_r1-windows (主要是起到将C或C++编译成动态库的作用)   http://dl.google.com/android/ndk/android-ndk-1.6_r1-wind

android studio NDK 开发初探

android studio NDK 开发初探 环境配置 1)下载ndk 2)在android studio中配置ndk 路径 3)配置gradle 在gradle.properties中加入 android.useDeprecatedNdk=true配置 开启ndk 在开发过程中我们有时还会用到c++中到stl库这时我们就需要在build.gradle 中加入 defaultConfig { ndk { moduleName "jnitest" stl "stlport_s

Android Studio NDK开发

整理完Eclipse的NDK开发,再整理下Android Studio的.. 一个比较不错的百度网盘: http://pan.baidu.com/share/home?uk=2383159761  经常更新最新的Android方面的开发包,可以到里面下载到ndk的包 创建一个Android的工程,放一个TextView用于显示文字,功能很简单,从native层获取字符串并显示到TextView上 然后编写相关代码: public class MainActivity extends AppCom

Android之NDK开发

一篇文章: Android之NDK开发 一.NDK产生的背景 Android平台从诞生起,就已经支持C.C++开发.众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第三方应用都必须使用Java语言.但这并不等同于“第三方应用只能使用Java”.在Android SDK首次发布时,Google就宣称其虚拟机Dalvik支持JNI编程方式,也就是第三方应用完全可以通过JNI调用自己的C动态库,即在Android平台上,“Java+C”的编程方式是一直都可

[Google Android] 理解NDK(1)-- 编译Android .so文件

原帖地址:http://www.cnblogs.com/tamer/archive/2011/01/18/1938307.html 说白了就是c代码做成动态库,被java代码调用(JNI).用C写不出可以直接在Android上跑的可执行程序来. NDK开发需要一个交叉编译环境,需要安装Cygwin, NDK. 这些准备工作就不说了网上很多,当然也可以问我. 讲一下.so文件的生成 ----------------------------------------------------------