これまでに一度聞いたことがありますが、それはまったく機能しませんでした。だから私はもう一度尋ねると思った。インテントによるアクティビティ間でのJSON配列の受け渡し
インテントを使用して2番目のアクティビティに渡したいJSON配列があります。
これはmysqlデータベースに接続し、ユーザーに関するデータをJSON配列に格納するコードの一部です。これはこれまでのところすべて動作します。
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);
}
}
私の2番目のアクティビティ(Loggedin)に、完全なJSONarrayをインテントで送信したいと思います。たとえば、私はct_email = json_data.getString( "email")のように表示できます。これは、最初のアクティビティがmysqlから取得する配列内の別の値です。第二の活動にエラーが、それは意図にバンドルを変換できませんでしたと言い続け、私は私が考えることができるすべてを試してみましたので、解決策は私のために動作しなかったこと passing jsonarray from 1 activity to another
:
これは、このテーマに関する他の質問でしたの。
Intent b = getIntent().getExtras();
String userdata=b.getString("userdata");
おかげ
EDIT迅速な回答をする男性のための
感謝。私は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(文字列)は、String型のために定義されていません」されます。 私は何か愚かなことをする必要があります。
1正しい答えのために、あなたはコードの次の時間のようにコード:) – MByD
感謝をマークしていることを確認してください:あなたは、あなたはそのデータを引き出すためにそれを使用することができますJSONオブジェクトに文字列を解析する必要があります。まだ動作しません。私は最初の投稿を編集しました。 –
あなたの問題は何ですか? – kosa