2016-06-13 7 views
0

Ich lerne Android und ich habe eine einfache App erstellt, in der oberen Navigationsmenü ist in Android-Code und die verbleibende Website ist in Web-Ansicht.Wie wird der Warenkorb aktualisiert, wenn der Benutzer ein Produkt per Web-Ansicht in den Warenkorb legt?

Jetzt im Hauptmenü, gibt es eine Schaltfläche für Warenkorb und Wunschliste Elemente. Diese Menüpunkte sollten eine Nummer haben, die die Anzahl der Artikel im Warenkorb und der Wunschliste anzeigt.

Das Problem ist also, dass, wenn Benutzer ein Produkt per Web-View-Formular in den Warenkorb legt, es nicht sofort auf das native Menü reflektiert. Was kann ich tun, um dieses Problem zu lösen?

+0

nicht sofort reflektierend oder nicht reflektierend? – H4SN

+0

Es spiegelt sich eigentlich nicht, weil beide auf verschiedenen Plattformen sind. Eigentlich habe ich alle 15 Sekunden einen Hintergrund-Webservice, um die gesamten Artikel im Warenkorb und Wunschliste und Aktualisierung auf dem Warenkorb zu erhalten. Dieser Ansatz sieht jedoch für mich nicht zu skalierbar aus. Daher suche ich nach einer Alternative. –

Antwort

0

Wenn der Benutzer ein Produkt zum Einkaufswagen hinzufügt, sollten Sie eine Android-Methode von Ihrem JavaScript-Code aufrufen, der Ihren Zähler aktualisiert (vermutlich eine TextView).

Sie sollten in der Lage sein, so etwas zu tun in Ihrem Activity:

@JavascriptInterface 
public void updateCounter(int count) { 
    yourTextView.setText(Integer.toString(count)); 
} 

Ihre Activity als JavaScript-Schnittstelle registrieren:

// you could do this in onCreate() 
yourWebView.addJavascriptInterface(this, "Android"); 

Und dann können Sie updateCounter() von Ihrem JavaScript-Code aufrufen :

<script type="text/javascript"> 

    // ... 

    // call this function whenever/wherever you would like to update your counter 
    function updateCounter(count) { 
     Android.updateCounter(count); 
    } 
</script> 

Überprüfen Sie this documentation auf JavaScript-Code an Android-Code binden.

Verwandte Themen