<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"
tools:context=".MainActivity"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="用户名"/>
<EditText
android:id="@+id/username"
android:layout_width="200dp"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="密码"/>
<EditText
android:id="@+id/password"
android:layout_width="200dp"
android:layout_height="wrap_content"/>
</LinearLayout>
<Button
android:id="@+id/login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="20dp"
android:text="登录"
/>
view
package liyuanqi.bwie.com.mvplx01;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import liyuanqi.bwie.com.mvplx01.prasenter.UserLoginPrasenter;
public class MainActivity extends AppCompatActivity implements View.OnClickListener, UserLoginPrasenter.UserShuju {
private EditText username;
private EditText password;
private Button login;
UserLoginPrasenter userLoginPrasenter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
userLoginPrasenter = new UserLoginPrasenter(this);
}
private void initView() {
username = (EditText) findViewById(R.id.username);
password = (EditText) findViewById(R.id.password);
login = (Button) findViewById(R.id.login);
login.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.login:
submit();
break;
}
}
private void submit() {
// validate
String names = username.getText().toString().trim();
String pwds= password.getText().toString().trim();
if (userLoginPrasenter.isnull(names,pwds)) {
userLoginPrasenter.panduanjieguo();
}else {
Toast.makeText(this, "账号密码不能为空", Toast.LENGTH_SHORT).show();
}
}
@Override
public void cg() {
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_SHORT).show();
}
});
}
@Override
public void sb() {
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this, "账号或密码错误", Toast.LENGTH_SHORT).show();
}
});
}
}
Prasenter(接口回调)
package liyuanqi.bwie.com.mvplx01.prasenter;
import android.text.TextUtils;
import liyuanqi.bwie.com.mvplx01.model.User;
import liyuanqi.bwie.com.mvplx01.model.UserLoginData;
public class UserLoginPrasenter {
public UserLoginPrasenter(UserShuju userShuju) {
mUserShuju = userShuju;
}
User user = new User();
public Boolean isnull(String names, String pwds){
user.name=names;
user.pwd=pwds;
if (TextUtils.isEmpty(user.name)) {
return false;
}
if (TextUtils.isEmpty(user.pwd)){
return false;
}
return true;
}
public void panduanjieguo() {
new Thread(new Runnable() {
@Override
public void run() {
if (UserLoginData.pdjieguo(user)) {
mUserShuju.cg();
} else {
mUserShuju.sb();
}
}
}).start();
}
public interface UserShuju{
void cg();
void sb();
}
private UserShuju mUserShuju;
}
model
一个数据的暂时存放的类
package liyuanqi.bwie.com.mvplx01.model;
public class User {
public String name;
public String pwd;
}
package liyuanqi.bwie.com.mvplx01.model;
import com.google.gson.Gson;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.List;
获取网络数据
public class UserLoginData {
static JsonBean jsonBean;
public static boolean pdjieguo( User user) {
String wz="http://www.xieast.com/api/news/news.php?type=top&page=1&tdsourcetag=s_pcqq_aiomsg";
try { URL url = new URL(wz);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setReadTimeout(5000);
urlConnection.setConnectTimeout(5000);
int code = urlConnection.getResponseCode();
if (code==200){
String jsonString=httpstring(urlConnection.getInputStream());
jsonBean = new Gson().fromJson(jsonString, JsonBean.class);
}
List<JsonBean.DataBean> data = jsonBean.getData();
for (int i=0;i<data.size();i++){
if(data.get(i).getCategory().equals(user.name) && data.get(i).getAuthor_name().equals(user.pwd)){
return true;
}
}
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
private static String httpstring(InputStream inputStream) {
StringBuilder builder = new StringBuilder();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
try {
for (String temp=reader.readLine();temp!=null;temp=reader.readLine()){
builder.append(temp);
}
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return builder.toString();
}
}