get提交易错点

    科技2022-07-12  118

    get提交易错点

    MainActivity.java

    package com.example.application; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; import android.widget.Toast; import org.jetbrains.annotations.NotNull; import java.io.IOException; import okhttp3.Call; import okhttp3.Callback; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; public class MainActivity extends AppCompatActivity { private TextView gets; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gets=findViewById(R.id.get); OkHttpClient client=new OkHttpClient(); Request request=new Request.Builder() .get() .url("https:///www..baidu.com?addname=tr")//还有其他方法,是不是必须放这括号里面 .build(); Call call=client.newCall(request);//这里是框架去创建Call,再把request放Call里面 //request放Call里面后对它进行处理,比如 onFailure 失败回怎么办,Response响应,也就是成功后怎么办 //enqueue 入队 Call呼叫 back返回 可以理解为request放Call里面后就入队检查,如果失败或者成功都会返回 call.enqueue(new Callback() { @Override public void onFailure(@NotNull Call call, @NotNull IOException e) { Toast.makeText(MainActivity.this," get Failure",Toast.LENGTH_SHORT).show(); } @Override public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { //这里成功后就通过此方法的第二个参数 response进行返回 //因为后面是new Runnable()内部类还是匿名类来着,具体什么类我忘记了,反正想要用它就必须加final final String s=response.body().string(); //body() 内容 //string,把它转为字符串 //还考虑到跟新ui问题 //异步调用的回调函数是在子线程,我们不能在子线程更新UI,需要借助于runOnUiThread()方法或者Handler来处理 runOnUiThread(new Runnable() { @Override public void run() { //把上面成功后要返回的(final String s )s给显示文本到TextView gets.setText(s); } }); } }); } }

    可以不用看xml

    activity_main.xml

    <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="get提交" android:id="@+id/get" tools:ignore="MissingConstraints" /> </androidx.constraintlayout.widget.ConstraintLayout>
    Processed: 0.011, SQL: 8