权限
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
xml布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.bwie.asus.login.MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="30dp" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="60dp" android:text="用户名" android:textSize="20sp" /> <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:layout_marginTop="30dp" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="60dp" android:text="密 码" android:textSize="20sp" /> <EditText android:id="@+id/password" android:layout_width="200dp" android:layout_height="wrap_content" /> </LinearLayout> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="30dp" android:text="登录" /> </LinearLayout>
MainActivity类
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.bwie.asus.login.MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="30dp" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="60dp" android:text="用户名" android:textSize="20sp" /> <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:layout_marginTop="30dp" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="60dp" android:text="密 码" android:textSize="20sp" /> <EditText android:id="@+id/password" android:layout_width="200dp" android:layout_height="wrap_content" /> </LinearLayout> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="30dp" android:text="登录" /> </LinearLayout>
Login类
package com.bwie.asus.login; /** * Created by ASUS on 2017/10/8. */ public interface Login { public void name(); public void pwd(); public void loginsuccess(String result); }
Model类
package com.bwie.asus.login; import java.io.IOException; import okhttp3.Call; import okhttp3.Callback; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; /** * Created by ASUS on 2017/10/8. */ public class Model { interface ModelList{ public void loginsuccess(String result); } public void setLogin(String username, String password, final ModelList modelList){ OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder().url("http://qhb.2dyt.com/Bwei/login?username=muhanxi&password=111&postkey=1503d").build(); Call call = client.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { String result = response.body().string(); modelList.loginsuccess(result); } }); } }
Presenter类
package com.bwie.asus.login; import android.text.TextUtils; /** * Created by ASUS on 2017/10/8. */ public class Presenter { private Login login; private Model model; public Presenter(Login login) { this.login = login; this.model = new Model(); } public void setLogin(String username,String password){ if (TextUtils.isEmpty(username)){ login.name(); return; } if (TextUtils.isEmpty(password)){ login.pwd(); return; } model.setLogin(username, password, new Model.ModelList() { @Override public void loginsuccess(String result) { login.loginsuccess(result); } }); } }