=================================
=================================
=================================
출처: http://blog.naver.com/PostView.nhn?blogId=q3korea&logNo=120118702277
Flash Android App (StageWebView)
[출처] Flash Android App (StageWebView)|작성자 코랴
AIR 1.0부터 사용가능한 flash.html.HTMLLoader Class는 Flash 상에서 웹페이지를 간편하게
호출해서 출력할 수 있다. 하지만, Android 2.2 Froyo 기반에서 AIR 2.5로 제작한 Flash App은
HTMLLoader가 Device상에서 정상 동작하지 않는다.
PC 개발환경에선 정상동작 하지만, Device에 탑재되면 웹페이지를 호출하지 못하는 현상이 발생한다.
* HTMLLoader 샘플코드
import flash.html.HTMLLoader;
import flash.net.URLRequest;
var html : HTMLLoader = new HTMLLoader ();
var request : URLRequest = new URLRequest ('http://www.naver.com');
html.width = this.stage.stageWidth;
html.height = this.stage.stageHeight;
html.load (request);
this.addChild (html);
하지만, 이번에 AIR 2.5에 새롭게 추가된 StageWebView Class를 사용하면 위의 HTMLLoader처럼
Flash 컨텐츠에서 웹페이지를 간편하게 호출할 수 있으며, Android 2.2 Froyo에서도 정상동작
하는것 을 확인할 수 있다.
HTMLLoader는 DisplayObject를 상속받아 구현하지만, StageWebView는 EventDispatcher만
상속받아 구현한다. 즉, HTMLLoader는 표시목록으로 등록하여 처리를 하지만, StageWebView는
Class 자신을 웹페이지 표시객체처럼 처리한다. 그러므로 HTMLLoader와는 그 출력방식이 다르다.
샘플코드는 간단하게 구현할 수 있는데, 살펴보면 다음과 같다.
import flash.media.StageWebView;
import flash.geom.Rectangle;
import flash.desktop.NativeApplication;
import flash.desktop.SystemIdleMode;
import flash.system.Capabilities;
import flash.ui.Keyboard;
// StageWebView 인스턴스 생성
var html : StageWebView = new StageWebView ();
html.stage = this.stage;
// View Port의 크기설정
// apk로 컴파일 할때 LandScape, FullScreen으로 반드시 설정한다.
html.viewPort = new Rectangle (0, 0, this.stage.stageWidth, this.stage.stageHeight);
html.loadURL ('http://www.naver.com');
if (Capabilities.cpuArchitecture == 'ARM')
{
NativeApplication.nativeApplication.addEventListener (Event.ACTIVATE, evtActivate);
NativeApplication.nativeApplication.addEventListener (Event.DEACTIVATE, evtDeactivate);
NativeApplication.nativeApplication.addEventListener (KeyboardEvent.KEY_DOWN, evtKeyboard);
}
// App 구동될때 Sleep Mode로 진입하지 않도록 설정
function evtActivate (e : Event) : void
{
NativeApplication.nativeApplication.systemIdleMode = SystemIdleMode.KEEP_AWAKE;
}
// App 닫힐경우 close 처리
function evtDeactivate (e : Event) : void
{
NativeApplication.nativeApplication.exit ();
}
// 이전, 다음 키 처리
function evtKeyboard (e : KeyboardEvent) : void
{
switch (e.keyCode)
{
// 이전
case Keyboard.BACK :
if (html.isHistoryBackEnabled)
{
html.historyBack ();
e.preventDefault ();
}
else
{
NativeApplication.nativeApplication.exit ();
}
break;
// 다음
case Keyboard.SEARCH :
if (html.isHistoryForwardEnabled)
{
html.historyForward ();
}
break;
}
}
.apk로 컴파일 할때 -app.xml 작성시 fullScreen값은 true, aspectRatio는 landscape로 처리를 하고
퍼미션은 android:name="android.permission.INTERNET" 으로 반드시 설정해줘야 한다.
Device에 설치한 후 구동해보면 웹페이지가 출력되며, 이전/다음 및 기본적인 링크처리, 확대/축소
동작은 정상동작 하는것을 확인할 수 있다. Flash 기반에서 웹 페이지를 보여줄 필요가 있는경우
StageWebView Class를 잘 활용하면 효과적인 App을 개발할 수 있으리라 생각된다.
IT·컴퓨터, 모바일, 안드로이드, 액션스크립트, 액션스크립트3.0, 플래시, ActionScript, ActionScript3.0, AIR, AirforAndroid
[출처] Flash Android App (StageWebView)|작성자 코랴
=================================
=================================
=================================
'스마트기기개발관련' 카테고리의 다른 글
'플레이 스토어 연결되지 않음' 오류 해결법 (0) | 2020.09.23 |
---|---|
[iOS, android] 어플,브라우저 에서 다른 어플 app 앱 실행시키기,URL로 액티비티로 앱 실행하는 방법, 또 값넘기기(브라우저,앱에서 앱 실행 시키기) (0) | 2020.09.23 |
모바일 ios, android 등등 결제할때 인증 영수증 Receipt 값 웹에서 처리 관련 (0) | 2020.09.20 |
모바일 푸시알람 개발 ios android .. 등등 푸시개발 관련 (0) | 2020.09.20 |
안드로이드 앱 바로가기 만들기, 웹주소를 모바일에 홈화면에 아이콘 바로가기 만들기 관련 (0) | 2020.09.20 |