Android! Разработка мобильных



Pdf көрінісі
бет86/87
Дата26.01.2023
өлшемі3,48 Mb.
#63133
1   ...   79   80   81   82   83   84   85   86   87
Байланысты:
Привет, Андроид Разработка мобильных приложений

ВОПРОС/ОТВЕТ
Опасно ли позволять JavaScript вызывать Java?
Е�ли вы разрешили веб��трани�е до�туп к локал�ны� ре�ур�а� или вызов функ�ий� 
на ходя�их�я за предела�и «пе�очни�ы» браузера� т�ател�но проду�айте воз�ожные 
по �лед�твия для безопа�но�ти� Напри�ер� вы не хотите �оздават� �етод� позволя��ий 
JavaSc��pt читат� данные из л�бо�о �е�та файловой �и�те�ы� так как �то �ожет ра��
читат� данные из л�бо�о �е�та файловой �и�те�ы� так как �то �ожет ра��
крыт� ваши при ватные данные вредоно�но�у �айту� который получил бы инфор�а�и� 
об и�енах ваших файлов�
Вот не�кол�ко идей� которые �ледует по�тоянно держат� в �олове� Первая: не пола�ай�
те�� на безопа�но�т� в�лепу�� У�тановите о�раничение на �трани�ы� которые �о�ут за�
пу�кат� ваши �етоды� и на то� что �ти �етоды �о�ут делат�� И по�ните золотое правило 
безопа�но�ти: не управляйте выходо�� управляйте входо�� Говоря дру�и�и �лова�и� не 
пытайте�� проверит� в�е непонятное� что кто�то предла�ает ва� �делат� (напри�ер� не�
правил�ные �и�волы в запро�е)� Вы �ожете что�то упу�тит�� В�е�то �то�о запре�айте 
в�е и пропу�кайте тол�ко то� в безопа�но�ти че�о вы аб�ол�тно уверены�
‰
‰ setWebChromeClient()
: ре�и�трирует обратные вызовы для �обытий� которые 
требует�я выполнит� за предела�и обла�ти про��отра 
WebView
� таких как об�
новление за�оловка или индикатора про�ре��а или открытие диало�ово�о окна 
JavaSc��pt;


7 .3 . Из JavaScript в Java и обратно 127
‰
‰ setWebViewClient()
: позволяет приложени� у�танавливат� перехватчики в бра�
узере для перехвата �обытий� таких как за�рузка ре�ур�ов� нажатие кнопок 
и запро�ы на авториза�и�;
‰
‰ stopLoading()
: о�танавливает за�рузку теку�ей �трани�ы�
Одна из наиболее полезных ве�ей� котору� вы �ожете �делат� � по�о��� 
�ле�ента управления 
WebView
� закл�чает�я в об�ене �ооб�ения�и �ежду ни� и �о�
держа�и� е�о приложение� �������� По��отри� на �ту воз�ожно�т� поближе�
7 .3 . Из JavaScript в Java и обратно
У�трой�тво ������� �ожет делат� �а��у за�ечател�ных ве�ей� таких как хране�
������� �ожет делат� �а��у за�ечател�ных ве�ей� таких как хране�
�ожет делат� �а��у за�ечател�ных ве�ей� таких как хране�
ние локал�ных данных� ри�ование �рафиче�ких объектов� прои�рывание �узыки� 
�о вершение звонков и определение �об�твенно�о �е�тоположения� Было бы пре�
кра�но� е�ли бы �у�е�твовала воз�ожно�т� получат� до�туп к �той функ�ионал��
но�ти � веб��трани�� не так ли? С по�о��� в�троенно�о 
WebView
вы ��ожете �то 
�делат��
�л�ч к �ти� воз�ожно�тя� — �етод 
addJavaScriptInterface()
в кла��е 
WebView
� 
Вы �ожете и�пол�зоват� е�о для то�о� чтобы ра�ширит� DOM (D�cume�t Object 
M��el — объектная �одел� доку�ента) внутри в�троенно�о браузера и для опре�
— объектная �одел� доку�ента) внутри в�троенно�о браузера и для опре�
деления новых объектов� к которы� �ожет получит� до�туп JavaSc��pt�код� �о�да 
про�ра��а на JavaSc��pt вызывает �етоды таких объектов� �то на �а�о� деле при�
JavaSc��pt вызывает �етоды таких объектов� �то на �а�о� деле при�
вызывает �етоды таких объектов� �то на �а�о� деле при�
водит к вызову �етодов в ��������про�ра��е�
Также вы �ожете вызват� �етоды JavaSc��pt из ��������про�ра��ы� В�е� что 
ва� нужно для �то�о �делат�� — и�пол�зоват� �етод 
loadUrl()
� передавая е�у URL 
фор�ы javascript:code-to-execute� В�е�то то�о чтобы перейти к новой �трани�е� 
браузер и�полнит заданное выражение на JavaSc��pt внутри теку�ей �трани�ы� 
Вы �ожете вызыват� �етоды� �енят� значение пере�енных JavaSc��pt� из�енят� 
про��атривае�ый доку�ент — в�е� что ва� нужно�
Для де�он�тра�ии взаи�одей�твия �ежду JavaSc��pt в 
WebView
и Java в про�
Java в про�
в про�
�ра��е ������� давайте �оздади� про�ра��у� ча�т� которой напи�ана на HTML/
JavaSc��pt� а ча�т� — на ������� (ри�� 7�4)� Верхняя ча�т� окна приложения — �то 
�ле�ент управления 
WebView
� нижняя ча�т� — �то 
TextView
и 
Button
из пол�зова�
тел��ко�о интерфей�а �������� �о�да вы �елкаете на кнопке или на ��ылках� �то 
приводит к об�ену ко�анда�и �ежду дву�я �реда�и�
Начне� � �оздания про�ра��ы «Hell�� �������»� и�пол�зуя �леду��ие пара�
Hell�� �������»� и�пол�зуя �леду��ие пара�
� �������»� и�пол�зуя �леду��ие пара�
�������»� и�пол�зуя �леду��ие пара�
»� и�пол�зуя �леду��ие пара�
�етры:
Project name: LocalBrowser
Build Target: Android 2.2
Application name: LocalBrowser
Package name: org.example.localbrowser
Create Activity: LocalBrowser
Min SDK Version: 8


128 Глава 7 • Объединенный мир
Пол�зовател��кий интерфей� нашей про�ра��ы будет разделен на две ча�ти� 
Первая ча�т� определена в файле �акета ������� 
res/layout/main .xml



Достарыңызбен бөлісу:
1   ...   79   80   81   82   83   84   85   86   87




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет