我有一个小问题,我被卡住了。问题是我通过下面的代码传递了一个id。
Intent i = new Intent(First.this,Second.class);
i.putExtra("classification_id","3");
然而,当我尝试使用下面的代码获取参数3时,我在调试模式下检查时得到-1的结果。
if(intent.getExtras().getString("classification_id")!=null){
classId = intent.getExtras().getString("classification_id");
}else{
classId = "1";
}
实际上我想使用此参数将其设置为url以获取json数据以获取json数据。但这是正确的方法吗?或者将String int设置为url是不好的做法?防爆。 "www.test.test/myid?="+classId
答案 0 :(得分:2)
意图从何而来?有getIntent()
或Intent来自onNewIntent()
此外,我认为这更短
if(getIntent().hasExtra("classification_id")) {
String classId = getIntent().getStringExtra("classification_id");
}
至于将String插入url,如果有很多参数,你将不堪重负(顺便说一下,我认为这是一个错误的格式:www.example.test / myid?= classId也许这就是你想要的www.example。 com / test?myid = classId)。所以我们可以做到
private static final String URL="https://www.example.com";
private static final String PATH = "test";
private static final String PARAM_MYID = "myid";
public static String buildMyUrl(String id){
Uri.Builder b = Uri.parse(URL).buildUpon();
b.path(PATH);
b.appendQueryParameter(PARAM_MYID, id);
b.build();
return b.toString();
}