zoukankan      html  css  js  c++  java
  • android -------- 我创建的第一个 NDKDmeo 案例

    前面的NDK是弄的官方的,自己弄了一下,弄让他运行起来,今天来简单的写一个。

    我是在Eclipse中开发的,创建一个NDKDemo项目,然后如下图:

    在项目上–>右键–>Android Tools –>Add SuportLibrary   填入JNI名称

    填写名称

    在工程中会自动生成jni文件夹,有**.cpp和Android.mk文件

    编写cpp文件(网上找的一段代码)

    #include <jni.h>
    #include <stdio.h>
    #include <string.h>
    extern "C" {
    
    JNIEXPORT jstring JNICALL Java_com_zhangqie_ndk_MainActivity_getString(JNIEnv* env, jobject obj)
        {
           return env->NewStringUTF("zhangqie");
    
        }
    
    }

    Activity代码

    public class MainActivity extends Activity {
        
        
        /*
         * 声明一个native方法
         * 这个方法在Java中是没有实现的, 没有方法体
         * 该方法需要使用C语言编写
         */
        public static native String getString();
    
        //静态代码块加载C语言库文件
        static{
            System.loadLibrary("zq");
        }
        
        
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            System.out.println(getString());
        }
        
        
        public void btnJni(View v){
            Toast.makeText(getApplicationContext(), getString(), 1).show();
        }
        
    }

    运行程序

     

  • 相关阅读:
    Linux操作系统学习之第三篇
    Linux操作系统学习之第二篇
    简介VMware workstaion
    Linux操作系统学习之起始篇
    c# 与java对应的 aes加密(带向量的)
    string转DateTime
    webapi项目创建
    c# mqtt 服务端、客户端简易例子
    vs快捷键
    c# 用byte数组生成图片
  • 原文地址:https://www.cnblogs.com/zhangqie/p/8891431.html
Copyright © 2011-2022 走看看