1:<uses-permission android:name="android.permission.INTERNET" />:2:public class CaptureActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_capture); } } 2:
public class HomeActivity extends BaseActivityPresenter<HomeActivityPresenter> { @Override public Class<HomeActivityPresenter> getClassDelegate() { return HomeActivityPresenter.class; } } 3:
public class MainActivity extends BaseActivityPresenter<MainActivityPresenter> { @Override public Class<MainActivityPresenter> getClassDelegate() { return MainActivityPresenter.class; } 4:
public class RegisterActivity extends BaseActivityPresenter<RegisterActivityPresenter> { @Override public Class<RegisterActivityPresenter> getClassDelegate() { return RegisterActivityPresenter.class; } 5:
public class HomeActivityPresenter extends AppDelegate implements View.OnClickListener { @Override public int getLayoutId() { return R.layout.activity_home; } @Override public void initData() { TextView user_name= get(R.id.user_name); TextView user_nickname= get(R.id.user_nickname); TextView show_out= get(R.id.show_out); SharedPreferences sp = context.getSharedPreferences("user", context.MODE_PRIVATE); String username=sp.getString("username",""); String usernickname=sp.getString("usernickname","我是默认的"); user_name.setText(username); user_nickname.setText(usernickname); setOnClick(this,R.id.login_out,R.id.show_out ); } /// private Context context; @Override public void getContext(Context context) { this.context=context; } @Override public void onClick(View v) { SharedPreferences sp = context.getSharedPreferences("user", context.MODE_PRIVATE); sp.edit().putString("username","") .putString("userpass","").putString("usernickname","").commit(); context.startActivity(new Intent(context, MainActivity.class)); context.startActivity(new Intent(context,ShowActivity.class)); } } 6:
public class MainActivityPresenter extends AppDelegate implements View.OnClickListener { private EditText userName,userPass; @Override public int getLayoutId() { return R.layout.activity_main; } @Override public void initData() { userName= get(R.id.user_name); userPass= get(R.id.user_pass); setOnClick(this,R.id.login,R.id.layout_register); } private Context context; @Override public void getContext(Context context) { this.context=context; } @Override public void onClick(View v) { switch (v.getId()){ case R.id.login: doLogin(); break; case R.id.layout_register: doRegister(); break; } } zhuc 注册 private void doRegister() { context.startActivity(new Intent(context, RegisterActivity.class)); } private void doLogin() { String name=userName.getText().toString().trim(); String pass=userPass.getText().toString().trim(); if(TextUtils.isEmpty(name)){ toast(context,"账号不能为空"); return; } if(TextUtils.isEmpty(pass)){ toast(context,"密码不能为空"); return; } new OkHttpUtil().get(Http.LOGIN_URL+"?mobile="+name+"&password="+pass).result(new HttpListener() { @Override public void success(String data) { LoginBean bean=JsonToBean.jsonToBean(data, LoginBean.class); if (!"0".equals(bean.getCode())){ toast(context,"账号或密码错误"); }else { //d登录了之后保存到spbenDO 本地 saveUserData(bean); ((MainActivity)context).finish();//销毁的 context.startActivity(new Intent(context, HomeActivity.class)); } } @Override public void fail() { } }); } private void saveUserData(LoginBean bean) { SharedPreferences sp = context.getSharedPreferences("user", context.MODE_PRIVATE); sp.edit().putString("username",bean.getData().getMobile()) .putString("userpass",bean.getData().getPassword()).commit(); if(bean.getData().getNickname()!=null){ sp.edit().putString("usernickname",bean.getData().getNickname().toString()); } } } 7:
public class RegisterActivityPresenter extends AppDelegate implements View.OnClickListener { private EditText userName,userPass; @Override public int getLayoutId() { return R.layout.activity_register; } @Override public void initData() { userName= get(R.id.user_name); userPass= get(R.id.user_pass); setOnClick(this,R.id.register,R.id.layout_back); } private Context context; @Override public void getContext(Context context) { this.context=context; } @Override public void onClick(View v) { switch (v.getId()){ case R.id.register: ///注册id doRegister(); break; case R.id.layout_back: ((RegisterActivity)context).finish(); break; } } private void doRegister() { String name=userName.getText().toString().trim(); String pass=userPass.getText().toString().trim(); if(TextUtils.isEmpty(name)){ toast(context,"账号不能为空"); return; } if(TextUtils.isEmpty(pass)){ toast(context,"密码不能为空"); return; } new OkHttpUtil().get(Http.REGISTER_URL+"?mobile="+name+"&password="+pass).result(new HttpListener() { @Override public void success(String data) { RegisterBean bean= JsonToBean.jsonToBean(data, RegisterBean.class); toast(context,bean.getMsg()); if(bean.getCode()==0){ //注册成功。跳转但会到登录页面 ((RegisterActivity)context).finish(); } } @Override public void fail() { } }); } }
<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=".actitcy.MainActivity"> <RelativeLayout android:layout_width="match_parent" android:layout_height="200dp"> <ImageView android:layout_width="90dp" android:layout_height="90dp" android:src="@mipmap/ic_launcher" android:layout_centerInParent="true" /> </RelativeLayout> <EditText android:layout_width="match_parent" android:layout_height="50dp" android:background="@drawable/edit_bg" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:hint="请输入账号" android:paddingLeft="5dp" android:id="@+id/user_name" /> <EditText android:layout_width="match_parent" android:layout_height="50dp" android:background="@drawable/edit_bg" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:hint="请输入密码" android:paddingLeft="5dp" android:id="@+id/user_pass" android:layout_marginTop="10dp" android:inputType="textPassword" /> <Button android:layout_width="match_parent" android:layout_height="50dp" android:text="登录" android:id="@+id/login" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="10dp" android:background="@drawable/btn_bg" android:textColor="#ffffff" /> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:paddingRight="10dp" > <RelativeLayout android:layout_width="40dp" android:layout_height="25dp" android:layout_toLeftOf="@+id/layout_right" android:layout_marginRight="10dp" android:id="@+id/layout_register" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="注册" android:textColor="#d43c3c" android:id="@+id/register" android:layout_centerHorizontal="true" /> <View android:layout_width="wrap_content" android:layout_height="1dp" android:background="#d43c3c" android:layout_alignParentBottom="true" /> </RelativeLayout> <RelativeLayout android:layout_width="60dp" android:layout_height="25dp" android:layout_alignParentRight="true" android:id="@+id/layout_right" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="找回密码" android:textColor="#d43c3c" android:id="@+id/findpassword" android:layout_centerHorizontal="true" /> <View android:layout_width="wrap_content" android:layout_height="1dp" android:background="#d43c3c" android:layout_alignParentBottom="true" /> </RelativeLayout> </RelativeLayout> </LinearLayout>