0

So i have a url, a bunch of headers and a body containing several values in json format that i need to load to a Webview. The following code doesn't seem to be working.

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);
    }
}

Any help is really appreciated. Thanks.

rickyl22
  • 1
  • 1

1 Answers1

0

I think maybe you should make clear every part of flow,

1) On onCreateView: - declare 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) Then you use Retrofit to request a Post to get data. ...

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

.... 3) Then you update data in Webview.

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

hà yen
  • 21
  • 3