Java 函数从 C++ 代码 Eclipse jni 获取结果

标签 java android c++ eclipse java-native-interface

我是 Android 的新手,想使用 Java 函数来显示由 C++ 函数返回的值。我的 Java 代码是:

btnCalculate.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                float bill = Float.parseFloat(txBill.getText().toString());
                float result = calculateCHARGE(bill);
                Toast.makeText(getApplicationContext(),String.valueOf(result), Toast.LENGTH_LONG).show();

            }

        }); 

    }
    public native float calculateCHARGE(float b);
    static
    {
        System.loadLibrary("MyBills");
    }

}

cpp代码是:

#include <jni.h>

extern "C"{
    JNIEXPORT jfloat JNICALL

    Java_com_example_mybills_MainActivity1_calculateCHARGE(JNIEnv* env,jobject thiz,jfloat bill)
    {
        jfloat answer = bill;

        return answer;
    }

请帮帮我。 我还想知道如何在我的图形布局上的 TextView 上显示“答案”。

最佳答案

你有没有下载Android NDK kit,它已经有一些基本的例子了Android NDK

如果你在 Windows 上,你必须在你的机器上安装 CYGWIN,NDK 的基本教程在这里 http://mobile.tutsplus.com/tutorials/android/ndk-tutorial/

关于Java 函数从 C++ 代码 Eclipse jni 获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17183162/

相关文章:

java - 在 Firebase 群发消息应用中实现阅读回执功能

java - 根据字符串长度调整字体大小

java - 如何将java中类的所有对象的值加在一起?

java - 使用 SVNKit 的 SVN 日志

c# - 由于重载方法,使用 Xamarin Android 的绑定(bind)错误

c++ - 为什么只能保证std::atomic_flag是无锁的?

java - Hibernate Apache Derby 自定义序列

android - 添加 Android Jetpack Compose 导航库后,实现 ViewModelProvider.Factory 失败,继承自具有 '@JvmDefault' 的接口(interface)

c++ - 有进度的快速文件复制

c++ - 如何删除数组 C++?