jsonデータを自分のサーバーに登録することはできますが、私は応答していますが、トーストで表示したり、他のアクティビティ(主な活動)。JSONレスポンスを他のアクティビティに送信してトーストで表示することはできません
レスポンスを文字列に変換し、ゲッターを使用して主な活動に送信しようとしましたが、私が言及したトーストでさえもLog.i
で見ることはできません。ここに私のコードは次のとおりです。
class SendJsonDataToServer extends AsyncTask<String, String, String> {
String j;
@Override
protected String doInBackground(String... params) {
String JsonResponse = "";
String JsonDATA = params[0];
HttpURLConnection urlConnection = null;
BufferedReader reader = null;
try {
URL url = new URL("http://gstedge.com/test/invoice/api.php?param=signup");
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setDoOutput(true);
// is output buffer writter
urlConnection.setRequestMethod("POST");
urlConnection.setRequestProperty("Content-Type", "application/json");
urlConnection.setRequestProperty("Accept", "application/json");
//set headers and method
Writer writer = new BufferedWriter(new OutputStreamWriter(urlConnection.getOutputStream(), "UTF-8"));
writer.write(JsonDATA);
// json data
writer.close();
InputStream inputStream = urlConnection.getInputStream();
//input stream
StringBuffer buffer = new StringBuffer();
if (inputStream == null) {
// Nothing to do.
return null;
}
reader = new BufferedReader(new InputStreamReader(inputStream));
String inputLine;
while ((inputLine = reader.readLine()) != null)
buffer.append(inputLine + "\n");
if (buffer.length() == 0) {
// Stream was empty. No point in parsing.
return null;
}
JsonResponse = buffer.toString();
j= JsonResponse;
//response data
Log.i("o/p:", JsonResponse);
//send to post execute
}
catch (IOException e) {
e.printStackTrace();
} finally {
if (urlConnection != null) {
urlConnection.disconnect();
}
if (reader != null) {
try {
reader.close();
} catch (final IOException e) {
Log.e("wtf", "Error closing stream", e);
}
}
}
return JsonResponse;
}
私はそれを削除し、文字列でそれを変換し、ゲッターを使用してそれを送信し、他の活動にそれを解析するために考えて、同様onpostexecuteで応答を取得することができませんでした。私はコードで上記のlog.i("o/p")
の応答を見ることができますが、私はなぜそれが送られてくるのかわかりません。
は、ここに私のmainactivityコードです:私は見
public class MainActivity extends AppCompatActivity {
EditText emailview, numberview, pwview;
Button registerview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
emailview = (EditText) findViewById(R.id.et1);
numberview = (EditText) findViewById(R.id.et2);
pwview = (EditText) findViewById(R.id.et3);
registerview = (Button) findViewById(R.id.btn1);
}
public void hit(View v) {
String email = emailview.getText().toString();
String contact = numberview.getText().toString();
String pw = pwview.getText().toString();
JSONObject a = new JSONObject();
try {
a.put("mail", email);
a.put("num", contact);
a.put("pass", pw);
} catch (JSONException e) {
e.printStackTrace();
}
if (a.length() > 0) {
new SendJsonDataToServer().execute(String.valueOf(a));
}
SendJsonDataToServer S = new SendJsonDataToServer();
String Jr = S.getJR();
Log.i("out:",Jr);
Toast.makeText(MainActivity.this, Jr, Toast.LENGTH_LONG).show();
Intent i= new Intent(MainActivity.this,UserAreaActivity.class);
startActivity(i);
}
}
トーストは空です。
プロの投稿のヒント:自分自身を参照するときに大文字の「I」を使用すると、読みやすくなります。段落のコードについて議論するときは、バックチックを使用して達成される 'thisのようなコードの書式設定 'を使用してください。最後に、しばしばdownvotesの原因であるtxtspkを避けてください。 "please"という単語を入力するのは大きな努力ではありません。 – halfer