2016-09-07 116 views
-3

有沒有一種方法可以將值從Android加載到網頁上的文本字段,而無需加載/顯示WebView?例如,我有兩個字符串,並希望在網頁上填充兩個字段,有沒有辦法在「後臺」中執行此操作,換句話說,無需打開用戶可以看到的窗口? 感謝從android顯示WebView的網站上的文本字段沒有顯示WebView

更新

發現探戈

的幫助

這是我OkHttpHandler類的解決方案:

public class OkHttpHandler extends AsyncTask<String, Void, String> { 

    OkHttpClient client = new OkHttpClient(); 
    String cardNumber, privNumber; 

    public OkHttpHandler(String cardNumber, String privNumber) { 

     this.cardNumber = cardNumber; 
     this.privNumber = privNumber; 
    } 

    @Override 
    protected String doInBackground(String... strings) { 

     RequestBody formBody = new FormBody.Builder() 
       //Change .add first parameter to the text field you want to populate 
       .add("CardNbr", cardNumber) 
       .add("CardPin", privNumber).build(); 
     Request request = new Request.Builder().url(strings[0]) 
       .post(formBody).build(); 

     try { 
      Response response = client.newCall(request).execute(); 
      if (!response.isSuccessful()) 
       throw new IOException("Unexpected code "+ request.toString()); 
      return response.body().string(); 
     } catch (Exception e) { 
     } 
     return null; 
    } 
} 

我MainActivity類別的一個片段,我打印響應到日誌

OkHttpHandler handler = new OkHttpHandler(items.get(0).getNumber(), items.get(0).getPrivNumber()); 
    String result = ""; 
    try { 
     result = handler.execute("urlHere.com").get(); 
    } catch (InterruptedException e) { 

     e.printStackTrace(); 
    } catch (ExecutionException e) { 

     e.printStackTrace(); 
    } 
    Log.d("returned value", result); 
+0

歡迎。請訪問幫助中心,瞭解如何提出一個好問題。 http://stackoverflow.com/help/how-to-ask – polka

回答

0

使用OkHttp

final OkHttpClient client = new OkHttpClient(); 

    RequestBody formBody = new FormBody.Builder() 
      .add("field to be filled", "content") 
      .build(); 
     Request request = new Request.Builder() 
      .url("webpage url") 
      .post(formBody) 
      .build(); 

     Response response = client.newCall(request).execute(); 
     if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);