Je crée un cadran qui peut avoir la couleur personnalisée grâce à une application qui est sur le téléphone.Comment appeler un élément de données enregistré dans Android Wear?
J'ai vu des exemples utilisent les DataApi
et DataItem
pour enregistrer/charger les paramètres.
Le problème que je rencontrais est que lorsque je change à un autre et revenir au cadran, toutes les valeurs à l'intérieur du DataMap
semble être remis à null ou 0.
Voici un échantillon de ma méthode de onCreate()
le Porter au cadran, qui va essayer de charger la dernière couleur utilisée:
PendingResult<DataItemBuffer> results = Wearable.DataApi.getDataItems(mGoogleApiClient);
results.setResultCallback(new ResultCallback<DataItemBuffer>() {
@Override
public void onResult(DataItemBuffer dataItems) {
if (dataItems.getCount() != 0) {
for (int i = 0; i < dataItems.getCount(); i++) {
DataMapItem dataMapItem = DataMapIfromDataItem(dataItems.get(i));
if (dataMapItem.getDataMap().containsKey(COLOR_KEY)) {
mSelectedColor = dataMapItem.getDataMap().getInt(COLOR_PATH);
}
}
}
dataItems.release();
}
});
Notez que la ligne mSelectedColor = dataMap...
retournera 0.
Voici l'exemple de code de l'application mobile stockera ces données:
PutDataMapRequest dataMap = PutDataMapRequest.create(COLOR_PATH);
dataMap.getDataMap().putInt(COLOR_KEY, mSelectedColor);
Envoi/retreiving les œuvres de valeur de couleur lors de l'exécution, et onDestroy()
ou onStop()
ne sont pas modifier les données à 0.
Sont dataItems automatiquement « disposés » lorsqu'une activité/watchface est fermé, ou suis-je en train de mettre en œuvre cette chose mal?
Merci pour les aides!
Oh mec ... je ne peux pas croire que j'ai fait une erreur aussi évidente:/ Merci beaucoup! – JTY