新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论Java, J2SE, J2ME, J2EE, 以及Eclipse, NetBeans, JBuilder等Java开发环境,还有JSP, JavaServlet, JavaBean, EJB以及struts, hibernate, spring, webwork2, Java 3D, JOGL等相关技术。
    [返回] 中文XML论坛 - 专业的XML技术讨论区计算机技术与应用『 Java/Eclipse 』 → Java高级应用开发经验分享[灌水] 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 14353 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: Java高级应用开发经验分享[灌水] 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     多翻空什 帅哥哟,离线,有人找我吗?魔羯座1980-1-1
      
      
      等级:大一新生
      文章:1
      积分:52
      门派:XML.ORG.CN
      注册:2009/9/23

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给多翻空什发送一个短消息 把多翻空什加入好友 查看多翻空什的个人资料 搜索多翻空什在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看多翻空什的博客楼主
    发贴心情 Java高级应用开发经验分享[灌水]

    Java的优点有: 跨平台性很强的,一次编译到处运行,一边编译一边执行, 不受病毒的干扰。但是美中不足,运行速度比C,C++ 等语言慢, 访问硬件底层比不上C++,C,一些应用需求却需要执行纯 Java 程序无法完成的一些任务。为此SUN公司为了突破JAVA的瓶颈, 就引入了JNI 的作用, JNI就是能够兼容C,扬长避短, 快速的访问硬件底层, 扩展我们软件的功能, 随心所欲的进行开发。对于移动开发而言, BREAW, SYMBIAN,等就是以C和C++为基础的, 而现在市场的新兴智能平台ANRDOID 和中国移动的Ophone也是以JAVA 开发为主, 也用到了JNI。而为什么笔者在本文力也推JNI 呢? 原因如下 :
    J2ME作为手机应用开发的先驱,由于它的出发点考虑比较低,开发出来的手机应用软件处处受到限制,特别是在底层方面比如手机壁纸,声音均衡器,声音的捕捉等是不能通过软件来设置。不能让我们随心所欲的开发、策划我们的软件。而我们从Android Library或Ophone Library的组成来看, 他是由一系列的c/c++库组成,这些库的能力通过JNI封装成java接口,由Application Framework层提供给开发者。这样JNI为的们访问手机的硬件底层提供接口和方便。这些底层有:声音均衡器,视频,地图,3D, 驱动编写,网络底层等,这样就可以用JAVA 做UI界面,JNI来调用系统的底层, 这样两结合起来就是既提高开发的速度,又提高了软件的运行速度。不久将来Android 或Ophone只要实现了J2me API(大势所趋),这样大量现有的J2ME的应用可以很容易的移植到Android 或Ophone上来,而且通过JNI可以很容易的增加调用底层的高级功能。市场前景很宽阔。下面我就介绍一下:  
    java 调用JNI示例:
    class HelloWorld {
      public native void displayHelloWorld();//声明调用C的方法
      
      static {
      System.loadLibrary("hello");//导入C的文件,并运行C的MAIN() 方法.
      }
      
      public static void main(String[] args) {// 运行主程序
      new HelloWorld().displayHelloWorld();//生成
      }
      }
    声明native方法:如果你想将一个方法做为一个本地方法的话,那么你就必须声明改方法为native的,并且不能实现。其中方法的参数和返回值在后面讲述。
      
      Load动态库:System.loadLibrary("hello");加载动态库.

    C 的代码:

      #include
      /* Header for class HelloWorld */
      
      #ifndef _Included_HelloWorld  //声明C文件( 标识为C,语言代码)
      #define _Included_HelloWorld
      #ifdef __cplusplus
      extern "C" {  //调用C的标志
      #endif

      JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld // 方法主体
      (JNIEnv *, jobject);
      
      #ifdef __cplusplus
      }
      #endif
      #endif
      
    从以上的代码我们可以看出, 调用JNI 就是首先是写好C文件, 然后在要调用它的JAVA文件声明调用方法, 在方法里面调用 System.loadLibrary() 即可。
    这样方便,代码量少, 实用, 有一定的C语言基础的人, 几分钟就可以入门了, 根本不用那么长的时间来看。 没有C语言的人看了几天的C入门, 也很快上手的。

    JNI 调用功能,目前只在中国移动OPHONE和ANDROID  被引入了,Symbian 、Wm、Brew等平台,还不能通过JNI方式很好的调用底层硬件,影响了软件体验的完美程度。这一点仅仅是平台差异对未来软件人性化设计的影响差异。软件的人性化差异,会影响用户的规模,市场的规模,这点大家都很清楚。如果再加上市场因素,比如,Symbian、Wm虽然现在很流行,但是后来居上的Android和Ophone,尤其是Ophone,借助中国移动在7亿手机用户市场70%的市场占有率和大把的商业、企业客户,未来在这2个市场上销售手机娱乐软件和行业移动自动办公软件,市场的商机肯定比其它光有产品而没有市场控制力的国外厂家要强,这一点也很明显。
    所以我们了解熟悉JNI的用法,也可以很方便把我们现有的软件产品,快速移植到Android或Ophone平台上来。
    最近看新闻,说移动在广州和几个自由软件作者刚签约,在移动的MM在线软件销售商店上卖。3,7分成,工程师拿7成,看着挺让人羡慕。以后自己有灵感开发个有意思的手机娱乐软件卖卖,又多了条生财之路。
    3G市场起来,估计后面跟风的软件开发公司也会多,移动软件工程师比咱们做pc软件开发的工程师挣得多,唉。。。
    如果大家也有兴趣,我给大家介绍2个网站:
    Gphone Android可以去这里看看http://bbs.android123.com/。有很多开发经验交流内容。
    Ophone官方网站http://www.ophonesdn.com, 上面的大量的入门资料, 适合初、中,高级开发者, 包括了地图, 声效, 视频等方面资料应用,收获的效果可能超出你的想像。比如他在 开发社区上天天有资料更新, 有时用百度,谷歌看看搜不到资料,因为现在Ophone开发者越来越多, 而且他目前不断的在在丰富他的开发群,官网就成开发者的天堂,同时他也注重JNI的应用的推广, 我看了几次发现JNI在Ophone, Android 使用起来也比较得简单。


       收藏   分享  
    顶(1)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/9/23 19:51:00
     
     像雨又像雾 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:1
      积分:54
      门派:XML.ORG.CN
      注册:2009/9/26

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给像雨又像雾发送一个短消息 把像雨又像雾加入好友 查看像雨又像雾的个人资料 搜索像雨又像雾在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看像雨又像雾的博客2
    发贴心情 
    感觉他们网站还是有点技术含量。起码提供的技术文档,按着方法试了试。http://www.ophonesdn.com/forum/forum.do。OPhone开发文档都很全面,对我刚接触这个平台的时候,所碰到的问题,在线专业工程师都能够给我解答。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/9/26 11:15:00
     
     稻飞虱D 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:30
      积分:197
      门派:XML.ORG.CN
      注册:2009/9/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给稻飞虱D发送一个短消息 把稻飞虱D加入好友 查看稻飞虱D的个人资料 搜索稻飞虱D在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看稻飞虱D的博客3
    发贴心情 
    上面的JNI源码我已经放在ECLIPSE 里面运行过了,太简单了。哈我喜欢我解答。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/9/30 10:15:00
     
     稻飞虱D 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:30
      积分:197
      门派:XML.ORG.CN
      注册:2009/9/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给稻飞虱D发送一个短消息 把稻飞虱D加入好友 查看稻飞虱D的个人资料 搜索稻飞虱D在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看稻飞虱D的博客4
    发贴心情 
    跟确切地说,除非你的J2ME程序超级简单,否则它基本不跨平台--换一台手机执行就要移植一次。
    或许J2ME技术在跨平台上却做的很不能让人满意,但Ophone OS上的Java似乎要好一点,至少系统是完全统一的。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/10/6 15:40:00
     
     aghgeig 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:54
      门派:XML.ORG.CN
      注册:2009/10/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给aghgeig发送一个短消息 把aghgeig加入好友 查看aghgeig的个人资料 搜索aghgeig在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看aghgeig的博客5
    发贴心情 
    JAVA依旧是个强大的语言。顶了此贴必火。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/10/8 11:20:00
     
     稻飞虱D 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:30
      积分:197
      门派:XML.ORG.CN
      注册:2009/9/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给稻飞虱D发送一个短消息 把稻飞虱D加入好友 查看稻飞虱D的个人资料 搜索稻飞虱D在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看稻飞虱D的博客6
    发贴心情 
    ophone讲座都听了没?谁听了,?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/10/12 10:06:00
     
     稻飞虱D 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:30
      积分:197
      门派:XML.ORG.CN
      注册:2009/9/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给稻飞虱D发送一个短消息 把稻飞虱D加入好友 查看稻飞虱D的个人资料 搜索稻飞虱D在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看稻飞虱D的博客7
    发贴心情 
    广州站现场人太多,挤不进去。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/10/13 9:50:00
     
     小男孩123 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:9
      积分:86
      门派:XML.ORG.CN
      注册:2009/10/13

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给小男孩123发送一个短消息 把小男孩123加入好友 查看小男孩123的个人资料 搜索小男孩123在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看小男孩123的博客8
    发贴心情 
    ophoneOS入门还是很容易的。但是要作深,还是得多听听最近开展的讲座了。也就ophone刚推。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/10/16 10:23:00
     
     稻飞虱D 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:30
      积分:197
      门派:XML.ORG.CN
      注册:2009/9/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给稻飞虱D发送一个短消息 把稻飞虱D加入好友 查看稻飞虱D的个人资料 搜索稻飞虱D在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看稻飞虱D的博客9
    发贴心情 
    目前最主流的开发系统就是Android OphoneOS IphoneOS,但国内这三种平台开发个人或团队都不多。主要还是集中于2G傻瓜系统symbian。智能机在全球数量的增加与被人们的热捧。Symbian系统本身已经很难满足现在智能机的要求了。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/10/19 16:10:00
     
     猪猪887 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:11
      积分:95
      门派:XML.ORG.CN
      注册:2009/10/19

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给猪猪887发送一个短消息 把猪猪887加入好友 查看猪猪887的个人资料 搜索猪猪887在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看猪猪887的博客10
    发贴心情 
    如若说这个对于新手具有一定的帮主,移动市场的趋势流行化,让我们更加关注移植方面的技术问题。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/10/22 9:32:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Java/Eclipse 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/9/21 10:38:49

    本主题贴数11,分页: [1] [2]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    156.250ms