本帖最后由 wudefang912 于 2012-11-01 09:05:26 编辑

解决方案 »

  1.   

    俺对c一般般
    com_fjnu_ffyy_text1_FloatArrayConv.h放在工程目录中了吗?
      

  2.   

    放进去了啊,头文件,c文件和mk文件都在里面。
      

  3.   

    是啊,我自己用了一下SetFloatArrayRegion这个可以了,不知道怎么用SetFloatArrayElement这个东西啊。下面是修改完后的代码:
    #include<com_fjnu_ffyy_text1_FloatArrayConv.h>
    #include<stdio.h>
    #include <jni.h>
    #include <string.h>#include <android/log.h>#define LOG_TAG "MYJNI"#define LOGI(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
    JNIEXPORT jfloatArray JNICALL Java_com_fjnu_ffyy_text1_FloatArrayConv_FloatArr
      (JNIEnv * env, jobject obj, jfloat flo){
    int size = 3;
    jfloatArray result;
    result = (*env)->NewFloatArray(env, size);//分配一个长度为size的浮点型数组
    if (result == NULL) {
    return NULL; /* out of memory error thrown */
    }
    float a = {1.0f};
    (*env)->SetFloatArrayRegion(env, result, 0,1, &a);
    float b = {1.2f};
    (*env)->SetFloatArrayRegion(env, result, 1,1, &b);
    float c = {13.0f/flo};
    (*env)->SetFloatArrayRegion(env, result, 2,1, &c); LOGI("OK");
    return result;
    }谢谢大家啊