Tu pense faire quoi?
Tu pense faire quoi?
Jonathan Monga
Bah je veux les envoyer dans une autre Activity et affecter chaque paramètre une variable.
Ces variables je pourrai les réutiliser après pour le reste.
le probleme persiste?
Jonathan Monga
Du coup si je fais juste ça, j'ai pas d'erreur puisque j'ai le code comme avant qui fonctionne, donc j'ai juste rajouté un intent pour faire passer mes objets vers autre classe.
Mais j'ai toujours pas de réponse pour récupérer mes accesseurs dans "PositionBean" après de multi poste.
Par contre dans:
Si j'enlève dans "objet.putExtra("test", responseObj);" si j'enlève "test" alors il me met une erreur sur "responseObj".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Intent objet = new Intent(RecupApi.this, MapsActivity.class); objet.putExtra("test", responseObj); sendBroadcast(objet);
Et comment je fais pour le récupérer derrière j'ai une erreur dans mon autre Activity.
J'ai fais ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Bundle objet = (objet) getIntent("my object", responseObj);
Et j'attends toujours une réponse pour:
"Comment récupérer les champs positions dans mon "PositionBean" , sa fait une semaine que je demande mais personne n'a encore était capable de me répondre.
Je vais peut-être ré-ouvrir un topic dessus.
Donc "le probleme persiste? "
Oui, toujours pas de réponse...
Commence d'abord par resortir l'architecture du json recu.
par exemple :
Donc ceci te permettra de créé ta classe bean
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 [ { name = "Jonathan" age = 20 } ]
Jonathan Monga
J'insiste revois bien la structure de ton json
Jonathan Monga
"J'insiste revois bien la structure de ton json "
Comment ça revoir la structure de mon JSON ?
Posté ton json comme ça que je fasse ça
Jonathan Monga
Non, c'est à moi de le faire, pas aux autres de me mâcher le travail.
Comme on le voit j'ai changé un peu le code, dans le debugger mon responseObj reçoit bien tout, par contre mon responseObj2 ne reçoit pas la Latitude et la Logitude.
Je n'ai peut-être pas besoin de ça, mais on ne m'a toujours pas répondu à ma simple question, comment j'envoie et je récupère juste mes coordonnées vers une autre Activity ?
Je sais pas mais j'ai l'impression que personne ne me comprend ?
Je m'explique mal ?
C'est pourtant simple.
Je veux traiter mon "responseObj" dans plusieurs activity, et ré-utiliser ses paramètres.
Nom
Adresse
Coordonnées...
C'est possible d'avoir une réponse ?
Quelqu'un à déjà intégrer une google map sur Android Studio ?
Oui mon frere.
vous voulez des explications?
Jonathan Monga
Oui, je veux bien.
J'ai suivi ce tuto: http://blog.rolandl.fr/1230-android-...aps-android-v2
Mais je ne vois pas comment sous Android Studio je peux importer un projet existant.
Dans "«Existing Android Code Into Workspace»".
La manière de faire de ce tutoriel est dépassée.
Il n'est plus la peine d'ajouter une module en dépendance depuis 2014.
Préfère aller vers la documentation officielle plutôt : https://developers.google.com/maps/d...pi/intro?hl=fr
C'est Android, PAS Androïd, ou Androïde didiou !
Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.
Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.
N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android
C'est bien ce que je me disais aussi en ayant lu le tutoriel.
Merci pour l'info
J'avais une question.
J'avais crée un Service pour ma localisation GPS.
Voilà mon code pour cette class:
Le soucis c'est que lorsque je veux ma position, il me renvoie "null" .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79 public class GPS_Service extends Service { private LocationListener listener; private LocationManager locationManager; //private LocationListener locationListener; @Nullable @Override public IBinder onBind(Intent intent) { return null; } public void onCreate() { locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); listener = new LocationListener() { boolean gpsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER); //function qui renvoie la latitude et la longitude de notre position sous forme de text @Override public void onLocationChanged(Location location) { Intent localisation = new Intent("location_update"); localisation.putExtra("coordinates", location.getLongitude() + " " + location.getLatitude()); //On envoie notre intent grâce à la fonction "sendBroadcast" sendBroadcast(localisation); } //@Override public void onStatusChanged(String s, int i, Bundle extras) { } //@Override public void onProviderEnabled(String s) { } //@Override public void onProviderDisabled(String s) { Intent localisation = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); localisation.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(localisation); } /** * //On envoie nos coordonnées Longitude et Latitude à notre map Intent IntentLocalisation = new Intent("location_update"); IntentLocalisation.putExtra("coordonnées :", listener.onLocationChanged().getLongitude() + " " + listener.onLocationChanged().getLatitude()); //On envoie notre intent grâce à la fonction "sendBroadcast" sendBroadcast(IntentLocalisation);**/ }; /** //On envoie nos coordonnées Longitude et Latitude à notre map Intent IntentLocalisation = new Intent("location_update"); IntentLocalisation.putExtra("coordonnées :", listener.onLocationChanged().getLongitude() + " " + listener.onLocationChanged().getLatitude()); //On envoie notre intent grâce à la fonction "sendBroadcast" sendBroadcast(IntentLocalisation);**/ locationManager = (LocationManager) getApplicationContext().getSystemService(Context.LOCATION_SERVICE); //noinspection MissingPermission locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,3000,0,listener); } @Override public void onDestroy() { super.onDestroy(); if(locationManager != null){ //noinspection MissingPermission locationManager.removeUpdates(listener); } } }
Pourtant je ne vois pas d'où viens mon erreur.
Donc pour le coup je l'ai recrée dans ma class map que je n'ai pas pu encore tester pour cause de bug.
voilà ma class map:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170 public class MapsActivity extends FragmentActivity implements LocationListener, OnMapReadyCallback, GoogleApiClient.ConnectionCallbacks { private GoogleMap mMap; //public float Latitude; //public float Longitude; //public float positionUser; private LocationManager locationManager; private GoogleMap gMap; private Marker marker; //On récupère l'Intent avec ses données protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_maps); gMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMapAsync(); marker = gMap.addMarker(new MarkerOptions().title("Vous êtes ici").position(new LatLng(0, 0))); } @Override public void onResume() { super.onResume(); //Obtention de la référence du service locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); //Si le GPS est disponible, on s'y abonne if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) { abonnementGPS(); } } @Override public void onPause() { super.onPause(); //On appelle la méthode pour se désabonner desabonnementGPS(); } /** * Méthode permettant de s'abonner à la localisation par GPS. */ public void abonnementGPS() { //On s'abonne if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { // TODO: Consider calling // ActivityCompat#requestPermissions // here to request the missing permissions, and then overriding // public void onRequestPermissionsResult(int requestCode, String[] permissions, // int[] grantResults) // to handle the case where the user grants the permission. See the documentation // for ActivityCompat#requestPermissions for more details. return; } locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 10, this); } /** * Méthode permettant de se désabonner de la localisation par GPS. */ public void desabonnementGPS() { //Si le GPS est disponible, on s'y abonne if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { // TODO: Consider calling // ActivityCompat#requestPermissions // here to request the missing permissions, and then overriding // public void onRequestPermissionsResult(int requestCode, String[] permissions, // int[] grantResults) // to handle the case where the user grants the permission. See the documentation // for ActivityCompat#requestPermissions for more details. return; } locationManager.removeUpdates(this); } @Override public void onLocationChanged(final Location location) { //On affiche dans un Toat la nouvelle Localisation final StringBuilder msg = new StringBuilder("lat : "); msg.append(location.getLatitude()); msg.append( "; lng : "); msg.append(location.getLongitude()); Toast.makeText(this, msg.toString(), Toast.LENGTH_SHORT).show(); } @Override public void onProviderDisabled(final String provider) { //Si le GPS est désactivé on se désabonne if("gps".equals(provider)) { desabonnementGPS(); } } @Override public void onProviderEnabled(final String provider) { //Si le GPS est activé on s'abonne if("gps".equals(provider)) { abonnementGPS(); } } @Override public void onStatusChanged(final String provider, final int status, final Bundle extras) { } /** @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_maps); // Obtain the SupportMapFragment and get notified when the map is ready to be used. SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map); mapFragment.getMapAsync(this); }**/ //On vérifie si Google Play Services est disponible private boolean CheckGooglePlayServices() { GoogleApiAvailability googleAPI = GoogleApiAvailability.getInstance(); int result = googleAPI.isGooglePlayServicesAvailable(this); if(result != ConnectionResult.SUCCESS) { if(googleAPI.isUserResolvableError(result)) { googleAPI.getErrorDialog(this, result, 0).show(); } return false; } return true; } //on build une Google API Client puis on active l'emplacement de l'utilisateur actuel en utilisant "mMap.setMyLocationEnabled(true)" /**protected synchronized void buildGoogleApiClient(GoogleApiClient mGoogleApiClient) { mGoogleApiClient = new GoogleApiClient.Builder(this) .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .addApi(LocationServices.API) .build(); mGoogleApiClient.connect(); }*/ //@Override public void onMapReady(GoogleMap googleMap) { mMap = googleMap; //mMap.append() // Add a marker in Sydney and move the camera LatLng sydney = new LatLng(-34, 151); mMap.addMarker(new MarkerOptions().position(sydney).title("Votre position")); mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); } @Override public void onConnected(@Nullable Bundle bundle) { } @Override public void onConnectionSuspended(int i) { } }
J'aimerai avoir quelques informations, j'ai bien vue la documentation, j'en ai vue pas mal et tout ça.
Mais je me pose une question.
Moi j'ai crée un service "GPS_Service" qui doit me retourner la Latitude et la Longitude de la position de mon utilisateur, pour la récupérer et l'afficher dans mon Activity "MapsActivity" celle de ma map.
Je vois, ou du moins c'est ce que j'ai pu comprendre, que l'API de google le gère tout seul ?
Est ce vrai ?
L'api google ne gère pas la localization c'est plutôt le téléphone qui le fait.
D'ailleurs ce déconseillé par l'api elle même.
Jonathan Monga
D'accord.
Donc je récupère les données que je récupère avec mon GPS, comme je le pensée au début.
Mais j'ai un problème avant tout pour crée ma map.
La tu utilise l'api google pour en crée un
et pour la localization ton téléphone doit te fournir les coordonnées
Jonathan Monga
Bonjour,
Le topic à été mis en résolu alors que ce n'est pas du tout le cas.
Merci de le changer.
J'ai un petit problème de pas grand chose, quand je test mon application depuis l'émulateur il me demande de mettre à jours Google Play Service alors que c'est déjà fait.
Si je test sur mon téléphone ma map ne s'affiche pas entièrement mais jsute le logo de google en bas à gauche.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager