Ich bin neu dazu weiß nicht, wie ich das anfangen soll,
Ich habe ein Projekt erstellt, das mit C ++ unter Verwendung von Android.mk
verknüpft istWenn ich also eine Methode von Java aus anrufe, sollte sie den booleschen Wert für mein gemeinsames Präferenzobjekt speichern.
Dies ist meine JNI-Methode
%Vor%normales Protokoll Ich habe gedruckt, es funktioniert jetzt nur brauchen nur Sharepreference-Objekt erstellen und booleschen Wert
setzen %Vor%Bitte führen Sie mich, wie es geht. Danke
%Vor%Sie müssen diese Methode in C ++ verwenden
Ich muss eine getSharedPreferences () -Methode aufrufen, also wie kann ich das aufrufen und boolean speichern.
Also habe ich zwei einfache Methoden zum Speichern und Abrufen boolescher Werte in NDK C ++ erstellt
MainActivity.java
%Vor%Deklarierte native Methode in MainActivity und auch als meine .so-Datei
NativeClass.Cpp
%Vor% Ich habe gerade saveBoolean(boolean bool)
in MainActivity von JNI aufgerufen und den Wert gespeichert.
Hier ist Code: MainActivity
}
%Vor%Hier sind Methodsignaturtypen
%Vor% Hier ist ein Link, um mehr .. Glückliche Kodierung !!!
Ich denke, Sie möchten Java-Klasse von Ihrem Code aufrufen. Ich schlage vor, Java von Ihrem C ++ Code zurückzurufen.
Schauen Sie hier nach:
In diesem Beispiel tun Sie Folgendes:
Es könnte sein, dass Sie eine Hilfsklasse benötigen, um die Dinge einfacher zu machen. Z.B. PreferencesStorer - wo Sie die richtigen Einstellungen erhalten und Werte übergeben, die Sie speichern möchten.
Schauen Sie hier nach:
%Vor%Dies ist die Methode, die Sie aufrufen möchten, aber Sie möchten: store (String value, int mode).
In Ihrem Code (in Java) müssen Sie dieses Objekt erstellen und es als Argument an Ihren C ++ - Code übergeben. In C ++ möchten Sie die Methode dieses Objekts aufrufen. In JVM wird es schon da sein - bereit, angerufen zu werden.
Wenn das nicht das ist, wonach Sie suchen, müssen Sie, glaube ich, einige weitere Informationen bereitstellen, um den gesamten Anwendungsfall etwas klarer zu machen.
Viel Spaß mit JNI
Tags und Links java android c++ android-ndk jni