将JSON响应数据从活动传递到android中的片段

将JSON响应数据从活动传递到android中的片段,android,json,request,android-volley,Android,Json,Request,Android Volley,我需要从我的LoginActivity传递从json响应(logcat successful)返回的用户名和令牌,以便我可以将它们设置为新http请求的参数 我怎么做 顺便问一下,如果可能的话,你也可以教我如何使用foreach循环或其他方式显示所有的汽车 您可以将参数作为捆绑数据传递给fragment CarFragment carfragment= new CarFragment(); Bundle bundle=new Bundle(); bundle.putString("

我需要从我的LoginActivity传递从json响应(logcat successful)返回的用户名和令牌,以便我可以将它们设置为新http请求的参数

我怎么做


顺便问一下,如果可能的话,你也可以教我如何使用foreach循环或其他方式显示所有的汽车

您可以将参数作为捆绑数据传递给fragment

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()方法检索此数据

对于每种类型,可将其编码为

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

您可以使用SharedReference存储用户名和令牌

SharedPreferences preferences=getSharedPreferences("myPref",MODE_PRIVATE);
    SharedPreferences.Editor editor= preferences.edit();
    editor.putString("username",username);
    editor.putString("token",token);
    editor.apply();
在登录回调结果中,保存用户名和令牌

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","");

注意:优先存储敏感数据是有风险的。。因此,请尝试加密您的令牌。并在需要时解密。

使用SharedReferences至少存储用户名。永远不要在plaintextVinayak中存储密码,我不确定replace()方法中的容器是什么,我必须在那里放什么?把你的framelayout id放在那个地方。我理解它在您的xml文件中。我需要试试!维纳亚克。我犯了这个错误。java.lang.NullPointerException:尝试在com.vnetgps.topgps.BottomNavigationFragments.CarListFragment.onCreateView(CarListFragment.java:47)上的空对象引用上调用虚拟方法“java.lang.String android.os.Bundle.getString(java.lang.String)”您是从登录活动还是从主活动调用您的片段?