2012-12-01 39 views
2

您好我米試圖將我java代碼c代碼爲更好的速度隨機數JNI,如何產生的Android

,我想在Java代碼中使用jni(android)

以產生c code一個隨機數,

public int getRandomNumberFor() 
    { 
     Random random ; 
     random = new Random(); 
     return random.nextInt(0xFF); 
    } 

我不知道是什麼代碼工作c

我嘗試找到示例,但不幸的是我不明白。任何人都可以幫助我。

+0

這是不太可能更快。跨越JNI邊界的成本可能會超過調用C方法而不是Java方法的任何改進。 – EJP

回答

4

更改您的代碼作爲NDK使用C語言程序設計:

#include <stdio.h> 
#include <stdlib.h> 

JNIEXPORT jint JNICALL Java_com_imrantestndk_androiddemo_NativeLib_Randomnum 
    (JNIEnv * env, jobject this){ 
    int n; 
    n = rand()%100 + 1; 

    return n; 
} 

或者

#include <stdio.h> 
#include <stdlib.h> 
#include <time.h> 
JNIEXPORT jint JNICALL Java_com_imrantestndk_androiddemo_NativeLib_Randomnum 
    (JNIEnv * env, jobject this){ 
int random; 
randomize(); 
random = random(100); 
return random; 
} 
+0

你試過了嗎? –

+0

+1是的,我嘗試了第一個,它的工作很好,感謝您的快速回復。 – Youddh

+0

最受歡迎的朋友!!! :)第二個呢? –