선 해결책 : WebChromeClient의 onReceivedTitle() 콜백 메서드를 사용한다.




안드로이드 API 의 폭이 매우 넓기 때문에 다양한 해결책이 있을 수 있지만,

개인적으로 막혔던 부분을 해결하는 과정을 적어본다.


<시행착오>

구글 검색, 스택오버플로우 검색을 하면서 두가지 해결책을 시도해봤다.

WebViewClient의 콜백 메서드인 onPageStarted, onPageFinished인데, 이름에서 보이듯이

웹페이지 로딩 시작시와, 로딩 완료시에 호출되는 메서드다.

이 메서드 안에 title = view.getTitle(); 를 이용해서 title 가져오기 시도했으나

onPageStarted에서는 아무런 제목도 반환되지 않았고,

onPageFinished는 페이지 로딩이 완료를 기다려야 돼서,바로 제목처리를 할 수 없었다.

   



<최종 해결책>

WebChromeClient의 onReceivedTitle() 콜백 메서드를 사용한다.

새로운 제목이 들어오는 순간 호출되기 때문에 딜레이가 없다.


String title = new String();


 class webViewChrome extends WebChromeClient {

        

        @Override

        public void onReceivedTitle(WebView view, String title) {

            super.onReceivedTitle(view, title);

            if (!TextUtils.isEmpty(title)) {

            본인액티비티명.title = title;

            }

        }


}


http://stackoverflow.com/questions/18794638/android-webview-getfavicon-returning-null




선결론 : jar 파일 복사만 해주면 3분만에 해결됨.


안드로이드 개발을 갓 시작했을 때, 하루종일 고생시켰던 문제가 있는데,

프로젝트를 새로 생성 하자마자 아래 에러가 떴기 때문이다.


Errors (3 items)

The project cannot be built until build path errors are resolved

The project cannot be built until build path errors are resolved

The container 'Android Dependencies' references non existing library 'D:\develop\Android\tryandlearn\appcompat_v7\bin\appcompat_v7.jar'  Build path  Build Path Problem





당시에는 아무것도 몰라서 stackoverflow에서 몇몇 방법이랍시고 적어둔 걸 해봤었다.

라이브러리 잡고, 빌드패스 만지작한 후 메뉴-project-clean 반복. 결과는 전부 실패였다.

그래서 SDK와 딸려나온 이클립스 싹다 지우고, 기존에 있던 이클립스에 안드로이드 다운받아서

어쩌다가 되니까 그냥 넘어갔었다.


그런데 지금 새로 프로젝트를 생성한 뒤 또 에러메시지가 뜨는걸 보고 당황했으나,

침착하게 영어를 해석하고 빡!

안드로이드\프로젝명\appcompat_v7\bin 폴더로 가서 appcompat_v7.jar 파일이 없는걸 확인했다.

좀 뒤져보니 \bin 폴더가 아니라 \libs 폴더에 비슷한 이름 파일 두개가 있더라.

그래서 android-support-v7-appcompat.jar 이 파일을

\bin 폴더로 복사해주고 이름을 appcompat-v7로 변경해주었다. (걍 에러 메시지에서 나타난 대로)

그랬더니 해결됨.


예전에 하루종일 고생했던 걸 3분만에 해결하고나니 좀 허무하다 ㅋㅋㅋ





[결론]

안드로이드\프로젝명\appcompat_v7\libs 폴더의 android-support-v7-appcompat.jar 파일을

안드로이드\프로젝명\appcompat_v7\bin 폴더로 복사한 후, 

이름을 appcopat_v7.jar로 변경해주고,

메뉴-project-clean 빡 해주면 끝.



슈퍼맨








이클립스로 안드로이드 개발 중,

Ctrl+F11 실행하면 아래 Console 창에 아래와 같은 메시지가 뜰 때가 있다.


The connection to adb is down, and a severe error has occured.

You must restart adb and Eclipse.

Please ensure that adb is correctly located at '(작업폴더)\tools\adb.exe' and can be executed.



[이때 해결책]


1. 이클립스를 종료한다.

2. 도스창 CMD에서 (안드로이드 SDK 설치된 폴더) / platform-tools/ 폴더를 찾아간다.

3. adb kill-server 입력

4. adb start-server 입력

5. 에러 없이 ADB서버가 구동되면 된거임.

6. 이클립스 재실행해서 다시 연결 시도.


* 위의 방법으로도 안되면 재부팅후 다시 해본다.




출처 : http://stackoverflow.com/questions/4072706/the-connection-to-adb-is-down-and-a-severe-error-has-occured

+ Recent posts