首页 > 系统 > Android > 正文

Android使用OkHttp发送post请求

2019-10-21 21:35:15
字体:
来源:转载
供稿:网友

本文实例为大家分享了使用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'

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到Android开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表