JSON 및 MySql을 사용하여 Android 앱을 사용하여 데이터 검색

길버트 헤어

WiFi를 사용하여 데이터를 검색하려고하는데 응용 프로그램이 충돌합니다. localHost 에뮬레이터를 사용하면 잘 작동하지만 모바일 데이터 또는 WiFi를 사용하면 충돌합니다. WiFi를 사용하여 localhost의 MySql에 데이터를 저장할 수 있지만 데이터를받을 수 없습니다. 가끔은 android.os.NetworkonMainThreadException. 저는 아주 초보 프로그래머로서 대부분의 코드를 빌 렸으며이 문제를 어떻게 해결할 수 있는지 명확하게 설명해야합니다.

/**
 * Background Async Task to Get complete User details
 * */
class GetUserDetails extends AsyncTask<String, String, String> {

    /**
     * Before starting background thread Show Progress Dialog
     * */
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pDialog = new ProgressDialog(MainActivity.this);
        pDialog.setMessage("Loading details. Please wait...");
        pDialog.setIndeterminate(false);
        pDialog.setCancelable(true);
        pDialog.show();
    }

    /**
     * Getting User details in background thread
     * */
    protected String doInBackground(String... params) {

        // updating UI from Background Thread
        runOnUiThread(new Runnable() {
            public void run() {
                // Check for success tag
                int success;
                try {
                    // Building Parameters
                    List<NameValuePair> params = new ArrayList<NameValuePair>();
                    params.add(new BasicNameValuePair("user_ID", "2"));

                    // getting User details by making HTTP request
                    // Note that User details url will use GET request
                    JSONObject json = jsonParser.makeHttpRequest(
                            LOGIN_URL, "GET", params);

                    // check your log for json response
                    Log.d("Single User Details", json.toString());

                    // json success tag
                    success = json.getInt(TAG_SUCCESS);
                    if (success == 1) {
                        // successfully received User details
                        JSONArray UserObj = json
                                .getJSONArray(TAG_User); // JSON Array

                        // get first User object from JSON Array
                        JSONObject User = UserObj.getJSONObject(0);

                        // User with this pid found
                        // Edit Text
                        txtlname = (EditText) findViewById(R.id.editText1);
                        txtfname = (EditText) findViewById(R.id.editText2);

                        // display User data in EditText
                        txtfname.setText(User.getString(TAG_FNAME));
                        txtlname.setText(User.getString(TAG_LNAME));

                    }else{
                        // User with pid not found
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        });
        return null;
    }
    /**
     * After completing background task Dismiss the progress dialog
     * **/
    protected void onPostExecute(String file_url) {
        // dismiss the dialog once got all details
        pDialog.dismiss();
    }
}
Afshin

실제로 UI 스레드에서 인터넷에 연결하면 안됩니다. 를 통해 인터넷에 연결 JSONObject json = jsonParser.makeHttpRequest( LOGIN_URL, "GET", params);했습니다 runOnUiThread( new Runnable.....

/**
 * Background Async Task to Get complete User details
 * */
class GetUserDetails extends AsyncTask<String, String, String> {

/**
 * Before starting background thread Show Progress Dialog
 * */
@Override
protected void onPreExecute() {
    super.onPreExecute();
    pDialog = new ProgressDialog(MainActivity.this);
    pDialog.setMessage("Loading details. Please wait...");
    pDialog.setIndeterminate(false);
    pDialog.setCancelable(true);
    pDialog.show();
}

/**
 * Getting User details in background thread
 * */
protected String doInBackground(String... params) {

    // updating UI from Background Thread

    // Check for success tag
    int success;
    try {
        // Building Parameters
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("user_ID", "2"));

        // getting User details by making HTTP request
        // Note that User details url will use GET request
        JSONObject json = jsonParser.makeHttpRequest(
                LOGIN_URL, "GET", params);

        // check your log for json response
        Log.d("Single User Details", json.toString());

        // json success tag
        success = json.getInt(TAG_SUCCESS);
        if (success == 1) {
            // successfully received User details
            JSONArray UserObj = json
                    .getJSONArray(TAG_User); // JSON Array

            // get first User object from JSON Array
            final JSONObject User = UserObj.getJSONObject(0);
            runOnUiThread(new Runnable() {
                public void run() {
                    // User with this pid found
                    // Edit Text
                    txtlname = (EditText) findViewById(R.id.editText1);
                    txtfname = (EditText) findViewById(R.id.editText2);

                    // display User data in EditText
                    txtfname.setText(User.getString(TAG_FNAME));
                    txtlname.setText(User.getString(TAG_LNAME));
                }
            });

        }else{
            // User with pid not found
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }


    return null;
}
/**
 * After completing background task Dismiss the progress dialog
 * **/
protected void onPostExecute(String file_url) {
    // dismiss the dialog once got all details
    pDialog.dismiss();
}
}

보시다시피 텍스트 뷰와 같은 뷰로 작업하고 싶을 때 UI 스레드로 돌아 왔습니다. user변수에 주의 하십시오. 메서드 Runnable의 매개 변수로 사용한 객체 내에서 도달 할 수 있도록 최종적으로 만들었습니다 runOnUiThread.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Ajax 및 mysql을 사용하여 데이터 검색

분류에서Dev

php, mysql을 사용하여 android에서 매개 변수를 사용하여 테이블 값 검색 및 검색

분류에서Dev

MySQL에서 데이터 검색 및 JUNG을 사용하여 시각화

분류에서Dev

cURL을 사용하여 jQuery와 함께 사용할 JSON 데이터 검색

분류에서Dev

양식 검색에서 데이터 검색. JSON 기반 API URL을 사용하여 데이터 검색

분류에서Dev

파이썬을 사용하여 for 루프에서 여러 json 데이터 검색

분류에서Dev

Angular $ filter를 사용하여 깊은 json 값을 검색 및 필터링

분류에서Dev

JSON을 사용하여 데이터를 검색하고 html 파일에 입력

분류에서Dev

jsp 및 mysql을 사용하여 당사 웹 사이트 내 검색 기능

분류에서Dev

jquery 및 C #을 사용하여 스팬에서 데이터 검색

분류에서Dev

JSON을 사용하여 데이터베이스에서 다른 ID 검색

분류에서Dev

Laravel을 사용하여 JSON 데이터를 검색하고 데이터베이스에 저장하는 방법

분류에서Dev

길고 짧은 이름을 사용하여 Android에서 앱 검색

분류에서Dev

beautifulsoup 및 요청을 사용하여 json 데이터 추출

분류에서Dev

Google 사용자 지정 검색 및 R을 사용하여 JSON 데이터를 가져 오는 동안 오류가 발생했습니다.

분류에서Dev

파이썬을 사용하여 검색 및 바꾸기

분류에서Dev

buttonClick을 사용하여 C # 및 ASP.NET의 데이터베이스에서 데이터 검색

분류에서Dev

MySQL 데이터를 동적으로 검색하고 개조 및 MPAndroidChart를 사용하여 Android에서 플로팅

분류에서Dev

ListView Android JSON을 사용하여 데이터 읽기

분류에서Dev

urllib2 및 BeautifulSoup을 사용하여 웹 사이트의 템플릿에서 데이터 검색 시도

분류에서Dev

텍스트 상자 및 드롭 다운 목록을 사용하여 테이블을 검색하여 데이터베이스 필터링 (실시간 검색)

분류에서Dev

조인을 사용하여 피벗 테이블 및 관련 데이터를 검색하는 Eloquent 쿼리

분류에서Dev

조인을 사용하여 데이터를 두 번 검색

분류에서Dev

NSURLConnection을 사용하여 데이터 검색

분류에서Dev

hsql을 사용하여 데이터 검색-다 대일 관계

분류에서Dev

데이터 속성 값을 사용하여 div 검색

분류에서Dev

문자열을 사용하여 DbContext에서 데이터 검색

분류에서Dev

Beautiful Soup을 사용하여 데이터 검색

분류에서Dev

cURL을 사용하여 POST 응답 데이터 검색

Related 관련 기사

  1. 1

    Ajax 및 mysql을 사용하여 데이터 검색

  2. 2

    php, mysql을 사용하여 android에서 매개 변수를 사용하여 테이블 값 검색 및 검색

  3. 3

    MySQL에서 데이터 검색 및 JUNG을 사용하여 시각화

  4. 4

    cURL을 사용하여 jQuery와 함께 사용할 JSON 데이터 검색

  5. 5

    양식 검색에서 데이터 검색. JSON 기반 API URL을 사용하여 데이터 검색

  6. 6

    파이썬을 사용하여 for 루프에서 여러 json 데이터 검색

  7. 7

    Angular $ filter를 사용하여 깊은 json 값을 검색 및 필터링

  8. 8

    JSON을 사용하여 데이터를 검색하고 html 파일에 입력

  9. 9

    jsp 및 mysql을 사용하여 당사 웹 사이트 내 검색 기능

  10. 10

    jquery 및 C #을 사용하여 스팬에서 데이터 검색

  11. 11

    JSON을 사용하여 데이터베이스에서 다른 ID 검색

  12. 12

    Laravel을 사용하여 JSON 데이터를 검색하고 데이터베이스에 저장하는 방법

  13. 13

    길고 짧은 이름을 사용하여 Android에서 앱 검색

  14. 14

    beautifulsoup 및 요청을 사용하여 json 데이터 추출

  15. 15

    Google 사용자 지정 검색 및 R을 사용하여 JSON 데이터를 가져 오는 동안 오류가 발생했습니다.

  16. 16

    파이썬을 사용하여 검색 및 바꾸기

  17. 17

    buttonClick을 사용하여 C # 및 ASP.NET의 데이터베이스에서 데이터 검색

  18. 18

    MySQL 데이터를 동적으로 검색하고 개조 및 MPAndroidChart를 사용하여 Android에서 플로팅

  19. 19

    ListView Android JSON을 사용하여 데이터 읽기

  20. 20

    urllib2 및 BeautifulSoup을 사용하여 웹 사이트의 템플릿에서 데이터 검색 시도

  21. 21

    텍스트 상자 및 드롭 다운 목록을 사용하여 테이블을 검색하여 데이터베이스 필터링 (실시간 검색)

  22. 22

    조인을 사용하여 피벗 테이블 및 관련 데이터를 검색하는 Eloquent 쿼리

  23. 23

    조인을 사용하여 데이터를 두 번 검색

  24. 24

    NSURLConnection을 사용하여 데이터 검색

  25. 25

    hsql을 사용하여 데이터 검색-다 대일 관계

  26. 26

    데이터 속성 값을 사용하여 div 검색

  27. 27

    문자열을 사용하여 DbContext에서 데이터 검색

  28. 28

    Beautiful Soup을 사용하여 데이터 검색

  29. 29

    cURL을 사용하여 POST 응답 데이터 검색

뜨겁다태그

보관