728x90

갤럭시탭 10.1을 타켓으로 하는 프로젝트를 하는 중 HoneyComb(API Level 11)에서는 기본 webview 사용 시, html 문서내의 input box에 포커스가 주어졌을 때 Background 가 날아가는(?) 현상이 있다는 것을 발견 했습니다.

Graphic Rendering과 관련있는 문제로, 이를 해결하기 위해서는 Android 3.0 (API Level 11)에서 추가된 2D Graphics Hardware Accelerated 설정을 사용 해야 합니다.


Hardware Acceleration의 사용 방법 

Hardware Acceleration은 AndroidManifest.xml 또는 해당 클래스에서 정의 할 수 있습니다.

1.AndroidManifest.xml을 이용하는 방법
AndroidManifest.xml 의 <application> 태그에 android:hardwareAccelerated="true" 속성 추가 합니다.
application 이나 activity 수준에서 하드웨어 가속 설정을 할 때 사용하며, 특정 activity에서 하드웨어 가속에 대한 설정을 해제 할 때는 아래와 같이 사용 합니다.
<application android:hardwareAccelerated="true">
     <activity android:name="MainActivity" />
     <activity android:name="SubActivity" android:hardwareAccelerated="false" />
</application>


2. 해당 클래스에 정의 하는 방법

하드웨어 가속이 필요한 윈도우에 아래 코드를 추가 합니다.
getWindow().setFlags(
     WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
     WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);


Hardware Acceleration은 HoneyComb 이상의 SDK 에서만 설정 가능 하므로, Project Build Target을 Android 3.0(API Level 11) 이상으로 설정 해야 합니다.


Hardware Acceleration에 대한 더욱 자세한 정보는 아래 링크를 참조 하시기 바랍니다.
http://android-developers.blogspot.com/2011/03/android-30-hardware-acceleration.html



728x90
728x90

WebView를 이용하는 프로그램이 웹페이지에서 Activity를 호출하는 방법

아래와 같은 html 문서가 있을 때

test.html
<html>
	<body>
		<a href="app://application">Activity 호출</a>		
	</body>
</html>

app://application 링크를 통해 Activity를 호출하기 위해서 java 파일을 아래와 같이 작성한다
MainActivity.java

url.startsWith 메소드를 통해 url 시작 정보를 읽어 오는 방법이다.
같은 기능을 indexOf 메소드를 이용해서도 구현할 수 있다.
if 구문을 아래와 같이 변경 하면 된다.
indexOf 사용

검색하다 보니 AndroidManifest.xml 파일에 intent-filter를 추가해야 한다는 글이 많았는데, 난 추가 안해도 잘 돼서 패스.. (난, Android 2.3 에서 테스트 했음)
어쨌든 intent-filter는 TargetActivity에 추가해야 하며, 내용은 아래와 같다.
AndroidManifest.xml

마지막으로 MainActivity.java 파일에서 사용한 main Layout 파일은 아래와 같다.
main.xml





728x90

'Developer > Android' 카테고리의 다른 글

Android Intent 활용 사례  (0) 2011.06.28
AndroidManifest.xml 구조  (0) 2011.05.09
Android 외장메모리 경로 추출  (0) 2011.04.26

+ Recent posts