2013-06-24 4 views
-1

저는 하이브리드 응용 프로그램에서 작업하고 있으며 응용 프로그램을 구성/구조화하는 모범 사례 또는 좋은 방법을 알고 싶습니다.Android에서 하이브리드 앱의 아키텍처 또는 구조는 무엇이되어야합니까?

하나의 활동에 대해 하나의 웹보기를 사용하거나 하나의 활동 만 하나의 webview로 가져와로드중인 html 페이지를 변경해야합니까?

여러 활동에서 하나의 웹보기를 사용할 수 있습니까?

특정 웹 페이지에는 videoview와 같은 많은 리소스가로드되어야합니다. 이 때문에 필자는 가능한 경우 다른 활동으로 단일 웹보기를 사용하려고 생각했습니다.

답변

0

단일 활동보기 (Single Activity with Single Webview)로 가야합니다. 정적 리소스 (Html ​​파일, js 파일 이미지 등)를 로컬 위치에서로드하고 동적 데이터를 얻기 위해 서버로 이동합니다.

크로스 스크립팅 문제를 피하기 위해 네이티브 레이어를 사용하는 것이 서버에서 더 효율적으로 호출됩니다. 그런 말로, 모든 API를 Java로 작성하고 JavaScriptInterface Mechanism을 사용하거나 webview의 ShouldOverrideURL 메소드를 사용하여 WebView에서 각 API를 호출하십시오. JavaScriptInterface가 권장됩니다.

질문에 대한 답변 : 항상 여러 활동과 함께 하나의 웹보기를 갖는 것이 가능합니다. 하지만 그건 권장하지 않습니다. 하나의 활동은 webview에서 다른 페이지로 전체 웹 사이트를로드하는 데 충분합니다.

+0

로드 된 비디오 뷰가 있습니다. 메모리를 차지하고 앱의 성능을 방해합니다. 서버 호출은 자바 스크립트에서만 이루어지며 JavaScriptInterface 메커니즘을 사용하여 자바 스크립트 및 자바 클래스와 통신합니다. – mobiledev

+0

VideoView를 사용하는 이유 API 레벨 9 이상을 타겟팅하고 있습니까? –

+0

minsdkversion이 11로 설정되어 있습니다. 다른 점이 VideoView 대신 사용해야한다고 생각하십니까? – mobiledev