
正文
java中调用接口代码 java调用接口实现
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java调用c++接口
pre{overflow-x: auto} 1、编写Java程序java中调用接口代码:HelloWorld
代码如下java中调用接口代码:
package HelloWorld; public class HelloWorld { public native void sayHello(); public static void main(String[] args) { System.loadLibrary("Win32Project1"); HelloWorld tNative = new HelloWorld(); tNative.sayHello(); } }
2、Windows环境下,在cmd中编译以上程序
编译通过后,使用 javah -jni HelloWorld.HelloWorld命令,在src文件夹下生成HelloWorld_HelloWorld.h文件(注意,此处两个HelloWorld,前一个指包名,后一个指类名)。
在执行完这一步后,能够看到HelloWorld.java、HelloWorld.class、HelloWorld_HelloWorld.h这三个文件是位于同一个src文件夹下java中调用接口代码的,如下图所示(注意,此处java中调用接口代码的src文件夹是在eclipse中创建HelloWorld这个java project时自动生成java中调用接口代码的,并非手动创建的):
3、编写C++程序
打开Visual Studio 2013,执行“文件—新建—项目—Visual C++—Win32 项目—确定—下一步–选择DLL(D)–完成”。
注意,设置好项目名称以及项目文件所在的位置,如下图标红处所示:
创建好项目之后,将之前生成的HelloWorld_HelloWorld.h头文件添加到项目的“头文件”中,并在源文件中添加helloworld.cpp这一文件,如下图所示:
接下来,在helloworld.cpp文件中输入以下代码: // helloworld.cpp : 定义DLL应用程序的导出函数。 // #include "stdafx.h" #include "HelloWorld_HelloWorld.h" #include using namespace std; JNIEXPORT void JNICALL Java_HelloWorld_HelloWorld_sayHello(JNIEnv *, jobject) { cout
相关问答
Q1: JAVA怎么调用接口?
String sendPost(String jsonStr, String path)
throws IOException {
byte[] data = jsonStr.getBytes();
java.net.URL url = new java.net.URL(path);
java.net.HttpURLConnection conn =
(java.net.HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setConnectTimeout(5 * 1000);// 设置连接超时时间为5秒
conn.setReadTimeout(20 * 1000);// 设置读取超时时间为20秒
// 使用 URL 连接进行输出java中调用接口代码,则将 DoOutput标志设置为 true
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "text/xml;charset=UTF-8");
//conn.setRequestProperty("Content-Encoding","gzip");
conn.setRequestProperty("Content-Length", String.valueOf(data.length));
OutputStream outStream = conn.getOutputStream();// 返回写入到此连接java中调用接口代码的输出流
outStream.write(data);
outStream.close();//关闭流
String msg = "";// 保存调用http服务后java中调用接口代码的响应信息
// 如果请求响应码是200,则表示成功
if (conn.getResponseCode() == 200) {
// HTTP服务端返回的编码是UTF-8,故必须设置为UTF-8,保持编码统一,否则会出现中文乱码
BufferedReader in = new BufferedReader(new InputStreamReader(
(InputStream) conn.getInputStream(), "UTF-8"));
msg = in.readLine();
in.close();
}
conn.disconnect();// 断开连接
return msg;
}
Q2: java写的接口怎么调用
计算机语言分类有很多,如C、C++、C#、Java、Php、Python等等,她们有各自的特性及擅长的领域,但她们各自又不是全能的。在一个稍微大型一点的项目都会用到多种语言共同完成,那么这些编程语言如何进行通信呢。什么意思呢,就是比如说我Java写的一个方法,其他编程语言要怎么去调用呢?这就是本文要探讨的问题了。
一般来说,方法层面的编程语言通信用的是网络接口形式,只暴露出形参和结果供别人调用。接口一般分为接口定义者和接口调用者,定义者可以规定接收参数的类型及返回形式,而接口定义者则只能完全按照接口定义者规定的参数进行访问。就叫是我们所说的webService(网络服务)。
以前的做法是利用XML作接口格式定义,然后通过Http做通讯和请求,如大名鼎鼎的SOAP,其实现在也是的,只不过现在流行RestFul风格的Rest接口形式,但用的还是XML+HTTP,那这两者有啥区别呢?最大的区别就是SOAP返回的主要是XML格式,有时还需要附带一些辅助文件,而Rest则还可以返回JSON类型的字符串,减少了很多繁乱的XML标签。
java中调用接口代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java调用接口实现、java中调用接口代码的信息别忘了在本站进行查找喔。







