AndroidはokHttp(get方式)でログインします。
本論文の例では、Androidがget方式で登録された関連コードを共有しています。参考にしてください。具体的な内容は以下の通りです。
ツールクラス
ツールクラス
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();
}
}
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。