我有這個網站(http://www.usadebtclock.com/us-debt-clock-widget.php),我想使用改造 2 從中獲取數字(沒有 JSON)到我的 android studio 應用程序并顯示這個數字在文本視圖中。我應該使用什么轉換器工廠而不是 GsonConverterFactory?或者我怎樣才能從這個頁面獲取數字到我的文本視圖?我嘗試使用GsonConverterFactory.create()它,但它沒有做出響應并顯示來自onFailure方法的日志這是MainActivity.class(使用無用的 GsonConverterFactory):public class MainActivity extends AppCompatActivity { TextView tv; Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv = findViewById(R.id.textview1); btn = findViewById(R.id.btn); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Retrofit retrofit = new Retrofit.Builder() .baseUrl(DolgAPI.HOST) .addConverterFactory(GsonConverterFactory .create()) .build(); DolgAPI apiService = retrofit.create(DolgAPI.class); Call<String> call = apiService.getDolg(); call.enqueue(new Callback<String>() { @Override public void onResponse(Call<String> call, Response<String> response) { tv.setText(response.body()); Log.d("MyLog", "Got it!"); } @Override public void onFailure(Call<String> call, Throwable t) { Log.d("MyLog", "Error"); } }); } }); }}這是 Retrofit2 響應 API:public interface DolgAPI { String HOST = "http://www.usadebtclock.com"; @GET("us-debt-clock-widget.php") Call<String> getDolg();}
3 回答

守著星空守著你
TA貢獻1799條經驗 獲得超8個贊
我使用 WebView 顯示該站點的價值
它包含 JavaScript,所以我使用下一行來允許在應用程序中執行 Web 腳本:
WebSettings webSettings = myWebView.getSettings(); webSettings.setJavaScriptEnabled(true);

人到中年有點甜
TA貢獻1895條經驗 獲得超7個贊
首先看起來像網站,如果它不能正常工作,因為它沒有加載。但是,如果假設它正在工作并且您沒有任何 GET/ 端點,您將收到整個 HTML 文檔,并且您需要通過 html 標簽對其進行解析以獲取所需的文本。

POPMUISE
TA貢獻1765條經驗 獲得超5個贊
你應該使用 ResponseBody
getDolg() should return Call<ResponseBody>
然后你必須解析html。這種格式的貸款回報
<span id="debt-clock">$21,954,170,905,365.84</span>
您可以使用正則表達式解析 html。
添加回答
舉報
0/150
提交
取消