2017-08-07 2 views
0

Je dois passer le jeton nom d'utilisateur & qui retourne de la réponse json (logcat réussi) à partir de mon LoginActivity afin que je puisse les définir comme paramètres pour une nouvelle requête http.Transmettre des données de réponse JSON d'une activité à un fragment dans android

Comment puis-je le faire?

LoginActivity

CarListFragment

Soit dit en passant, si possible vous pouvez aussi me apprendre comment puis-je afficher toutes les voitures en utilisant foreach ou quelque chose!

+0

Utilisez SharedPreferences pour stocker au moins le nom d'utilisateur. Ne jamais stocker les mots de passe en texte clair –

Répondre

1

Vous pouvez transmettre votre paramètre en tant que données de groupe à fragmenter.

CarFragment carfragment= new CarFragment(); 
Bundle bundle=new Bundle(); 
    bundle.putString("username",username); 
    bundle.putString("token",token); 
    carfragment.setArguments(bundle); 

getSupportFragmentManager().beginTransaction().replace(R.id.your_container,carFragment).commit(); 

vous pouvez récupérer cette méthode

Bundle bundle= getArguments(); 
    String username= bundle.getString("username"); 
    String token = bundle.getString("token"); 

données de carfragment onCreate() Pour chacun peut être codé

for(Car car : carList){ 
// do your stuff using "car" variable 
} 

ou

vous pouvez utiliser SharedPreference pour stocker le nom d'utilisateur et jeton

votre login résultat de rappel, enregistrez le nom d'utilisateur et le jeton

SharedPreferences preferences=getSharedPreferences("myPref",MODE_PRIVATE); 
    SharedPreferences.Editor editor= preferences.edit(); 
    editor.putString("username",username); 
    editor.putString("token",token); 
    editor.apply(); 

dans votre carFragment utiliser ce code pour récupérer des données

SharedPreferences preferences=getActivity().getSharedPreferences("myPref", Context.MODE_PRIVATE); 
    String username=preferences.getString("username",""); 
    String token = preferences.getString("token",""); 

Remarque: Le stockage des données sensibles de préférence est risqué .. Donc, essayez de chiffrer votre jeton. et décrypter quand vous en avez besoin ..

+0

Vinayak, je ne sais pas quel conteneur dans la méthode replace(), Que dois-je mettre là? –

+0

Mettez votre ID framelayout à cet endroit. C'est dans votre fichier xml –

+0

Je comprends. J'ai besoin d'essayer! –