Programming/Android2012/01/29 01:07
 안드로이드에 코딩을 할 때 View의 setId() 함수를 사용하는 경우가 있습니다. 문제는 xml 에 android:id 값을 설정해 놓은 상태에서 setId 를 사용하는 경우입니다. setId 를 사용했다면 나중에 findViewById 함수를 사용하는 경우에 xml 에 있는 android:id 값으로 검색해도 null 이 리턴되게 됩니다. 그렇기 때문에 setId 에서 지정한 Id 값으로 findViewById 를 해야 정상적으로 View를 얻어올 수 다는 것을 주의해야합니다.

아래는 샘플 코드입니다.

View item = inTitle.inflate(R.layout.group_view, null);
View mainView = item.findViewById(R.id.main_layout);
mainView.setId(10);

View testView = item.findViewById(R.id.main_layout); // NULL 값을 리턴한다.
크리에이티브 커먼즈 라이센스
Creative Commons License
2012/01/29 01:07 2012/01/29 01:07
Posted by dingpong
Programming/Android2011/12/16 20:56
 안드로이드 웹뷰에 타이틀바 형식으로 특정한 View 를 추가하고자 할 때 WebView 의 setEmbeddedTitleBar 라는 함수를 사용할 수 있습니다. 다만 이 함수는 직접적으로 사용할 수 없기 때문에 아래와 같이 사용해야 합니다.


public void setEmbeddedTitleBar(WebView webView, View titlebar) {
try {
Method method = WebView.class.getMethod("setEmbeddedTitleBar", new Class[] {View.class});
method.invoke(webView, titlebar);

} catch (Exception ex) {
ex.printStackTrace();
}
}

 자세한 동작에 대해서는 안드로이드 기본 웹브라우저 소스를 참고하시면 됩니다. 기본 브라우저 소스는 현재 아래 웹 페이지에서 다운로드 받아서 보실 수 있습니다.

https://github.com/android/platform_packages_apps_browser


크리에이티브 커먼즈 라이센스
Creative Commons License
2011/12/16 20:56 2011/12/16 20:56
Posted by dingpong
Programming/Android2011/10/11 15:52
 다운 받는 주소가 바뀐 것 같습니다. 공식 주소는 http://source.android.com/source/downloading.html 이곳인 것 같은데, 바로 다운로드 받으려면 https://github.com/android/platform_frameworks_base 이곳을 사용하면 될 것 같습니다.

------ 이전 글

 안드로이드 Java Class 를 받아서 설정하게 되면 이클립스에서 안드로이드 소스를 볼 수 있기 때문에 여러 가지로 더 좋게 개발을 할 수 있습니다.


 위 파일을 다운로드 받아서 압축을 풀고 2개의 폴더를 사용합니다.

- base/core/java/android
- base/core/java/com

 위 2개의 폴더를 안드로이드 SDK 설치 폴더의 platforms 폴더 하위에 본인이 사용하는 sdk 버전 밑에 sources 라는 폴더를 생성하여 그 안에다가 복사합니다. 그리고 이클립스에서 Class Name 에 F3 키를 누르게 되면 해당 소스가 있다면 볼 수 있게 됩니다. 링크가 잘 안되면 직접 소스 폴더를 열어서 해당 파일이 있으면 직접 열어서 보면 됩니다.

관련 페이지 : http://cafe.naver.com/ccjmaster/166
크리에이티브 커먼즈 라이센스
Creative Commons License
2011/10/11 15:52 2011/10/11 15:52
Posted by dingpong