다른 활동에 대한 JSON 응답을 보내고 알림에 표시 할 수 없습니다.

로빈 10

내 서버에 json 데이터를 등록 할 수 있고 응답도 받고 있지만 토스트에 표시하거나 다른 활동 (주 활동)으로 보낼 수 없습니다.

응답을 문자열로 변환하고 getter를 사용하여 mainactivity에 보내려고 시도했지만 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에서도 응답을 얻을 수 없었기 때문에 그것을 제거하고 그것을 문자열로 변환하고 getter를 사용하여 보내고 다른 활동에서 파싱하려고 생각했습니다. log.i("o/p")코드 에서 위에서 언급 한 응답을 볼 수 있지만 왜 전송되지 않는지 모르겠습니다.

내 주요 활동 코드는 다음과 같습니다.

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

}
}

내가 본 토스트가 비어 있습니다.

로낙 도시

설명:

두 개의 다른 개체를 만들고 있기 때문에 SendJsonDataToServer

먼저:

new SendJsonDataToServer().execute(String.valueOf(a));

둘째:

SendJsonDataToServer S = new SendJsonDataToServer();

따라서이 두 개체는 다른 메모리 할당을받습니다. 이 코드로 응답을 받으면

String Jr = S.getJR();

그러면 응답을받은 객체와 다른 객체에서 생성 된 응답을 받게됩니다. 그래서 Jr분명히 비어있을 것입니다. 그렇기 때문에 예상 한 응답을 인쇄 할 수 없습니다.

해결책:

먼저:

실행해야합니다.

Toast.makeText(MainActivity.this, Jr, Toast.LENGTH_LONG).show();

@Override
protected void onPostExecute(String result) {
    Toast.makeText(MainActivity.this, result, Toast.LENGTH_LONG).show();
}

당신의 방법 AsyncTask이있다.

둘째:

이 결과를 두 번째 활동에 보내려면 onPostExecute메서드에 이와 같은 코드를 작성해야합니다 .

@Override
protected void onPostExecute(String result) {
    Toast.makeText(MainActivity.this, result, Toast.LENGTH_LONG).show();
    Intent i = new Intent(MainActivity.this, UserAreaActivity.class);
    i.putExtra("result", result);
    startActivity(i);
}

이 코드 onCreate()UserAreaActivity

Bundle bundle = getIntent().getExtras();
String result = bundle.getString("result");
Toast.makeText(UserAreaActivity.this, result, Toast.LENGTH_LONG).show();

이제이 활동에서 결과를 사용할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Android는 다른 활동에 대한 목록보기를 표시 할 수 없습니다.

분류에서Dev

내보기에 답글을 표시 할 수 없습니다.

분류에서Dev

Ionic 2 :보기에 JSON 응답을 표시 할 수 없음

분류에서Dev

Android에서 복잡한 JSON 응답을 구문 분석 할 수 없습니다.

분류에서Dev

이메일 알림에 대한 응답으로 컴퓨터를 다시 시작할 수 있습니까?

분류에서Dev

알림 표시 줄에서 알림을 볼 수 없습니다.

분류에서Dev

알림 표시 줄에서 알림을 볼 수 없습니다.

분류에서Dev

내 활동에 adMob 배너를 표시 할 수 없습니다.

분류에서Dev

클라이언트에서 PHP로 json을 보내고 PHP에서 json 응답을받을 수 없습니다.

분류에서Dev

알고리즘에 대한 답을 이해할 수 없습니다.

분류에서Dev

결과에 대한 활동을 해결할 수 없습니다.

분류에서Dev

WPF 양식에 웹 API 응답을 표시 할 수 없습니다.

분류에서Dev

Swagger UI가 ASP.net Core WebAPI에서 적절한 응답을 표시 할 수 없습니다.

분류에서Dev

앱이 백그라운드에있을 때 알림에서 활동을 시작할 수 없습니다.

분류에서Dev

axios-배열에 대한 응답을 배치 할 수 없습니다.

분류에서Dev

서블릿에 대한 요청 및 응답을 할 수 없습니다.

분류에서Dev

목록보기에서보기에 대한 일부 JSON 데이터를 표시 할 수 없습니다.

분류에서Dev

jQuery 자동 완성 스크립트에 대한 적절한 JSON 응답을 얻을 수 없습니다.

분류에서Dev

사전 선언 된 배열에 JSON 응답을 할당 할 수 없습니다.

분류에서Dev

페이지에 JSON을 표시 할 수 없습니다.

분류에서Dev

Windows에서 표준 시간대를 변경하려고 할 때 오류 : "계속할 수 없습니다.이 작업을 수행 할 권한이 없습니다."

분류에서Dev

'필수'에 대한 ng-message의 내용을 표시 할 수없는 것 같습니다.

분류에서Dev

한 활동에 설정된 int 값을 다른 활동에서 변경할 수 없습니다.

분류에서Dev

맞춤 알림을 표시 / 표시 할 수 없습니다.

분류에서Dev

동일한 소스 코드로 다른 복제 애플리케이션에 알림을 푸시하고 수신 할 수 있습니까?

분류에서Dev

Alamofire 및 SwiftyJSON을 사용하여 array 내부의 URL, JSON 응답에 액세스 할 수 없습니다.

분류에서Dev

listview에서 json 응답을 역 직렬화 할 수 없습니다.

분류에서Dev

Angular 8에서 POST 요청 JSON 응답을 반복 할 수 없습니다.

분류에서Dev

Jmeter에서 json 응답을 구문 분석 할 수 없습니다.

Related 관련 기사

  1. 1

    Android는 다른 활동에 대한 목록보기를 표시 할 수 없습니다.

  2. 2

    내보기에 답글을 표시 할 수 없습니다.

  3. 3

    Ionic 2 :보기에 JSON 응답을 표시 할 수 없음

  4. 4

    Android에서 복잡한 JSON 응답을 구문 분석 할 수 없습니다.

  5. 5

    이메일 알림에 대한 응답으로 컴퓨터를 다시 시작할 수 있습니까?

  6. 6

    알림 표시 줄에서 알림을 볼 수 없습니다.

  7. 7

    알림 표시 줄에서 알림을 볼 수 없습니다.

  8. 8

    내 활동에 adMob 배너를 표시 할 수 없습니다.

  9. 9

    클라이언트에서 PHP로 json을 보내고 PHP에서 json 응답을받을 수 없습니다.

  10. 10

    알고리즘에 대한 답을 이해할 수 없습니다.

  11. 11

    결과에 대한 활동을 해결할 수 없습니다.

  12. 12

    WPF 양식에 웹 API 응답을 표시 할 수 없습니다.

  13. 13

    Swagger UI가 ASP.net Core WebAPI에서 적절한 응답을 표시 할 수 없습니다.

  14. 14

    앱이 백그라운드에있을 때 알림에서 활동을 시작할 수 없습니다.

  15. 15

    axios-배열에 대한 응답을 배치 할 수 없습니다.

  16. 16

    서블릿에 대한 요청 및 응답을 할 수 없습니다.

  17. 17

    목록보기에서보기에 대한 일부 JSON 데이터를 표시 할 수 없습니다.

  18. 18

    jQuery 자동 완성 스크립트에 대한 적절한 JSON 응답을 얻을 수 없습니다.

  19. 19

    사전 선언 된 배열에 JSON 응답을 할당 할 수 없습니다.

  20. 20

    페이지에 JSON을 표시 할 수 없습니다.

  21. 21

    Windows에서 표준 시간대를 변경하려고 할 때 오류 : "계속할 수 없습니다.이 작업을 수행 할 권한이 없습니다."

  22. 22

    '필수'에 대한 ng-message의 내용을 표시 할 수없는 것 같습니다.

  23. 23

    한 활동에 설정된 int 값을 다른 활동에서 변경할 수 없습니다.

  24. 24

    맞춤 알림을 표시 / 표시 할 수 없습니다.

  25. 25

    동일한 소스 코드로 다른 복제 애플리케이션에 알림을 푸시하고 수신 할 수 있습니까?

  26. 26

    Alamofire 및 SwiftyJSON을 사용하여 array 내부의 URL, JSON 응답에 액세스 할 수 없습니다.

  27. 27

    listview에서 json 응답을 역 직렬화 할 수 없습니다.

  28. 28

    Angular 8에서 POST 요청 JSON 응답을 반복 할 수 없습니다.

  29. 29

    Jmeter에서 json 응답을 구문 분석 할 수 없습니다.

뜨겁다태그

보관