Android 개발에서 js와 ​​상호작용하는 방법

php中世界最好的语言
풀어 주다: 2018-03-07 09:46:51
원래의
1788명이 탐색했습니다.

이번에는 Android 개발에서 js와 ​​상호 작용하는 방법을 보여 드리겠습니다. Android 개발에서 js와 ​​상호 작용할 때 주의 사항은 무엇입니까?

Android 애플리케이션을 개발할 때 웹 페이지를 처리해야 하는 경우가 많습니다. 지금 테이크아웃 앱을 만들고 있다면 앱 홈페이지에 설문 광고 공간이 있을 것입니다. 이 웹 페이지에는 여러 레스토랑에 대한 홍보 정보가 있을 수 있습니다. 사용자가 레스토랑을 클릭하면 레스토랑의 세부 정보가 표시되는 팝업이 표시되기를 바랍니다. 이를 달성하려면 js를 사용하여 Java 코드를 호출하세요. 또는 wap 페이지에서 공유해야 하는 경우 공유 작업을 수행하기 위해 js를 사용하여 Java 코드를 호출해야 할 수도 있습니다. 이와 같은 시나리오가 많이 있습니다. 이 기능을 구현해야 한다면 java와 js 간의 상호 작용을 이해해야 합니다.

WebView 사용

Android에서 웹 페이지를 표시하려면 기본적으로 WebView 구성 요소를 사용합니다. 기본 사용도 매우 간단합니다. Baidu 홈페이지를 로드하려면 다음과 같이 작성합니다. 먼저 레이아웃 파일에서

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <WebView 
        android:id="@+id/web_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent" /></RelativeLayout>
로그인 후 복사

를 선언한 다음 이를 Java 파일

WebView webView = (WebView) findViewById(R.id.web_view);
webView.loadUrl("http://www.baidu.com");
로그인 후 복사

에서 사용합니다. 동시에 WebView를 사용하면 일부 기본 설정을 수정할 수도 있습니다. 예를 들어 javascript에 대한 지원을 활성화하려는 경우입니다. 확대/축소할 수 있으려면 다음 설정이 필요합니다:

// 启用javascriptwebView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setUseWideViewPort(true);//是否可以缩放webView.getSettings().setSupportZoom(true);
webView.getSettings().setBuiltInZoomControls(true);if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 
    getSettings().setDisplayZoomControls(false);
}
로그인 후 복사

그러나 다양한 알림을 처리하거나 이벤트를 요청하거나 페이지가 로드될 때 페이지의 로드 진행 상황을 모니터링하려면 두 가지 다른 클래스를 사용해야 합니다. WebViewClient 및 WebChromeClient. 그 중 WebViewClient는 주로 알림을 수신하거나 이벤트를 요청하는 데 사용됩니다. 개발에서 사용할 수 있는 방법은 주로 다음과 같습니다.

onPageStarted

onPageFinished

onReceivedError

shouldOverrideUrlLoading

그리고 WebChromeClient는 javascript, 웹사이트를 처리하는 데 사용됩니다. 아이콘, 웹사이트 제목, 로딩 진행률 등 WeChat을 사용할 때 웹페이지를 열면 녹색 진행률 표시줄이 표시됩니다. 이 기능은 WebChromeClient의 onProgressChanged 메서드를 재정의하여 수행됩니다.

public class CustomWebClient extends WebChromeClient { 
    @Override public void onProgressChanged(WebView view, int newProgress) { 
        if (newProgress == 100) { 
            mProgressBar.setVisibility(GONE); 
        } else { 
            if (mProgressBar.getVisibility() == GONE) { 
                mProgressBar.setVisibility(VISIBLE); 
            } 
            mProgressBar.setProgress(newProgress);
        } 
        super.onProgressChanged(view, newProgress); 
    }
}
로그인 후 복사

, WebView는 javascript를 직접 실행하는 기능도 제공합니다. 예를 들어 간단히 대화 상자를 표시할 수 있습니다.

webView.loadUrl("javascript:alert(\"提示信息!\");");
로그인 후 복사

물론 js를 실행하려면 두 가지 조건이 충족되어야 합니다. 첫 번째는 javascript를 활성화하는 것입니다. 즉, setJavascriptEnabled(true)를 호출해야 하고, 두 번째는 WebChromeClient를 설정하는 것입니다. 두 가지 모두 필수입니다.

이 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

관련 읽기:

기본 JavaScript 데이터 유형
JS 코드로 계정 비밀번호를 기억하는 방법

위 내용은 Android 개발에서 js와 ​​상호작용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!