我有这个网站(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
提交
取消
