안녕하세요. POST 중에 작은 데이터를 확인하는 동안 StackOverflowError
이 표시됩니다. 저장된 데이터와 동일한 지 확인하십시오. 나는 잠시 동안 내 문제를 해결하기위한 해결책을 찾지 않습니다.StackOverFlowError : Stack 크기 1036KB in AsyncTask
try {
new AsyncTask<Void, Void, Boolean>() {
@Override
protected Boolean doInBackground(Void... voids) {
return serverRemoteAccessor.checkLoginData(new User("[email protected]", "123456"));
}
@Override
protected void onPostExecute(Boolean aBoolean) {
if (aBoolean){
Intent next = new Intent(LoginActivity.this, MainActivity.class);
startActivity(next);
} else {
Toast.makeText(LoginActivity.this,
"Ihre Login-Daten sind nicht korrekt,
bitte überprüfen Sie Ihre Eingaben!",
Toast.LENGTH_SHORT).show();
}
}
}.execute();
} catch (Exception e){
Log.e(LOG_TAG, "Error: " + e);
}
ServerRemoteAccessor 코드 :
@Override
public boolean checkLoginData(User userData) {
Log.i(LOG_TAG, "checkLogin");
boolean isCorrect = client.checkLoginData(userData);
Log.i(LOG_TAG, "Login is: " + isCorrect);
return isCorrect;
}
내 서버 코드 :
@Override
public boolean checkLoginData(User userData) {
logger.info("checkLogin");
User checkLogin = new User("[email protected]","123456");
if (checkLogin.equals(userData)){
return true;
}else {
return false;
}
}
이 내 AsyncTask를 코드입니다그리고 내 오류 메시지 :
e.app.malchemie.wunderlist E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1 Process: de.app.malchemie.wunderlist, PID: 16191 java.lang.RuntimeException: An error occured while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:304) at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355) at java.util.concurrent.FutureTask.setException(FutureTask.java:222) at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818) Caused by: java.lang.StackOverflowError: stack size 1036KB at libcore.reflect.ListOfTypes.resolveTypes(ListOfTypes.java:70) at libcore.reflect.ListOfTypes.getResolvedTypes(ListOfTypes.java:55) at libcore.reflect.ParameterizedTypeImpl.getResolvedType(ParameterizedTypeImpl.java:75) at libcore.reflect.Types.getType(Types.java:56) at java.lang.Class.getGenericSuperclass(Class.java:1195) at org.jboss.resteasy.util.GenericType.(GenericType.java:34) at org.jboss.resteasy.client.core.BaseClientResponse$1.(BaseClientResponse.java:89) at org.jboss.resteasy.client.core.BaseClientResponse.copyFromError(BaseClientResponse.java:89) at org.jboss.resteasy.client.ClientResponseFailure.(ClientResponseFailure.java:32) at org.jboss.resteasy.client.core.BaseClientResponse.createResponseFailure(BaseClientResponse.java:488) at org.jboss.resteasy.client.core.BaseClientResponse.createResponseFailure(BaseClientResponse.java:479) at org.jboss.resteasy.client.core.BaseClientResponse.readFrom(BaseClientResponse.java:384) at org.jboss.resteasy.client.core.BaseClientResponse.getEntity(BaseClientResponse.java:346) at org.jboss.resteasy.client.core.BaseClientResponse.getEntity(BaseClientResponse.java:319) at org.jboss.resteasy.client.core.BaseClientResponse.getEntity(BaseClientResponse.java:442) at org.jboss.resteasy.client.core.BaseClientResponse.copyFromError(BaseClientResponse.java:94) at org.jboss.resteasy.client.ClientResponseFailure.(ClientResponseFailure.java:32) at org.jboss.resteasy.client.core.BaseClientResponse.createResponseFailure(BaseClientResponse.java:488) at org.jboss.resteasy.client.core.BaseClientResponse.createResponseFailure(BaseClientResponse.java:479) at org.jboss.resteasy.client.core.BaseClientResponse.readFrom(BaseClientResponse.java:384) at org.jboss.resteasy.client.core.BaseClientResponse.getEntity(BaseClientResponse.java:346) at org.jboss.resteasy.client.core.BaseClientResponse.getEntity(BaseClientResponse.java:319) at org.jboss.resteasy.client.core.BaseClientResponse.getEntity(BaseClientResponse.java:442) at org.jboss.resteasy.client.core.BaseClientResponse.copyFromError(BaseClientResponse.java:94) at org.jboss.resteasy.client.ClientResponseFailure.(ClientResponseFailure.java:32) at org.jboss.resteasy.client.core.BaseClientResponse.createResponseFailure(BaseClientResponse.java:488) at org.jboss.resteasy.client.core.BaseClientResponse.createResponseFailure(BaseClientResponse.java:479) at org.jboss.resteasy.client.core.BaseClientResponse.readFrom(BaseClientResponse.java:384) at org.jboss.resteasy.client.core.BaseClientResponse.getEntity(BaseClientResponse.java:346) at org.jboss.resteasy.client.core.BaseClientResponse.getEntity(BaseClientResponse.java:319) at org.jboss.resteasy.client.core.BaseClientResponse.getEntity(BaseClientResponse.java:442) at org.jboss.resteasy.client.core.BaseClientResponse.copyFromError(BaseClientResponse.java:94) at org.jboss.resteasy.client.ClientResponseFailure.(ClientResponseFailure.java:32) at org.jboss.resteasy.client.core.BaseClientResponse.createResponseFailure(BaseClientResponse.java:488) at org.jboss.resteasy.client.core.BaseClientResponse.createResponseFailure(BaseClientResponse.java:479) at org.jboss.resteasy.client.core.BaseClientResponse.readFrom(BaseClientResponse.java:384) at org.jboss.resteasy.client.
편집 :
내 문제를 해결, 분명히 내 개체 사용자가 큰에, 그래서 아직 내가 하나의 문자열을 게시하고 참으로 모든 것을 그 괜찮이었다.
여기에 'boolean isCorrect = client.checkLoginData (userData);'라는 예외가 발생하는 이유는 무엇입니까? – Dummy
이유는 무엇입니까? 때문에 내 todos를 읽고 싶습니다 :'ArrayList todoList = client.readAllTodos();'stackoverflowerror가 발생하지 않습니다 –
developKinberg
당신의 메소드가 자신을 다시 호출하고, 다시 자신을 호출합니다. 이것은 계속 일어나고 있습니다. 그게 바로 위로입니다. – Dummy