• logo categorie
    RESOLU

    Définir le stockage de Geofence


    Bonjour
    Savez-vous comment définir le stockage de Geofence sous Android?
    Android
    Geofence
    Android
    utilisateur
    Maëlys
    Posté le : 15 Novembre à 09:48
    22 626 vues

  • 0
    Ethan
    Posté le : 15 Novembre à 09:51
    Bonjour
    Voici comment définir le stockage de Geofence sous Android:
    public class MainActivity extends FragmentActivity {
        ...
      
        public class SimpleGeofence {
                // Instance variables
                private final String mId;
                private final double mLatitude;
                private final double mLongitude;
                private final float mRadius;
                private long mExpirationDuration;
                private int mTransitionType;
    
          
            public SimpleGeofence(
                    String geofenceId,
                    double latitude,
                    double longitude,
                    float radius,
                    long expiration,
                    int transition) {
                // Set the instance fields from the constructor
                this.mId = geofenceId;
                this.mLatitude = latitude;
                this.mLongitude = longitude;
                this.mRadius = radius;
                this.mExpirationDuration = expiration;
                this.mTransitionType = transition;
            }
            // Instance field getters
            public String getId() {
                return mId;
            }
            public double getLatitude() {
                return mLatitude;
            }
            public double getLongitude() {
                return mLongitude;
            }
            public float getRadius() {
                return mRadius;
            }
            public long getExpirationDuration() {
                return mExpirationDuration;
            }
            public int getTransitionType() {
                return mTransitionType;
            }
           
            public Geofence toGeofence() {
                // Build a new Geofence object
                return new Geofence.Builder()
                        .setRequestId(getId())
                        .setTransitionTypes(mTransitionType)
                        .setCircularRegion(
                                getLatitude(), getLongitude(), getRadius())
                        .setExpirationDuration(mExpirationDuration)
                        .build();
            }
        }
        ...
     
        public class SimpleGeofenceStore {
            // Keys for flattened geofences stored in SharedPreferences
            public static final String KEY_LATITUDE =
                    "com.example.android.geofence.KEY_LATITUDE";
            public static final String KEY_LONGITUDE =
                    "com.example.android.geofence.KEY_LONGITUDE";
            public static final String KEY_RADIUS =
                    "com.example.android.geofence.KEY_RADIUS";
            public static final String KEY_EXPIRATION_DURATION =
                    "com.example.android.geofence.KEY_EXPIRATION_DURATION";
            public static final String KEY_TRANSITION_TYPE =
                    "com.example.android.geofence.KEY_TRANSITION_TYPE";
            // The prefix for flattened geofence keys
            public static final String KEY_PREFIX =
                    "com.example.android.geofence.KEY";
            
            public static final long INVALID_LONG_VALUE = -999l;
            public static final float INVALID_FLOAT_VALUE = -999.0f;
            public static final int INVALID_INT_VALUE = -999;
            // The SharedPreferences object in which geofences are stored
            private final SharedPreferences mPrefs;
            // The name of the SharedPreferences
            private static final String SHARED_PREFERENCES =
                    "SharedPreferences";
            // Create the SharedPreferences storage with private access only
            public SimpleGeofenceStore(Context context) {
                mPrefs =
                        context.getSharedPreferences(
                                SHARED_PREFERENCES,
                                Context.MODE_PRIVATE);
            }
           
            public SimpleGeofence getGeofence(String id) {
                
                double lat = mPrefs.getFloat(
                        getGeofenceFieldKey(id, KEY_LATITUDE),
                        INVALID_FLOAT_VALUE);
               
                double lng = mPrefs.getFloat(
                        getGeofenceFieldKey(id, KEY_LONGITUDE),
                        INVALID_FLOAT_VALUE);
               
                float radius = mPrefs.getFloat(
                        getGeofenceFieldKey(id, KEY_RADIUS),
                        INVALID_FLOAT_VALUE);
               
                long expirationDuration = mPrefs.getLong(
                        getGeofenceFieldKey(id, KEY_EXPIRATION_DURATION),
                        INVALID_LONG_VALUE);
                
                int transitionType = mPrefs.getInt(
                        getGeofenceFieldKey(id, KEY_TRANSITION_TYPE),
                        INVALID_INT_VALUE);
                // If none of the values is incorrect, return the object
                if (
                    lat != GeofenceUtils.INVALID_FLOAT_VALUE &&
                    lng != GeofenceUtils.INVALID_FLOAT_VALUE &&
                    radius != GeofenceUtils.INVALID_FLOAT_VALUE &&
                    expirationDuration !=
                            GeofenceUtils.INVALID_LONG_VALUE &&
                    transitionType != GeofenceUtils.INVALID_INT_VALUE) {
    
                    // Return a true Geofence object
                    return new SimpleGeofence(
                            id, lat, lng, radius, expirationDuration,
                            transitionType);
                // Otherwise, return null.
                } else {
                    return null;
                }
            }
        
            public void setGeofence(String id, SimpleGeofence geofence) {
               
                Editor editor = mPrefs.edit();
                // Write the Geofence values to SharedPreferences
                editor.putFloat(
                        getGeofenceFieldKey(id, KEY_LATITUDE),
                        (float) geofence.getLatitude());
                editor.putFloat(
                        getGeofenceFieldKey(id, KEY_LONGITUDE),
                        (float) geofence.getLongitude());
                editor.putFloat(
                        getGeofenceFieldKey(id, KEY_RADIUS),
                        geofence.getRadius());
                editor.putLong(
                        getGeofenceFieldKey(id, KEY_EXPIRATION_DURATION),
                        geofence.getExpirationDuration());
                editor.putInt(
                        getGeofenceFieldKey(id, KEY_TRANSITION_TYPE),
                        geofence.getTransitionType());
                // Commit the changes
                editor.commit();
            }
            public void clearGeofence(String id) {
                
                Editor editor = mPrefs.edit();
                editor.remove(getGeofenceFieldKey(id, KEY_LATITUDE));
                editor.remove(getGeofenceFieldKey(id, KEY_LONGITUDE));
                editor.remove(getGeofenceFieldKey(id, KEY_RADIUS));
                editor.remove(getGeofenceFieldKey(id,
                        KEY_EXPIRATION_DURATION));
                editor.remove(getGeofenceFieldKey(id, KEY_TRANSITION_TYPE));
                editor.commit();
            }
           
            private String getGeofenceFieldKey(String id,
                    String fieldName) {
                return KEY_PREFIX + "_" + id + "_" + fieldName;
            }
        }
        ...
    }
    
  • ⇒ Si vous êtes ici c'est que le sujet vous intéresse ^^
    Inscrivez-vous sur Oyant, apportez votre contribution sur ce sujet et gagnez de l'argent :

    Inscription
    Répondre
  • logo categorie
    RESOLU

    Obtenir l'emplacement actuel sous Android

    Bonjour
    Avez-vous un exemple qui permet d'obtenir l'emplacement actuel sous Android?
    Android
    Android
  • logo categorie
    RESOLU

    Spécifier les interfaces et définir les méthodes

    Bonjour
    Avez-vous une idée comment spécifier les interfaces et définir les méthodes sous Android?
    Android
    Interfaces
    Méthodes
    Android
  • logo categorie
    RESOLU

    Vérifier Google Play services

    Bonjour
    Je voudrais savoir le code qui permet de vérifier Google Play services sous Android?
    Android
    Google Play
    Services
    Android
  • logo categorie
    RESOLU

    Définir un DialogFragment qui affiche la boîte de dialogue d'erreur

    Bonjour
    Comment définir un DialogFragment qui affiche la boîte de dialogue d'erreur sous Android?
    Android
    DialogFragment
    Android
  • logo categorie
    RESOLU

    Ajouter la vue de QuickContactBadge

    Salut
    Je voudrais le code qui permet d'ajouter la vue de QuickContactBadge d'Android?
    Android
    QuickContactBadge
    Android
  • logo categorie
    RESOLU

    Ajouter le drapeau de navigation

    Bonjour
    Savez-vous comment ajouter le drapeau de navigation sous Android?
    Android
    Navigation
    Android
  • logo categorie
    RESOLU

    Définir l'ordre de tri sous Android

    Bonjour
    Je voudrais savoir le code qui permet de définir l'ordre de tri sous Android?
    Android
    Android
  • logo categorie
    RESOLU

    Initialiser le chargeur sous Android

    Salut
    S'il vous plaît avez-vous une idée comment initialiser le chargeur sous Android?
    Android
    Chargeur
    Android
  • logo categorie
    RESOLU

    Définir la méthode onItemClick()

    Bonjour
    J'ai besoin de savoir comment définir la méthode onItemClick() d'Android?
    Android
    Méthode
    Android
  • logo categorie
    RESOLU

    Spécifier les critères de sélection

    Bonjour
    Je voudrais savoir s'il vous plaît comment spécifier les critères de sélection sous Android?
    Android
    Android
  • logo categorie
    RESOLU

    Régler l'auditeur de contact sélectionné

    Salut
    Comment régler l'auditeur de contact sélectionné sous Android?
    Android
    Auditeur
    Android
  • logo categorie
    RESOLU

    Mettre en place la CursorAdapter pour le ListView

    Bonjour
    Savez_vous comment mettre en place la CursorAdapter pour le ListView d'Android?
    Android
    CursorAdapter
    ListView
    Android
  • logo categorie
    RESOLU

    Initialiser le Fragment sous Android

    Bonjour
    J'aimerais savoir comment puis-je initialise un Fragment sous Android?
    Android
    Fragment
    Android
  • logo categorie
    RESOLU

    Définir un fragment sous Android

    Bonjour
    J'ai besoin de savoir comment définir un fragment sous Android?
    Android
    Fragment
    Android
  • logo categorie
    RESOLU

    Comment définir une ListView ?

    Bonjour
    S'il vous plaît j'ai besoin de savoir comment définir une ListView sous Android?
    Android
    ListView
    Android
  • logo categorie
    RESOLU

    Exécuter l'adaptateur de synchronisation à la demande

    Bonjour
    Savez-vous comment exécuter l'adaptateur de synchronisation à la demande sous Android?
    Android
    Adaptateur
    Synchronisation
    Android
  • logo categorie
    RESOLU

    Exécuter l'adaptateur de synchronisation périodiquement

    Salut
    Je voudrais s'il vous plaît comment exécuter l'adaptateur de synchronisation périodiquement sous Android?
    Android
    Adaptateur
    Synchronisation
    Android
  • logo categorie
    RESOLU

    Exécuter l'adaptateur de synchronisation après un message réseau

    Bonjour
    Comment exécuter l'adaptateur de synchronisation après un message réseau sous Android?
    Android
    Adaptateur
    Synchronisation
    Réseau
    Android
  • logo categorie
    RESOLU

    Exécuter l'adaptateur de synchronisation lorsque des modifications de données du serveur

    Bonjour
    Comment exécuter l'adaptateur de synchronisation lorsque des modifications de données du serveur?
    Android
    Adaptateur
    Synchronisation
    serveur
  • logo categorie
    RESOLU

    Déclarer l'adaptateur de synchronisation dans le manifeste

    Bonjour
    Je voudrais savoir comment déclarer l'adaptateur de synchronisation dans le d'Android?
    Android
    Adaptateur
    Synchronisation
    Manifeste
    Android
  • Veuillez vous connecter pour profiter pleinement de toutes les fonctionnalités de Oyant.
    Connexion
    Inscription

    Poster une question

    AnimauxApplicationsArnaquesAutres langagesBases de donnéesBeauté et ModeC et C++Cartes de voeux, lettres, poèmes et discoursCMS (Système de gestion de contenu)CollectionCuisineCultureDémarches administrativesDivertissementDotnetDroitEmploiEmploi et études en informatiqueEnseignementEntrepriseEnvironnementEvénementsFinanceGénéral développementImmobilier, logement et urbanisme    JavaLanguesLogicielsMétiersNouvelles technologiesPHPPrestations socialesRéservé aux adultesSantéSportSystèmesTransportsVie pratiqueWebmasters - Développement web 3.011 Utlisateurs parcourent Oyant en ce moment