package com.bwei.zhoukao2.activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;
import com.bwei.zhoukao2.R;
import com.bwei.zhoukao2.bean.NewsBean;
import com.bwei.zhoukao2.bean.User;
import com.bwei.zhoukao2.core.DataCall;
import com.bwei.zhoukao2.presenter.LoginPresenter;
登录
public class MainActivity extends AppCompatActivity implements DataCall {
private EditText ed_mobiel, ed_pwd;
private CheckBox check_pwd, check_login;
private Button login;
LoginPresenter loginPresente = new LoginPresenter(this);
private SharedPreferences sp;
private SharedPreferences.Editor edit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
sp = PreferenceManager.getDefaultSharedPreferences(this);
boolean check_pwd1 = sp.getBoolean("check_pwd", false);
boolean check_login1 = sp.getBoolean("check_login", false);
if (check_pwd1) {
String ed_mobiel1 = sp.getString("ed_mobiel", "");
String ed_pwd1 = sp.getString("ed_pwd", "");
ed_mobiel.setText(ed_mobiel1);
ed_pwd.setText(ed_pwd1);
check_pwd.setChecked(true);
}
if (check_login1) {
check_login.setChecked(true);
Intent intent = new Intent(MainActivity.this, ShowActivity.class);
startActivity(intent);
finish();
}
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String mobile = ed_mobiel.getText().toString();
final String pwd = ed_pwd.getText().toString();
loginPresente.request(mobile, pwd);
}
});
}
private void initView() {
ed_mobiel = findViewById(R.id.item_mobiel);
ed_pwd = findViewById(R.id.item_pwd);
check_pwd = findViewById(R.id.check_pwd);
check_login = findViewById(R.id.check_login);
login = findViewById(R.id.login);
}
@Override
public void logincall(Object data) {
User user = (User) data;
if (user.getCode() == 0) {
String mobile = ed_mobiel.getText().toString();
String pwd = ed_pwd.getText().toString();
Toast.makeText(getBaseContext(), "" + user.getCode() + "" + user.getMsg(), Toast.LENGTH_SHORT).show();
edit = sp.edit();
if (check_pwd.isChecked()) {
edit.putString("ed_mobiel", mobile);
edit.putString("ed_pwd", pwd);
edit.putBoolean("check_pwd", true);
if (check_login.isChecked()) {
edit.putString("ed_mobiel", mobile);
edit.putString("ed_pwd", pwd);
edit.putBoolean("check_login", true);
finish();
}
} else {
edit.clear();
}
edit.commit();
Intent intent = new Intent(MainActivity.this, ShowActivity.class);
startActivity(intent);
} else {
Toast.makeText(getBaseContext(), "" + user.getCode() + "" + user.getMsg(), Toast.LENGTH_SHORT).show();
}
}
}
package com.bwei.zhoukao2.presenter;
import android.os.Handler;
import android.os.Message;
import com.bwei.zhoukao2.bean.User;
import com.bwei.zhoukao2.core.DataCall;
import com.bwei.zhoukao2.core.ShowDataCall;
P层
public abstract class BasePresenter {
private DataCall call;
public BasePresenter (DataCall dataCall){
call=dataCall;
}
private Handler mHandler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
call.logincall(msg.obj);
}
};
public void request(final String...args){
new Thread(new Runnable() {
@Override
public void run() {
Object data=useModel(args);
Message message = mHandler.obtainMessage();
message.obj=data;
mHandler.sendMessage(message);
}
}).start();
}
public abstract Object useModel(String...args);
}
列表展示
package com.bwei.zhoukao2.activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ListView;
import com.bwei.zhoukao2.R;
import com.bwei.zhoukao2.adapter.MyAdapter;
import com.bwei.zhoukao2.bean.NewsBean;
import com.bwei.zhoukao2.core.ShowDataCall;
import com.bwei.zhoukao2.model.ShowModel;
import com.bwei.zhoukao2.presenter.ShowPresenter;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import java.util.ArrayList;
import java.util.List;
public class ShowActivity extends AppCompatActivity implements ShowDataCall {
private PullToRefreshListView listView;
private int page = 1;
//private int type = 0;
final List<NewsBean.DataBean> dataBeans = new ArrayList<>();
ShowPresenter showPresenter = new ShowPresenter(this) {
@Override
public Object useModel(Integer... args) {
return ShowModel.GetData(page);
}
};
private MyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show);
listView = findViewById(R.id.pull_to_refresh_listview);
listView.setMode(PullToRefreshBase.Mode.BOTH);
listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
page = 1;
showPresenter.request(page);
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
page++;
showPresenter.request(page);
}
});
showPresenter.request(page);
}
@Override
public void showcall(final NewsBean bean) {
List<NewsBean.DataBean> datashuju = bean.getData();
dataBeans.addAll(datashuju);
adapter = new MyAdapter(getBaseContext(), dataBeans);
listView.setAdapter(adapter);
listView.onRefreshComplete();
}
}