Изменение содержимого webView в Android Studio - PullRequest
0 голосов
/ 04 марта 2019

Я хочу взять исходный код страницы, найти определенный текст и заменить его другим текстом.Затем я хочу отобразить измененную страницу для пользователя.Есть ли способ сделать это в Android Studio?

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Что-то, что вы могли бы сделать, это использовать пользовательский WebView и добавить новый метод, чтобы загрузить HTML-код URL-адреса самостоятельно и изменить возвращенный HMTL.Вот пример Kotlin с использованием сопрограмм:

class OverrideWebView : WebView {
    constructor(context: Context?) : super(context)
    constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs)
    constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr)

    private val okHttpClient = OkHttpClient()

    fun loadUrlAndReplace(url: String, replace: (String) -> String) {
        val request = Request.Builder()
            .url(url)
            .build()

        GlobalScope.launch {
            okHttpClient.newCall(request).execute().body()?.string()?.let { html ->


                GlobalScope.launch(Dispatchers.Main) {
                    val newHtml = replace(html)
                    loadData(newHtml, "text/html", "UTF-8");
                }
            } ?: kotlin.run {
                Log.e("ERROR", "Error loading $url")
            }
        }

    }

}

Использование:

 val url = "https://example.com"
 webView.loadUrlAndReplace(url) {html->
       html.replace("Original Text","New Text")
 }
0 голосов
/ 04 марта 2019

К сожалению, вы не можете.

У вас есть два варианта, вы можете получить html исходный код - проанализируйте его и попробуйте настроить дизайн в вашем приложении для Android + добавьте функциональность самостоятельно.

Или отобразите веб-сайт как Webview, но он будетбыть полностью бесполезным, потому что вы можете только просматривать содержимое страницы, и нет никакого способа изменить текст и т. д.

В любом случае вы должны делать почти все самостоятельно.Но в любом случае наличие и идея - хорошее начало, желаю удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...