如何以代号为IOS调用IOS的本机接口函数?

时间:2017-07-22 12:52:03

标签: codenameone

我阅读了以下本机界面指南。

https://www.codenameone.com/how-do-i---access-native-device-functionality-invoke-native-interfaces.html

https://www.codenameone.com/manual/advanced-topics.html#_native_interfaces

我执行Hello World测试,无法在代号为one的文件中找到对本机接口的IOS调用。 我做了.h和.m以及“生成本机访问”。在此之后,我无法退房继续下去。 我的目的是从IOS调用“剪贴板复制”和“从剪贴板粘贴”本机。

如何使用IOS的代号调用本机接口函数hello world?

我应该导入什么?

IOS和原生界面是否有完整的样本?

这些是我现在从教程中获得的文件。

好的,h文件的内容:

#import <Foundation/Foundation.h>

@interface com_mycompany_crtome_native_callsImpl : NSObject {
}

-(NSString*)helloWorld:(NSString*)param;
-(BOOL)isSupported;
@end

然后m文件:

#import "com_mycompany_crtome_native_callsImpl.h"

@implementation com_mycompany_crtome_native_callsImpl

-(NSString*)helloWorld:(NSString*)param{
    NSLog(@"MyApp: %@", param);
    return @"Tada";
}

-(BOOL)isSupported{
    return YES;
}

@end

然后我有一个名为native_calls.java的额外java文件:

package com.mycompany.crtome;

import com.codename1.system.NativeInterface;

public interface native_calls extends NativeInterface {
    String helloWorld(String hi);
}

所以,我不知道如何从我的主java文件中调用它?

你可以一步一步解释这个功能和电话吗?

1 个答案:

答案 0 :(得分:1)

自动生成将本机接口绑定到iOS代码的代码。要使用本机界面,只需使用:

native_call n = NativeLookup.lookup(native_call.class);
if(n != null && n.isSupported()) {
   String result = n.helloWorld("Hi There");
}