Holen Sie sich das Ergebnis einer reaktiven nativen App, die in eine bestehende Android App integriert ist

8

Ich habe eine Menge Artikel darüber gefunden, wie man native in bestehende Android-Apps integrieren kann. Aber keiner von ihnen erklärt, wie man aus dem reaktiven nativen Code ein Ergebnis erhält, um es direkt im Java-android-Quellcode zu verwenden.

Erklärungen: Ich habe eine native App, die einen bestimmten Job ausführt und das Ergebnis in einem Popup-Fenster anzeigt. Ich möchte diese App integrieren (die notwendigen Änderungen vornehmen), um dieses spezifische Ergebnis in meinen Android-Java-Quellcode zu bekommen, anstatt es in ein reaktives natives Popup anzuzeigen.

Ich habe das ganze Internet durchsucht, aber nichts darüber gefunden.

    
Marc 20.10.2017, 11:31
quelle

2 Antworten

3

Um ein Ergebnis von der Aktivität zu erhalten, die Sie gestartet haben, muss Ihr Modul Zugriff auf die Referenz Ihrer Aktivität haben.
Hier sind zwei Lösungen:
- Deklarieren Sie das Modul als innere Klasse der Aktivität
- Übergeben Sie eine Referenz Ihrer Aktivität im Konstruktor des Moduls

Denken Sie jedoch daran, dass Ihr Modul in ReactPackage verwendet werden muss und ReactPackage eine Schnittstelle ist. Wenn Sie möchten, können Sie also Ihre ReactActivity die Schnittstelle implementieren lassen (anstatt eine neue Klasse zu erstellen). p>

Hier ist ein vollständiges Arbeitsbeispiel mit einem inner class und einer Aktivität, die ReactPackage implementiert:

%Vor%

Dann kannst du deine ReactActivity wie folgt starten:

%Vor%

Erhalten Sie das Ergebnis wie folgt:

%Vor%

Und benutze es einfach in React:

%Vor%     
Pascal 30.10.2017, 10:26
quelle
3

Vielleicht verstehe ich nicht, was Sie tun möchten. Aber können Sie nicht einfach ein natives Modul erstellen und Ihren React Native App-Aufruf ausführen lassen, wenn die Daten an Ihren nativen Code übergeben wurden?

Nehmen wir an, Sie haben einen React Native-Teil Ihrer App, der den Vor- und Nachnamen des Benutzers als Eingabe verwendet und auf submit klickt.

Sie würden Ihr RN-Javascript wie gewohnt codieren: Sie haben zwei TextInput-Felder, deren Werte Ihrem Status zugeordnet sind, und einen Button mit einem onPress-Handler. Im OnPress-Handler würden Sie Ihr Native Module aufrufen und die Parameter übergeben

%Vor%

Ihr natives Modul würde etwa so aussehen:

%Vor%     
Jeremy Lee 27.10.2017 07:39
quelle