나는 안드로이드에 아주 새로운 그리고 난 같은 예외가 :새로운 인 텐트를 시작하려고 할 때 예외가 발생하는 이유는 무엇입니까?
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.simplepay.hellomobile/com.simplepay.hellomobile.CardPayment}: android.os.NetworkOnMainThreadException
스택 트레이스는 여기에 있습니다 :
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5039)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)
at libcore.io.BlockGuardOs.recvfrom(BlockGuardOs.java:163)
at libcore.io.IoBridge.recvfrom(IoBridge.java:513)
at java.net.PlainSocketImpl.read(PlainSocketImpl.java:488)
at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:46)
at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:240)
at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:103)
at org.apache.http.impl.io.SocketInputBuffer.isStale(SocketInputBuffer.java:109)
at org.apache.http.impl.AbstractHttpClientConnection.isStale(AbstractHttpClientConnection.java:205)
at org.apache.http.impl.conn.AbstractClientConnAdapter.isStale(AbstractClientConnAdapter.java:185)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:336)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:653)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:627)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:616)
at juspay.services.WalletService.makeServiceCall(WalletService.java:283)
at juspay.services.WalletService.getCardTokens(WalletService.java:237)
at com.simplepay.hellomobile.CardPayment.addContentTo(CardPayment.java:107)
at com.simplepay.hellomobile.CardPayment.setUpLayoutAndActionListeners(CardPayment.java:81)
at com.simplepay.hellomobile.CardPayment.onCreate(CardPayment.java:56)
at android.app.Activity.performCreate(Activity.java:5104)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
모든 네트워크 호출 AsyncTask
를 사용하여 수행하고 내부에 배치 된 것을 참고 doInBackground
방법. 코드는 다음과 같습니다 initOrder
정상적인 자바 방법입니다
protected JSONObject doInBackground(Void... voids)
{
JSONObject initOrderResponse = walletService.initOrder(this.amount);
return initOrderResponse;
}
과 같은 라인이 있습니다
responseBody = httpClient.execute(post,responseHandler);
을하지만 여전히 나는이 오류가 발생합니다.
내가 실수를하고 있는지 확실하지 않습니다. 사전에
감사합니다. 에 의한
활동 코드를 호출하는 코드는 – Gjordis
코드를 게시하시기 바랍니다 ... 자바 클래스의 이름을 올바르게 지정했는지 확인하십시오. – Shachi
코드를 추가했습니다! – batman