为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 php 页面(没有 json)获取数据?

如何从 php 页面(没有 json)获取数据?

慕容708150 2022-05-25 10:12:31
我有这个网站(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);


查看完整回答
反对 回复 2022-05-25
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

首先看起来像网站,如果它不能正常工作,因为它没有加载。但是,如果假设它正在工作并且您没有任何 GET/ 端点,您将收到整个 HTML 文档,并且您需要通过 html 标签对其进行解析以获取所需的文本。



查看完整回答
反对 回复 2022-05-25
?
POPMUISE

TA贡献1765条经验 获得超5个赞

你应该使用 ResponseBody

getDolg() should return Call<ResponseBody>

然后你必须解析html。这种格式的贷款回报

<span id="debt-clock">$21,954,170,905,365.84</span>

您可以使用正则表达式解析 html。


查看完整回答
反对 回复 2022-05-25
  • 3 回答
  • 0 关注
  • 203 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号