Android: Sie müssen ein Shared Preferences-Objekt in C ++ NDK erstellen und einen booleschen Wert speichern

9

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 ist

Wenn 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

    
Amjad Khan 29.07.2017, 05:00
quelle

3 Antworten

0

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%     
Amjad Khan 09.08.2017, 10:25
quelle
3

Ich habe gerade saveBoolean(boolean bool) in MainActivity von JNI aufgerufen und den Wert gespeichert. Hier ist Code: MainActivity

%Vor%

}

%Vor%

Hier sind Methodsignaturtypen

%Vor%

Hier ist ein Link, um mehr ..

Glückliche Kodierung !!!

    
vikas kumar 05.08.2017 15:15
quelle
1

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:

  • Java ruft C ++
  • auf
  • Basierend auf Informationen, die von Java übergeben wurden, hängt C ++ an JVM
  • an
  • C ++ - Code ruft Java-Code von einer anderen Klasse auf (in Ihrem Fall ist es das SharedPreferences-Objekt)

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

    
mko 31.07.2017 11:48
quelle

Tags und Links