package cn.coderss.activity; import com.google.gson.Gson; import com.google.gson.JsonArray; import net.tsz.afinal.http.AjaxCallBack; import net.tsz.afinal.http.AjaxParams; import cn.coderss.api.FssApi; import cn.coderss.bean.UserBean; import cn.coderss.edu.R; import cn.coderss.ui.BootstrapButton; import cn.coderss.util.L; import cn.coderss.util.PreferenceConstants; import cn.coderss.util.PreferenceUtils; import cn.coderss.util.T; import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.preference.Preference; import android.view.View; import android.view.View.OnClickListener; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; public class LoginActivity extends Activity implements OnClickListener, OnCheckedChangeListener { public String email; public String password; public Context mcontext; BootstrapButton login, register; ImageView iconImageView; EditText username, pwd; CheckBox jzmm; ProgressDialog dia; MyHandler mhandler = new MyHandler(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mcontext = this; setContentView(R.layout.activity_login); initView(); initConfig(); initData(); } public void initData() { // 默认的头像地址 String avator = FssApi.AVATOR + PreferenceUtils.getPrefString(mcontext, PreferenceConstants.PICTURE, "553c44033ecc3.jpg"); L.i("加载头像......" + avator); FssApi.IMAGECACHE.get(avator, iconImageView); } // 初始化配置信息 public void initConfig() { boolean flag = PreferenceUtils.getPrefBoolean(mcontext, PreferenceConstants.jzmm, false); if (flag) { username.setText(PreferenceUtils.getPrefString(mcontext, PreferenceConstants.UserName, "fengss")); pwd.setText(PreferenceUtils.getPrefString(mcontext, PreferenceConstants.PassWord, "lala")); jzmm.setChecked(flag); } } public void initView() { login = (BootstrapButton) findViewById(R.id.login); register = (BootstrapButton) findViewById(R.id.register); username = (EditText) findViewById(R.id.email); pwd = (EditText) findViewById(R.id.password); jzmm = (CheckBox) findViewById(R.id.jzmm); iconImageView = (ImageView) findViewById(R.id.iconImageview); jzmm.setOnCheckedChangeListener(this); login.setOnClickListener(this); register.setOnClickListener(this); } @Override public void onClick(View v) { email = username.getText().toString(); password = pwd.getText().toString(); if (v.getId() == R.id.login) { if (email == null || email.equals("")) { T.showShort(this, "请输入用户名再执行登录"); } AjaxParams p = new AjaxParams(); p.put("email", email); p.put("password", password); FssApi.getHttp().post(FssApi.LOGIN, p, new AjaxCallBack<Object>() { @Override public void onStart() { super.onStart(); dia = ProgressDialog.show(mcontext, "提 示", "正在登陆中.........."); } @SuppressWarnings("deprecation") @Override public void onFailure(Throwable t, String strMsg) { super.onFailure(t, strMsg); dia.setMessage("对不起,信息发送失败,可能服务器又宕机了"); new Thread() { public void run() { try { Thread.sleep(3000); mhandler.sendEmptyMessage(1); } catch (InterruptedException e) { e.printStackTrace(); } }; }.start(); } @Override public void onSuccess(Object t) { super.onSuccess(t); String result = t.toString(); // 撤掉登陆框 dia.dismiss(); if (result.equals("ERROR1")) { T.showShort(mcontext, "该用户密码错误"); } else if (result.equals("ERROR2")) { T.showShort(mcontext, "该用户不存在"); } else { UserBean bean = new Gson().fromJson(t.toString(), UserBean.class); // 顺便跳转的时候存储用户临时信息 PreferenceUtils.setPrefString(mcontext, PreferenceConstants.UserName, email); PreferenceUtils.setPrefString(mcontext, PreferenceConstants.PassWord, password); PreferenceUtils.setPrefString(mcontext, PreferenceConstants.SESSION_KEY, t.toString()); PreferenceUtils.setPrefString(mcontext, PreferenceConstants.ID, bean.id); PreferenceUtils.setPrefString(mcontext, PreferenceConstants.SEX, bean.sex); PreferenceUtils.setPrefString(mcontext, PreferenceConstants.AGE, bean.age); PreferenceUtils.setPrefString(mcontext, PreferenceConstants.EMAIL, bean.email); PreferenceUtils.setPrefString(mcontext, PreferenceConstants.SESSION_KEY, t.toString()); PreferenceUtils.setPrefString(mcontext, PreferenceConstants.PICTURE, bean.picture); L.i("我的头像" + bean.picture); PreferenceUtils.setPrefString(mcontext, PreferenceConstants.LEVEL, bean.level); PreferenceUtils .setPrefString(mcontext, PreferenceConstants.LOGOUTTIME, bean.logouttime); PreferenceUtils.setPrefString(mcontext, PreferenceConstants.LOGINTIME, bean.loginnum); Intent it = new Intent(mcontext, MainActivity.class); startActivityForResult(it, 200); } } }); } else if (v.getId() == R.id.register) { } } @Override public void onCheckedChanged(CompoundButton v, boolean f) { if (v.getId() == R.id.jzmm && f == true) { // 记住密码功能 if (username.getText().equals("") || pwd.getText().toString().equals("")) { T.showShort(mcontext, "请先填写你的用户名和密码才能记住密码"); v.setChecked(false); } else { PreferenceUtils.setPrefBoolean(mcontext, PreferenceConstants.jzmm, true); PreferenceUtils.setPrefString(mcontext, PreferenceConstants.UserName, username.getText() .toString()); PreferenceUtils.setPrefString(mcontext, PreferenceConstants.PassWord, pwd.getText().toString()); } } else { PreferenceUtils.setPrefBoolean(mcontext, PreferenceConstants.jzmm, false); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 200) { finish(); } } class MyHandler extends Handler { @Override public void handleMessage(Message msg) { super.handleMessage(msg); dia.dismiss(); } } }