[라이브러리] 한글 초성 검색 > Android

본문 바로가기

사이트 내 전체검색

Android

[라이브러리] 한글 초성 검색

페이지 정보

Scott 20-09-16 00:57 조회 65회 댓글 7건

본문

청솔님의 댓글

profile_image 청솔 작성일

감사합니다..^^
명쾌합니다 ^^

청솔님의 댓글

profile_image 청솔 작성일

저는... 전화번호부는 잘 나오는데... 초성을 입력하면 앱이 그냥 닫힙니다..  선생님이 Git-Hub에 올려주신걸 다운받아 설치해 봤는데도 다운됩니다.
뭔가... 제컴이나 휴대폰이 문제가 있는거 같은데 찾아보겠습니다 ^^

청솔님의 댓글

profile_image 청솔 작성일

혹시나 해서 AVD 설치해서 해 보았는데 잘 됩니다... 폰에서는 안되구요. ㅠㅠ

Scott님의 댓글의 댓글

profile_image Scott 작성일

아마 에러로그 뜰거 같은데 좀 올려주실 수 있나요?

청솔님의 댓글의 댓글

profile_image 청솔 작성일

설치할때의 Error
09-16 23:24:54.822 5009-5009/net.flow9.searchjaum E/dalvikvm: Could not find class 'android.view.WindowInsets', referenced from method androidx.core.view.WindowInsetsCompat.toWindowInsetsCompat
09-16 23:24:54.832 5009-5009/net.flow9.searchjaum E/dalvikvm: Could not find class 'androidx.core.view.ViewCompat$2', referenced from method androidx.core.view.ViewCompat.addOnUnhandledKeyEventListener
09-16 23:24:54.842 5009-5009/net.flow9.searchjaum E/dalvikvm: Could not find class 'android.view.View$OnUnhandledKeyEventListener', referenced from method androidx.core.view.ViewCompat.removeOnUnhandledKeyEventListener
09-16 23:24:54.852 5009-5009/net.flow9.searchjaum E/dalvikvm: Could not find class 'androidx.core.view.ViewCompat$1', referenced from method androidx.core.view.ViewCompat.setOnApplyWindowInsetsListener
09-16 23:24:54.872 5009-5009/net.flow9.searchjaum E/dalvikvm: Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method androidx.appcompat.widget.AppCompatImageHelper.hasOverlappingRendering
09-16 23:24:54.922 5009-5009/net.flow9.searchjaum E/dalvikvm: Could not find class 'android.view.textclassifier.TextClassificationManager', referenced from method androidx.appcompat.widget.AppCompatTextClassifierHelper.getTextClassifier
09-16 23:24:55.432 5009-5009/net.flow9.searchjaum E/dalvikvm: Could not find class 'android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction', referenced from method androidx.core.view.accessibility.AccessibilityNodeInfoCompat.addAction
09-16 23:24:55.432 5009-5009/net.flow9.searchjaum E/dalvikvm: Could not find class 'android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction', referenced from method androidx.core.view.accessibility.AccessibilityNodeInfoCompat.removeAction


초성 첫글자 입력시 앱 닫혀버릴때 Error 입니다.
09-16 23:26:42.592 5009-5009/net.flow9.searchjaum E/AndroidRuntime: FATAL EXCEPTION: main
    Process: net.flow9.searchjaum, PID: 5009
    java.lang.NoSuchMethodError: java.lang.String.join
        at net.flow9.searchjaum.lib.KoreanCharApproxMatcher.decompose(KoreanCharApproxMatcher.java:69)
        at net.flow9.searchjaum.lib.KoreanCharApproxMatcher.isMatch(KoreanCharApproxMatcher.java:64)
        at net.flow9.searchjaum.lib.KoreanTextMatcher.match(KoreanTextMatcher.java:194)
        at net.flow9.searchjaum.lib.KoreanTextMatcher.match(KoreanTextMatcher.java:131)
        at net.flow9.searchjaum.lib.KoreanTextMatcher.match(KoreanTextMatcher.java:94)
        at net.flow9.searchjaum.lib.KoreanTextMatcher.match(KoreanTextMatcher.java:238)
        at net.flow9.searchjaum.MainActivity.filterName(MainActivity.kt:70)
        at net.flow9.searchjaum.MainActivity.changeList(MainActivity.kt:60)
        at net.flow9.searchjaum.MainActivity$setSearchListener$1.onTextChanged(MainActivity.kt:53)
        at android.widget.TextView.sendOnTextChanged(TextView.java:7467)
        at android.widget.TextView.handleTextChanged(TextView.java:7526)
        at android.widget.TextView$ChangeWatcher.onTextChanged(TextView.java:9262)
        at android.text.SpannableStringBuilder.sendTextChanged(SpannableStringBuilder.java:962)
        at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:496)
        at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:435)
        at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:30)
        at android.view.inputmethod.BaseInputConnection.replaceText(BaseInputConnection.java:675)
        at android.view.inputmethod.BaseInputConnection.setComposingText(BaseInputConnection.java:437)
        at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:333)
        at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:77)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5094)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:608)
        at dalvik.system.NativeStart.main(Native Method)

Scott님의 댓글의 댓글

profile_image Scott 작성일

아마 폰의 OS 버전 문제인것 같습니다.
라이브러리 파일 중 KoreanCharApproxMatcher 에서 사용하는 decompose 함수에서 String.join 메서드를 사용했는데, 이게 Api 레벨 26 미만에서는 정상동작 하지 않는 것 같습니다.
그래서 73번째 줄 정도에 있는 다음 코드를
return String.join("", KoreanChar.decomposeCompat(c));
다음과 같이 변경해서 github 에 적용했습니다
return TextUtils.join("", KoreanChar.decomposeCompat(c));

청솔님의 댓글의 댓글

profile_image 청솔 작성일

됩니다... 우하하하하하하.. 감사합니다. ^^
너무 기분 좋습니다. ^^

Copyright © flow9.net All rights reserved.