- 浏览: 1507353 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (595)
- Java咖啡厅 (208)
- IT杂侃 (23)
- 程序员笑话 (7)
- 我的后现代文学 (1)
- WEB编程 (116)
- 软件评测 (8)
- 操作系统 (3)
- 炫目Ruby (2)
- 行业知识 (7)
- 我的动漫情结 (6)
- 其他 (8)
- Window DIY (6)
- 古文学 (3)
- 转载文章 (2)
- IT百科 (7)
- 动态网页Active (1)
- 文档 (1)
- 设计理论 (11)
- .NET 快速开发 (18)
- 英语学习 (6)
- 网站分析 (2)
- 开源软件 (4)
- 数据库 (28)
- 笔记 (4)
- 源代码共享 (8)
- IT人物 (2)
- 软件管理 (10)
- 小说创作 (0)
- 大众软件 (12)
- 网站评论 (3)
- 小虾乱说 (10)
- 游戏 (8)
- 心情 (3)
- 娱乐休闲 (2)
- Delphi编程 (1)
- PHP编程 (4)
- 中间件 (2)
- 移动开发 (2)
- Office应用 (2)
- Photoshop (1)
- Eclipse (5)
- 面试题 (1)
- 手机评测 (0)
- VBScript (1)
- WEB前端-EXT (3)
- 吐槽 (1)
- Java咖啡厅 Ibatis (1)
- javascript Ext (1)
- jquery ui (1)
- require (1)
- WEB编程 Javascript (1)
- jquery (1)
- Swing (1)
- 分布式 (1)
最新评论
-
zhangjihao:
28. 下面哪个Set是排序的? A. LinkedHas ...
Java面试题(选择题) -
zhangthe9:
ICMP报文被封装在IP包里,也就是说他是由IP协议承载的,从 ...
Java面试题(选择题) -
zhunengfei:
真的假的?
自已写的jquery ui框架 -
white_crucifix:
少年,发烫是所有智能手机的特点,而莫名发烫是所有安卓手机的特点 ...
【吐槽】三星手机的OS是一砣屎 -
suzu88:
试了一下,可以用。如果美化一下控件和窗体更有意思。
一个用XML构建Swing视图的框架
Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。
可以将native方法比作Java程序同C程序的接口,其实现步骤:
1、在Java中声明native()方法,然后编译;
2、用javah产生一个.h文件;
3、写一个.cpp文件实现native导出方法,其中需要包含第二步产生的.h文件(注意其中又包含了JDK带的jni.h文件);
4、将第三步的.cpp文件编译成动态链接库文件;
5、在Java中用System.loadLibrary()方法加载第四步产生的动态链接库文件,这个native()方法就可以在Java中被访问了。
JAVA本地方法适用的情况
1.为了使用底层的主机平台的某个特性,而这个特性不能通过JAVA API访问
2.为了访问一个老的系统或者使用一个已有的库,而这个系统或这个库不是用JAVA编写的
3.为了加快程序的性能,而将一段时间敏感的代码作为本地方法实现。
首先写好JAVA文件
/*
* Created on 2005-12-19 Author shaoqi
*/
package
com.hode.hodeframework.modelupdate;
public class CheckFile
{
public native void displayHelloWorld();
static
{
System.loadLibrary("test");
}
public static void
main(String[] args) {
new CheckFile().displayHelloWorld();
}
}
然后根据写好的文件编译成CLASS文件
然后在classes或bin之类的class根目录下执行javah -jni
com.hode.hodeframework.modelupdate.CheckFile,
就会在根目录下得到一个com_hode_hodeframework_modelupdate_CheckFile.h的文件
然后根据头文件的内容编写com_hode_hodeframework_modelupdate_CheckFile.c文件
#include "CheckFile.h"
#include
#include
JNIEXPORT void JNICALL
Java_com_hode_hodeframework_modelupdate_CheckFile_displayHelloWorld(JNIEnv *env,
jobject obj)
{
printf("Hello world!\n");
return;
}
之后编译生成DLL文件如“test.dll”,名称与System.loadLibrary("test")中的名称一致
vc的编译方法:cl -I%java_home%\include -I%java_home%\include\win32 -LD
com_hode_hodeframework_modelupdate_CheckFile.c -Fetest.dll
发表评论
-
原创程序- Web版数据库管理
2017-11-15 00:39 1177这是我自已写的Web版的数据库管理工具,主要是依赖于JDBC ... -
Eclipse创建Web项目
2017-07-29 10:53 7751. 打开创建Web项目的对话框 2 ... -
Ant常用的命令
2016-06-16 13:31 13481. 使用Ant生成War包: <war ... -
在Eclipse上使用Ant发布项目
2015-10-17 15:03 1370这里笔者使用是Eclip ... -
Resin中增加一个虚拟目录的方法
2015-09-13 12:53 1113打开resin.config 找到到<h ... -
一个用XML构建Swing视图的框架
2015-09-06 23:12 2600平常想用Java写一些 ... -
Eclipse常见问题
2015-08-24 19:41 738如果Eclipse被强制关闭时,Tomcat可能没有 ... -
Spring Tools Suite 入门教程
2015-05-09 09:15 0Spring Tools Suit,这里简称STS,是 ... -
使用FTP的方法
2015-03-01 17:49 9991. FlashFXP 收费的软件,但是比较好 ... -
关于Spring
2015-02-16 14:46 1998Spring是一个轻量级J2EE框架。 Sp ... -
用Java实现发送邮件到163
2014-12-28 14:50 3851/* 在java版经常看到有人问如何用javamai ... -
Hibernate入门
2014-12-27 01:34 925前言 使用面向对象的语言和关系型的数据库,开 ... -
修改date.toLocaleString()的警告
2014-10-15 11:31 2546我们在写程序的时候,经常要查看时间,所以我们经常会用到 ... -
Java基础题 -- 简述题
2014-04-26 13:44 726(1)简述Java的运行机制 答案:Java语言根 ... -
Java基础题 -- 填空题
2014-04-26 10:00 18861. ______是一个抽象的计算机,和实际的计算机一样, ... -
FreeMaker入门
2014-04-07 19:51 1010第一章 简介 1 什么是FreeMaker ... -
jdk8 新语法
2014-04-01 23:32 1279import java.util.*; public ... -
MyBatis 入门
2014-03-27 23:31 1721每个MyBatis的中心是SqlSessionFact ... -
Jetty入门
2014-02-26 23:48 1577Jetty是一个简易的WebServer框架,使用 ... -
用Swing做的H2管理器
2014-02-24 23:07 1566MainFrame 继承了 JFrame , 增加c ...
相关推荐
入门$ npm install react-native-image-to-pdf --save 或者$ yarn add react-native-image-to-pdf 大多是自动安装$ react-native link react-native-image-to-pdf 手动安装的iOS 在XCode的项目导航器中,右键单击“ ...
示例项目: : 入门$ yarn add react-native-3d-model-view 进而$ react-native link react-native-3d-model-view lib还具有对等依赖关系react-native-zip-archive , rn-fetch-blob和react-native-fs 。 确保您yarn...
@react-native-community/geolocation Geolocation API扩展了。 当前,在Android上,它使用 。 Google不推荐使用此API,因为它不如推荐的准确和慢。 这是我们希望在不久的将来更改的内容 。 为了将新的与React ...
入门$ npm install git+https://github.com/xtrycatchx/react-native-mlkit-ocr.git --save 大多是自动安装$ react-native link react-native-ml-kit-ocr 手动安装的iOS 在XCode的项目导航器中,右键单击“ ...
这通常涉及在C或C++中编写本地方法,然后在Java中调用该方法来打印消息。此示例展示了如何声明本地方法,如何在本地代码中实现它,以及如何从Java调用本地方法。 #### 类型映射 JNI提供了类型映射机制,将Java数据...
笔记: 对于RN 0.60.0或更高版本,请使用react-native-ssl-pinning@latest入门$ npm install react-native-ssl-pinning --save 大多是自动安装如果您使用的是React Native 0.60.+。 在iOS中运行pod install $ react-...
react-native-wifi-manager 这是用于创建本机WiFi Manager包装器的WIP。 入门 $ npm install react-native-wifi-manager --save 大多是自动安装 $ react-native link react-native-wifi-manager 手动安装 的iOS ...
react-native-gpay --save 大部分是自动安装 $ react-native link react-native-gpay :police_car_light: 注意:如果您使用的是 react-native 0.60 或更高版本,则不需要链接 . 手动安装 IOS 在 XCode 中,在项目...
$ npm install react-native-secure-storage --save 或者 $ yarn add react-native-secure-storage 大多是自动安装 $ react-native link react-native-secure-storage 手动安装 的iOS 在XCode的项目导航器中,...
react-native-fs-stream 入门 $ npm install react-native-fs-stream --save 大多是自动安装 $ react-native link react-native-fs-stream 手动安装 的iOS 在XCode的项目导航器中,右键单击“ Libraries ➜ Add ...
6. **第三方库**:熟悉社区中的常用库,如Redux和MobX进行状态管理,react-native-vector-icons添加图标,react-native-image-picker选择图片等。 7. **测试**:了解Jest和Detox等工具,进行单元测试和集成测试,...
react-native-branch模块需要react-native >= 0.40。 纯 React Native 应用程序(使用 react-native 链接) yarn add react-native-branch或npm install --save react-native-branch (可选)将 branch.json 文件...
react-native-tcp-socket 使用客户端SSL / TLS支持对Android,iOS和macOS的本... 由于react-native-tcp-socket提供与Node的net相同的API,因此如果要将此模块导入为net或在JavaScript中使用require('net') ,则必须将
react-native-branch模块需要react-native >= 0.40。 纯 React Native 应用程序(使用 react-native 链接) yarn add react-native-branch或npm install --save react-native-branch (可选)将 branch.json 文件...
react-native-file-viewer 本机文件查看器,用于react-native。 预览移动设备支持的任何类型的文件。 iOS :它使用 Android :它使用ACTION_VIEW Intent启动与指定文件关联的默认应用。 Windows :启动与指定文件...
在6天的学习过程中,你将能够深入理解React Native的核心概念,掌握其工作原理,并最终有能力创建自己的跨平台应用。 React Native的基础始于React.js,这是一个用于构建用户界面的JavaScript库,以其组件化开发...
react-native-branch模块需要react-native >= 0.40。 yarn add react-native-branch (可选)将 branch.json 文件添加到应用项目的根目录。 看 。 react-native link react-native-branch 使用 或 安装本机 Branch ...
$ npm install react-native-haptic-feedback --save 或者 $ yarn add react-native-haptic-feedback 连结中 $ react-native link react-native-haptic-feedback $ cd ios && pod install 或手动安装 的iOS
帮助文件可以帮助我们理解Java的语法规则、库函数的使用方法等,是学习Java的重要参考资料。 总的来说,JAVA的学习过程需要重视基础知识的掌握,包括Java开发环境的搭建、JDK的使用等。只有掌握了这些基础知识,...
入门确保同时安装react-native-collapsing-toolbar和react-native-nested-scroll-view 。 $ npm install react-native-nested-scroll-view --save $ npm install react-native-collapsing-toolbar --save安装...