软件编程
位置:首页>> 软件编程>> Android编程>> Android使用OkHttp发送post请求

Android使用OkHttp发送post请求

作者:FanRQ_  发布时间:2022-12-04 13:24:57 

标签:Android,OkHttp,post

本文实例为大家分享了使用OkHttp发送post请求的具体代码,供大家参考,具体内容如下

MainActivity.java


public class MainActivity extends AppCompatActivity {

private EditText mEt_qq;
private EditText mEt_pwd;
private TextView mTv_status;

String path = "http://169.254.53.96:8080/web/LoginServlet";

private static final int SUCCESS = 665;
private static final int FALL = 894;

Handler handler=new Handler(){
 @Override
 public void handleMessage(Message msg) {
  switch (msg.what) {
   case SUCCESS:
    String text= (String) msg.obj;
    mTv_status.setText(text);
    break;
   case FALL:
    Toast.makeText(MainActivity.this, "没有网", Toast.LENGTH_SHORT).show();
    break;
   default:
    break;
  }
 }
};

@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 //对控件进行初始化操作
 initVIew();
}

private void initVIew() {
 mEt_qq = (EditText) findViewById(R.id.et_qq);
 mEt_pwd = (EditText) findViewById(R.id.et_pwd);
 mTv_status = (TextView) findViewById(R.id.tv_status);
}

/**
 * 使用Post进行表单(键值对)上传,完成登录
 * @param view
 */
public void login(View view){

//得到用户输入的信息,进行非空判断
 String qq = mEt_qq.getText().toString().trim();
 String pwd =mEt_pwd.getText().toString().trim();
 if(TextUtils.isEmpty(qq) || TextUtils.isEmpty(pwd) ){
  Toast.makeText(MainActivity.this, "不能输入为空", Toast.LENGTH_SHORT).show();
  return;
 }

//1.0 创建okhttpClinet
 OkHttpClient okHttpClient = new OkHttpClient.Builder()
   .connectTimeout(10, TimeUnit.SECONDS)
   .readTimeout(10,TimeUnit.SECONDS)
   .writeTimeout(10,TimeUnit.SECONDS)
   .build();

FormBody formBody= new FormBody.Builder()
   .add("qq", qq).add("pwd", pwd)
   .build();

Request request= new Request.Builder()
   .post(formBody)
   .url(path)
   .build();

Call call = okHttpClient.newCall(request);

call.enqueue(new Callback() {
  @Override
  public void onFailure(Call call, IOException e) {
   handler.sendEmptyMessage(FALL);
  }

@Override
  public void onResponse(Call call, Response response) throws IOException {
   String string = response.body().string();
   Message msg = Message.obtain();
   msg.obj=string;
   msg.what=SUCCESS;
   handler.sendMessage(msg);
  }
 });
}
}

activity_main.xml


<LinearLayout 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"
   android:orientation="vertical"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context=".MainActivity" >

<EditText
 android:id="@+id/et_qq"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:hint="请输入qq号码" />

<EditText
 android:id="@+id/et_pwd"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:hint="请输入密码"
 android:inputType="textPassword" />

<Button
 android:onClick="login"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:text="登陆" />

<TextView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:id="@+id/tv_status"
  android:text="登陆状态:"
  />

</LinearLayout>

build.gradle //依赖


implementation 'com.squareup.okhttp3:okhttp:3.4.2'

来源:https://blog.csdn.net/FanRQ_/article/details/84034915

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com