HTTP 요청이 작동하지 않습니까?

Eatherpro

버튼을 클릭하고 데이터가 양식에서 나올 때 웹 서버로 일부 데이터를 보낼 앱을 만들려고합니다. 데이터 유형은 이름, 성 및 기타입니다. 저는 초보 개발자이며 앱에서 HTTP 요청을 보내기 위해 OKHTTPFClient 플러그인을 시도하고 있습니다. 내가 필요한 것은 양식 데이터를 클릭하면 PHP로 전송되고 PHP는 성공 응답을 제공하고 앱이 가져오고 활동이 감사 활동으로 리디렉션됩니다. 지금 시도중인 코드는 다음과 같습니다.

submitRequest.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            if ( firstName.getText().toString().length() == 0 ) {
                firstName.setError("Please enter your first name!");
            }
            if ( firstName.getText().toString().length() != 0 ) {

                Toast.makeText(getApplicationContext(), firstName.getText().toString(), Toast.LENGTH_SHORT).show();

                requestHTTP(firstName.getText().toString());

            } else {

            }
        }
    });

다음은 OKHTTPClient에 대한 방법입니다.

private void requestHTTP(String first_name) {
    OkHttpClient httpClient = new OkHttpClient();
    String url = "https://www.example.com/action.php";

    RequestBody formBody = new FormBody.Builder()
            .add("first_name", first_name)
            .build();
    Request request = new Request.Builder()
            .url(url)
            .post(formBody)
            .build();
    Response response = null;
    try {
        response = httpClient.newCall(request).execute();
        if (response.isSuccessful()) {
            Toast.makeText(getApplicationContext(), firstName.getText().toString(), Toast.LENGTH_SHORT).show();
        }

    } catch (IOException e) {

    }
}

업데이트 :

Android 실행 섹션에 표시되는 오류는 다음과 같습니다.

E/AndroidRuntime: FATAL EXCEPTION: main
              Process: com.example.androidapp, PID: 11592
              android.os.NetworkOnMainThreadException
                  at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1303)
                  at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:86)
                  at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:74)
                  at java.net.InetAddress.getAllByName(InetAddress.java:752)
                  at okhttp3.Dns$1.lookup(Dns.java:39)
                  at okhttp3.internal.connection.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:185)
                  at okhttp3.internal.connection.RouteSelector.nextProxy(RouteSelector.java:149)
                  at okhttp3.internal.connection.RouteSelector.next(RouteSelector.java:84)
                  at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:213)
                  at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:134)
                  at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:113)
                  at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
                  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
                  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
                  at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
                  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
                  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
                  at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
                  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
                  at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:125)
                  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
                  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
                  at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)
                  at okhttp3.RealCall.execute(RealCall.java:77)
                  at org.goldenfs.payoffcalculator.advisor.requestHTTP(advisor.java:220)
                  at org.goldenfs.payoffcalculator.advisor.access$000(advisor.java:38)
                  at org.goldenfs.payoffcalculator.advisor$4.onClick(advisor.java:188)
                  at android.view.View.performClick(View.java:6261)
                  at android.widget.TextView.performClick(TextView.java:11180)
                  at android.view.View$PerformClick.run(View.java:23748)
                  at android.os.Handler.handleCallback(Handler.java:751)
                  at android.os.Handler.dispatchMessage(Handler.java:95)
                  at android.os.Looper.loop(Looper.java:154)
                  at android.app.ActivityThread.main(ActivityThread.java:6776)
                  at java.lang.reflect.Method.invoke(Native Method)
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)

애플리케이션이 종료되었습니다.

그 문제를 해결하도록 도와주세요. 도와 주셔서 정말 감사합니다 ... :)

IntelliJ Amiya

android.os.StrictMode $ AndroidBlockGuardPolicy.onNetwork (StrictMode.java:1303)의 android.os.NetworkOnMainThreadException

당신은 사용해야합니다 THREAD.

    //A thread is a thread of execution in a program.
    // The Java Virtual Machine allows an application to have multiple threads of execution running concurrently.
    Thread thread = new Thread(new Runnable() {

        @Override
        public void run() {
            try
            {

                            OkHttpClient httpClient = new OkHttpClient();
                            String url = "https://www.example.com/action.php";

                            RequestBody formBody = new FormBody.Builder()
                                    .add("first_name", first_name)
                                    .build();
                            Request request = new Request.Builder()
                                    .url(url)
                                    .post(formBody)
                                    .build();
                            Response response = null;
                            try {
                                response = httpClient.newCall(request).execute();
                                if (response.isSuccessful()) {
                                    Toast.makeText(getApplicationContext(), firstName.getText().toString(), Toast.LENGTH_SHORT).show();
                                }

                            } catch (IOException e) {

                            }

            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });

    thread.start();

에서 OkHttp.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

이 AngularJs HTTP 요청이 작동하지 않습니까?

분류에서Dev

Laravel의 HTTP 요청이 작동하지 않습니다.

분류에서Dev

WikiMedia API의 cURL HTTP 요청이 작동하지 않습니다.

분류에서Dev

flutter build apk 파일이 http 요청에서 작동하지 않습니까?

분류에서Dev

$ http.post 요청이 angularJS에서 작동하지 않습니까?

분류에서Dev

Facebook 용 Java의 HTTP Post 요청이 제대로 작동하지 않습니까?

분류에서Dev

비동기 HTTP 게시 요청이 작동하지 않습니다.

분류에서Dev

다른 http 요청 성공 응답 내부의 http 요청이 jquery에서 작동하지 않습니다.

분류에서Dev

HTTP 요청이 작동하지 않음 (자바 스크립트)

분류에서Dev

Android HTTP PUT 요청이 작동하지 않기 때문에 Post와 다를 수 있습니까?

분류에서Dev

HTTPS에 대한 요청은 작동하지만 HTTP에 대한 요청은 작동하지 않습니다.

분류에서Dev

이 Cordova 애플리케이션에서 $ http 요청이 작동하지 않는 이유는 무엇입니까?

분류에서Dev

Angularjs $ http for YQL이 작동하지 않습니까?

분류에서Dev

HTTP GET이 작동하지 않습니까?

분류에서Dev

libgdx의 http 요청 방법이 웹 애플리케이션에서 작동하지 않습니다.

분류에서Dev

http 요청의 내용을 확인하는 Snort 규칙이 작동하지 않습니다.

분류에서Dev

각도 js 및 $ http 요청을 사용하여 로그인이 작동하지 않습니다.

분류에서Dev

Flutter에서 HTTP 요청이 작동하지 않는 이유는 무엇입니까?

분류에서Dev

Angularjs ui-modal이 $ http 요청에서 제대로 작동하지 않습니다.

분류에서Dev

AJAX의 Http POST 요청은 완벽하게 작동하지만 AngularJS에서는 작동하지 않습니다.

분류에서Dev

브라우저의 HTTP 요청이 임의로 작동하지 않음 (Windows 8)

분류에서Dev

ionic 2 : http get 요청이 작동하지 않음 (프록시 추가됨)

분류에서Dev

GAE에 대한 Ajax 요청이 작동하지 않습니까?

분류에서Dev

Ajax Post 요청이 작동하지 않습니까?

분류에서Dev

Python : POST 요청이 작동하지 않습니까?

분류에서Dev

NodeJS 및 googleapis, POST 요청이 작동하지 않습니까?

분류에서Dev

HTTP 요청 보내기가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

node-http2 모듈의 HTTP2_Plain이 작동하지 않습니까?

분류에서Dev

두 개의 HTTP 1.1 요청 (하나는 작동하지 않음)?

Related 관련 기사

  1. 1

    이 AngularJs HTTP 요청이 작동하지 않습니까?

  2. 2

    Laravel의 HTTP 요청이 작동하지 않습니다.

  3. 3

    WikiMedia API의 cURL HTTP 요청이 작동하지 않습니다.

  4. 4

    flutter build apk 파일이 http 요청에서 작동하지 않습니까?

  5. 5

    $ http.post 요청이 angularJS에서 작동하지 않습니까?

  6. 6

    Facebook 용 Java의 HTTP Post 요청이 제대로 작동하지 않습니까?

  7. 7

    비동기 HTTP 게시 요청이 작동하지 않습니다.

  8. 8

    다른 http 요청 성공 응답 내부의 http 요청이 jquery에서 작동하지 않습니다.

  9. 9

    HTTP 요청이 작동하지 않음 (자바 스크립트)

  10. 10

    Android HTTP PUT 요청이 작동하지 않기 때문에 Post와 다를 수 있습니까?

  11. 11

    HTTPS에 대한 요청은 작동하지만 HTTP에 대한 요청은 작동하지 않습니다.

  12. 12

    이 Cordova 애플리케이션에서 $ http 요청이 작동하지 않는 이유는 무엇입니까?

  13. 13

    Angularjs $ http for YQL이 작동하지 않습니까?

  14. 14

    HTTP GET이 작동하지 않습니까?

  15. 15

    libgdx의 http 요청 방법이 웹 애플리케이션에서 작동하지 않습니다.

  16. 16

    http 요청의 내용을 확인하는 Snort 규칙이 작동하지 않습니다.

  17. 17

    각도 js 및 $ http 요청을 사용하여 로그인이 작동하지 않습니다.

  18. 18

    Flutter에서 HTTP 요청이 작동하지 않는 이유는 무엇입니까?

  19. 19

    Angularjs ui-modal이 $ http 요청에서 제대로 작동하지 않습니다.

  20. 20

    AJAX의 Http POST 요청은 완벽하게 작동하지만 AngularJS에서는 작동하지 않습니다.

  21. 21

    브라우저의 HTTP 요청이 임의로 작동하지 않음 (Windows 8)

  22. 22

    ionic 2 : http get 요청이 작동하지 않음 (프록시 추가됨)

  23. 23

    GAE에 대한 Ajax 요청이 작동하지 않습니까?

  24. 24

    Ajax Post 요청이 작동하지 않습니까?

  25. 25

    Python : POST 요청이 작동하지 않습니까?

  26. 26

    NodeJS 및 googleapis, POST 요청이 작동하지 않습니까?

  27. 27

    HTTP 요청 보내기가 작동하지 않는 이유는 무엇입니까?

  28. 28

    node-http2 모듈의 HTTP2_Plain이 작동하지 않습니까?

  29. 29

    두 개의 HTTP 1.1 요청 (하나는 작동하지 않음)?

뜨겁다태그

보관