zoukankan      html  css  js  c++  java
  • 安卓学习----使用okHttp(POST方式)---登录

    工具类

    package com.liunan.okhttpdemo3post.Utils;
    
    import java.io.IOException;
    
    import okhttp3.MediaType;
    import okhttp3.OkHttpClient;
    import okhttp3.Request;
    import okhttp3.RequestBody;
    import okhttp3.Response;
    import okhttp3.ResponseBody;
    
    /**
     * Created by Administrator on 2016-03-27.
     */
    public class HttpUtils {
    
        OkHttpClient client = new OkHttpClient();
        public static final MediaType JSON
                = MediaType.parse("application/json; charset=utf-8");
    
        public String login(String url, String json) throws IOException {
            //把请求的内容字符串转换为json
            RequestBody body = RequestBody.create(JSON, json);
            //RequestBody formBody = new FormEncodingBuilder()
    
            Request request = new Request.Builder()
                    .url(url)
                    .post(body)
                    .build();
    
            Response response = client.newCall(request).execute();
    
            String result = response.body().string();
    
    
            return result;
    
    
        }
    
    
        public String bolwingJson(String username, String password) {
            return "{'username':" + username + "," + "'password':" + password + "}";
            //     "{'username':" + username + ","+"'password':"+password+"}";
        }
    
    
    }

    Activity

    package com.liunan.okhttpdemo3post;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.text.TextUtils;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;
    import android.widget.Toast;
    
    import com.liunan.okhttpdemo3post.Utils.HttpUtils;
    
    import org.w3c.dom.Text;
    
    import java.io.IOException;
    
    public class MainActivity extends AppCompatActivity implements View.OnClickListener {
        private static final String TAG ="MainActivity" ;
        //用户名
        private EditText mEtUsername;
        //密码
        private EditText mEtPwd;
        //登录按键
        private Button mBtnLogin;
        private TextView mTvResult;
    
        private String url ="http://192.168.1.102:8080/Login/login";
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            initView();
            initListener();
        }
    
        /**
         * 初始化组件
         */
        private void initView() {
    
            mEtUsername = (EditText) findViewById(R.id.login_et_name);
            mEtPwd = (EditText) findViewById(R.id.login_et_pwd);
    
            mBtnLogin = (Button) findViewById(R.id.login_btn_login);
    
    
            mTvResult = (TextView) findViewById(R.id.login_tv_result);
    
        }
    
        /**
         * 设置监听器
         */
        private void initListener() {
    
            mBtnLogin.setOnClickListener(this);
    
    
        }
    
        /*
        单击事件监听
         */
        @Override
        public void onClick(View v) {
            if(v==mBtnLogin){
                login();
            }
        }
    
        /*
        登录
         */
        private void login() {
    
            final String username = mEtUsername.getText().toString().trim();
            final String password = mEtPwd.getText().toString().trim();
    
    
            if(TextUtils.isEmpty(username) || TextUtils.isEmpty(password)){
    
                Toast.makeText(MainActivity.this, "用户名或者密码不能为空", Toast.LENGTH_SHORT).show();
                return;
            }
    
            new Thread(){
                @Override
                public void run() {
    
                        HttpUtils httpUtils = new HttpUtils();
                        //转换为JSON
                        String user = httpUtils.bolwingJson(username, password);
    
    
    
                    //String user ="{'username':" + username + ","+"'password':"+password+"}";
    
                    Log.d(TAG, "user:" + user);
    
                    try {
                        final String result = httpUtils.login(url, user);
                        Log.d(TAG, "结果:" + result);
                        //更新UI,在UI线程中
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                if("SUCCESS".equals(result)){
    
                                    mTvResult.setText("登录成功");
    
                                }else{
                                    mTvResult.setText("登录失败");
                                }
                            }
                        });
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
    
    
    
    
                }
            }.start();
    
    
        }
    }
  • 相关阅读:
    win10 在当前目录下 打开cmd
    Python 出现 can't use a string pattern on a bytes-like object
    Python3中urllib详细使用方法(header,代理,超时,认证,异常处理)
    python urllib2模块
    安装pip最简单的方法
    Thread.run方法是同步方法
    curl命令总结
    自己构建的Lumbda表达式
    将github上的项目源码导入eclipse详细教程
    JButton点击事件
  • 原文地址:https://www.cnblogs.com/liunanjava/p/5326176.html
Copyright © 2011-2022 走看看