오류없이 잘 작동 컨텐츠 제공 기관의 원래 이름 :문자열 길이 오류
:public static final String AUTHORITY = com.dakotastream.cardiologger.CardioLoggerProvider12;
내가 내 권한의 이름을 변경하려면
public static final String AUTHORITY = com.dakotastream.cardiologger.CardioLoggerProvider;
위의 이름으로 변경하면이 오류가 발생합니다.
발생 원인 : java.lang.StringIndexOutOfBoundsException : length = 68; 인덱스 =
public static final String AUTHORITY = com.dakotastream.cardiologger.CardioLoggerProvider1;
나는이 오류가 위에 이름을 변경 70
.
발생 원인 : java.lang.StringIndexOutOfBoundsException : length = 69; 인덱스 = 70
내가 com.dakotastream.cardiologger12
에 패키지의 이름을 변경하면, 나는 오류없이
public static final String AUTHORITY = com.dakotastream.cardiologger12.CardioLoggerProvider;
를 사용할 수 있습니다.
기관은 69자를 초과하는 문자열 길이를 요구합니다. 내가 SDK 도구 22.6.3, API (19), ABS 라이브러리 4.4.0
나는 새로운 안드로이드 응용 프로그램 프로젝트를 만들고있는 코드를 삭제 노력했다. 나는이 같은 오류를 사용하고
.
전체 로그 캣 덤프 :
나는 안드로이드 도구를 사용하여 이클립스에서FATAL EXCEPTION: ModernAsyncTask #1
Process: com.dakotastream.cardiologger, PID: 1344
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.support.v4.content.ModernAsyncTask$3.done(ModernAsyncTask.java:137)
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 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:841)
Caused by: java.lang.StringIndexOutOfBoundsException: length=68; index=70
at java.lang.String.indexAndLength(String.java:584)
at java.lang.String.substring(String.java:1449)
at com.dakotastream.cardiologger.DbContentProvider.query(DbContentProvider.java:279)
at android.content.ContentProvider.query(ContentProvider.java:857)
at android.content.ContentProvider$Transport.query(ContentProvider.java:200)
at android.content.ContentResolver.query(ContentResolver.java:461)
at android.content.ContentResolver.query(ContentResolver.java:404)
at android.support.v4.content.CursorLoader.loadInBackground(CursorLoader.java:49)
at android.support.v4.content.CursorLoader.loadInBackground(CursorLoader.java:35)
at android.support.v4.content.AsyncTaskLoader.onLoadInBackground(AsyncTaskLoader.java:242)
at android.support.v4.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:51)
at android.support.v4.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:40)
at android.support.v4.content.ModernAsyncTask$2.call(ModernAsyncTask.java:123)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
> 이름 바꾸기 응용 프로그램 패키지의 이름을 변경합니다. 이름을 변경하면이 오류가 발생합니다.
DbContentProvider.java 줄의 내용 279? – pskink
@Override \t public boolean onCreate() { \t \t mOpenHelper = new DbHelper (getContext()); \t \t return true; \t} – moberme
문자열 # substring()이 호출되어야합니다 ... 스택 추적을 참조하십시오. – pskink