簡體   English   中英

如何在Android上使用標題和正文將POST請求加載到Webview

[英]How to load POST request to a Webview with headers and body on Android

所以我有一個網址,一堆標題和一個包含json格式的幾個值的正文,我需要加載到Webview。 以下代碼似乎不起作用。

public void createWebview(){

    WebView webView = (WebView) findViewById(R.id.webview);
    WebSettings webSettings = webView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webView.setWebViewClient(new MyWebViewClient());      
    String data = '{
                     "data1" : "data1",
                     "data2" : "data2",
                     "data3" : "data3"

                   }';

    try {
        webView.postUrl("https://www.example.com",data.getBytes("UTF-8"));
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
}

private class MyWebViewClient extends WebViewClient

{

    @Override
    public WebResourceResponse shouldInterceptRequest (WebView view, WebResourceRequest request)
    {
        request.getRequestHeaders().put("header1", "header1");
        request.getRequestHeaders().put("header2", "header2");
        request.getRequestHeaders().put("header3", "header3");                 
        return super.shouldInterceptRequest(view,request);
    }
}

任何幫助都非常感謝。 謝謝。

我想也許你應該明確流程的每一部分,

1)on onCreateView: - 聲明webview:...

    WebView webView = (WebView) findViewById(R.id.webview);
    WebSettings webSettings = webView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webView.setWebViewClient(new MyWebViewClient());
    // Maybe you want to show Please wait Dialog to let user wait

    inflateUI();

... 2)然后使用Retrofit請求Post獲取數據。 ...

void inflateUI() {
        getActivity().runOnUiThread(new Runnable() {
            @Override
            public void run() {.. use Retrofit to get Data by Post }
          }
      }

.... 3)然后在Webview中更新數據。

改造: https//medium.com/@prakash_pun/retrofit-a-simple-android-tutorial-48437e4e5a23

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM