Передача данных ответа JSON из действия на фрагмент в Android
Мне нужно передать имя пользователя и токен, которые возвращаются из ответа json (успешный logcat) из моей учетной записи LoginActivity, чтобы я мог установить их в качестве параметров для нового http-запроса.
Как мне это сделать?
Кстати, если возможно, можете ли вы также научить меня, как я могу отображать все машины, используя цикл foreach или что-то еще!
1 ответ
Вы можете передать свой параметр как данные пакета во фрагмент.
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();
вы можете получить эти данные из метода carfragment onCreate()
Bundle bundle= getArguments();
String username= bundle.getString("username");
String token = bundle.getString("token");
Для каждого может быть закодировано как
for(Car car : carList){
// do your stuff using "car" variable
}
или же
вы можете использовать SharedPreference для хранения имени пользователя и токена
сохраните имя пользователя и токен
SharedPreferences preferences=getSharedPreferences("myPref",MODE_PRIVATE);
SharedPreferences.Editor editor= preferences.edit();
editor.putString("username",username);
editor.putString("token",token);
editor.apply();
в вашем carFragment используйте этот код для извлечения данных
SharedPreferences preferences=getActivity().getSharedPreferences("myPref", Context.MODE_PRIVATE);
String username=preferences.getString("username","");
String token = preferences.getString("token","");
Примечание. Хранение конфиденциальных данных в настройках рискованно. Поэтому попытайтесь зашифровать свой токен. и расшифровывать, когда вам нужно..