MainActivity
public class MainActivity extends AppCompatActivity implements View.OnClickListener,IView {
private EditText edit_name,edit_pass;
private Button log_but,reg_but,deng_but;
private CheckBox check_remenber,check_auto;
private Presenterimpl presenterimpl;
private String LoginUrl="http://www.zhaoapi.cn/user/login?mobile=%s&password=%s";
private SharedPreferences sharedPreferences;
private SharedPreferences.Editor editor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取资源id
init();
sharedPreferences=getSharedPreferences("User",MODE_PRIVATE);
editor = sharedPreferences.edit();
//记住状态
boolean j_check = sharedPreferences.getBoolean("j_check", false);
if (j_check){
String username = sharedPreferences.getString("name", null);
String password = sharedPreferences.getString("pass", null);
edit_name.setText(username);
edit_pass.setText(password);
}
boolean z_check = sharedPreferences.getBoolean("z_check", false);
if (z_check){
String name = edit_name.getText().toString();
String pwd = edit_pass.getText().toString();
check_remenber.setChecked(true);
presenterimpl.setRequestData(String.format(LoginUrl,name,pwd),LoginBean.class);
}
check_auto.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (check_auto.isChecked()){
check_remenber.setChecked(true);
}else{
editor.clear();
editor.commit();
}
}
});
}
private void init() {
edit_name=findViewById(R.id.edit_name);
edit_pass=findViewById(R.id.edit_pass);
log_but=findViewById(R.id.log_but);
reg_but=findViewById(R.id.reg_but);
deng_but=findViewById(R.id.deng_but);
deng_but.setOnClickListener(this);
log_but.setOnClickListener(this);
reg_but.setOnClickListener(this);
check_remenber=findViewById(R.id.check_remenber);
check_auto=findViewById(R.id.check_auto);
presenterimpl=new Presenterimpl(this);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
}
@Override
public void onClick(View v) {
int id = v.getId();
switch (id){
case R.id.deng_but:
UMShareAPI umShareAPI=UMShareAPI.get(MainActivity.this);
umShareAPI.getPlatformInfo(MainActivity.this, SHARE_MEDIA.QQ, new UMAuthListener() {
@Override
public void onStart(SHARE_MEDIA share_media) {
Log.i("TAG", "onStart");
}
@Override
public void onComplete(SHARE_MEDIA share_media, int i, Map<String, String> map) {
Log.i("TAG", map+"");
String name = map.get("screen_name");
Intent intent=new Intent(MainActivity.this,SuccessActivity.class);
intent.putExtra("name",name);
startActivity(intent);
}
@Override
public void onError(SHARE_MEDIA share_media, int i, Throwable throwable) {
Log.i("TAG", "onError");
}
@Override
public void onCancel(SHARE_MEDIA share_media, int i) {
Log.i("TAG", "onCancel");
}
});
break;
case R.id.log_but:
String name = edit_name.getText().toString();
String pass = edit_pass.getText().toString();
if (check_remenber.isChecked()){
editor.putString("name",name);
editor.putString("pass",pass);
editor.putBoolean("j_check",true);
editor.commit();
}else{
editor.clear();
editor.commit();
}
if (check_remenber.isChecked()){
editor.putBoolean("z_check",true);
editor.commit();
}
presenterimpl.setRequestData(String.format(LoginUrl,name,pass),LoginBean.class);
break;
case R.id.reg_but:
Intent intent=new Intent(MainActivity.this,RegisetActivity.class);
startActivity(intent);
finish();
break;
}
}
@Override
public void setData(Object data) {
LoginBean loginBean= (LoginBean) data;
if (loginBean.getCode().equals("0")){
Intent intent=new Intent(MainActivity.this,SuccessActivity.class);
intent.putExtra("name",edit_name.getText().toString());
startActivity(intent);
}else{
Toast.makeText(MainActivity.this,"请重新输入",Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if (presenterimpl!=null){
presenterimpl.des();
}
}
}
注册页面
public class RegisetActivity extends AppCompatActivity implements View.OnClickListener,IView {
private EditText edit_name,edit_pass;
private Button log_but;
private Presenterimpl presenterimpl;
private String RegUrl="http://www.zhaoapi.cn/user/reg?mobile=%s&password=%s";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_regiset);
inif();
}
private void inif() {
edit_name=findViewById(R.id.edit_mname);
edit_pass=findViewById(R.id.edit_mpass);
log_but=findViewById(R.id.log_mbut);
log_but.setOnClickListener(this);
presenterimpl=new Presenterimpl(this);
}
@Override
public void onClick(View v) {
int id = v.getId();
switch (id){
case R.id.log_mbut:
String name = edit_name.getText().toString();
String pass = edit_pass.getText().toString();
presenterimpl.setRequestData(String.format(RegUrl,name,pass),RegBean.class);
break;
}
}
@Override
public void setData(Object data) {
RegBean regBean= (RegBean) data;
if (regBean.getCode().equals("0")){
Intent intent=new Intent(RegisetActivity.this,MainActivity.class);
startActivity(intent);
finish();
}else{
Toast.makeText(RegisetActivity.this,"请重新输入",Toast.LENGTH_SHORT).show();
}
}
}
登录成功页面
public class SuccessActivity extends FragmentActivity {
private ViewPager viewPager;
private TabLayout tabLayout;
private String name;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_success);
inif();
viewPager.setAdapter(new MyTabBase(getSupportFragmentManager()));
tabLayout.setupWithViewPager(viewPager);
Intent intent=getIntent();
name = intent.getStringExtra("name");
}
private void inif() {
viewPager=findViewById(R.id.viewpager);
tabLayout=findViewById(R.id.tab);
}
public String setName(){
return name;
}
}
tab适配器
class MyTabBase extends FragmentPagerAdapter {
String[] name=new String[]{"首页","我的"};
public MyTabBase(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
switch (i){
case 0:
return new FragmentShow();
case 1:
return new FragmentMy();
default:
return null;
}
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return name[position];
}
@Override
public int getCount() {
return name.length;
}
}