这已被问过一次,但对我来说根本不起作用。所以我想我会再问一次。通过意图在活动之间传递JSON数组
我有一个JSONarray,我想通过我的第二个活动使用意图。
这是我的代码的一部分,它连接到一个MySQL数据库,并将有关用户的数据放在JSONarray中。这一切迄今为止都有效。
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
sb = new StringBuilder();
sb.append(reader.readLine() + "\n");
String line="0";
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result=sb.toString();
}catch(Exception e){
Log.e("log_tag", "Error converting result "+e.toString());
}
String ct_user;
String ct_pass;
Intent personal = new Intent(Home.this, Loggedin.class);
try{
jArray = new JSONArray(result);
JSONObject json_data=null;
json_data = jArray.getJSONObject(0);
ct_user = json_data.getString("user");
ct_pass = json_data.getString("pass");
if (passwordstring.equals(ct_pass)){
Bundle b = new Bundle();
b.putString("userdata",json_data.toString());
personal.putExtras(b);
startActivity(personal);
}
}
我想通过意向发送我的完整JSONarray到我的第二个活动(Loggedin)。以便我可以显示例如ct_email = json_data.getString(“email”);这是第一个活动从mysql获取的数组中的另一个值。
这是关于这个问题的另一个问题: passing jsonarray from 1 activity to another
这种解决方案并没有因为在第二个活动误差为我工作,不停地说它不能转换捆的意图,我什么都试过了我能想到的的。
Intent b = getIntent().getExtras();
String userdata=b.getString("userdata");
感谢
编辑
感谢您的快速答复家伙。我是Stackoverflow的新手,所以请原谅我关于代码标记等方面的错误。我尝试正确地做到这一点。
但它仍然不适合我。这是我的第二活动的一部分:
public class Loggedin extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.loggedin);
myfunction();
}
public void myfunction(){
Bundle b = getIntent().getExtras();
String userdataArray = b.getString("userdata");
String ct_email;
ct_email = userdataArray.getString("email");
}
}
的误差是“方法的getString(字符串)是未定义的类型字符串”。 我一定在做一些愚蠢的事情。
+1了正确答案,请确保您标记代码代码下一次:) – MByD 2012-01-08 03:56:28
感谢。但仍然没有工作。我编辑了我的第一篇文章。 – 2012-01-08 04:04:25
你有什么问题? – kosa 2012-01-08 04:05:40