package cn.eoe.app.ui; import org.json.JSONObject; import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.AsyncTask; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.LinearLayout; import cn.eoe.app.R; import cn.eoe.app.config.Urls; import cn.eoe.app.https.HttpUtils; import cn.eoe.app.https.NetWorkHelper; import cn.eoe.app.ui.base.BaseActivity; import cn.eoe.app.utils.CommonLog; import cn.eoe.app.utils.IntentUtil; import cn.eoe.app.utils.LogFactory; public class UserLoginUidActivity extends BaseActivity implements OnClickListener { private static final CommonLog log = LogFactory.createLog(); public static String SharedName = "login"; public static String UID = "uid";// 用户名 public static String PWD = "pwd";// 密码 public static String KEY = "key";// key private EditText editUserID; private EditText editPwd; private Button btnEnter; private String key; private LinearLayout goHome; SharedPreferences share; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.user_login_uid); initControl(); initSharePreferences(); } private void initSharePreferences() { share = getSharedPreferences(SharedName, Context.MODE_PRIVATE); if (share.contains(UID)) { editUserID.setText(share.getString(UID, "")); editPwd.setText(share.getString(PWD, "")); } } private void initControl() { editUserID = (EditText) findViewById(R.id.edittext_user_username); editPwd = (EditText) findViewById(R.id.edittext_user_pwd); btnEnter = (Button) findViewById(R.id.button_user_login); btnEnter.setOnClickListener(this); goHome = (LinearLayout) findViewById(R.id.Linear_above_toHome); goHome.setOnClickListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.button_user_login: checkUsername(editUserID.getText().toString(), editPwd.getText() .toString()); break; case R.id.Linear_above_toHome: if (share.contains(UserLoginUidActivity.KEY) && !share.getString(UserLoginUidActivity.KEY, "") .equals("")) { IntentUtil.start_activity(this, UserCenterActivity.class); finish(); } else { showLongToast(getResources().getString( R.string.user_center_error)); } break; } } private void checkUsername(String name, String pwd) { if (TextUtils.isEmpty(name)) { showShortToast(getResources().getString(R.string.user_username)); return; } else if (TextUtils.isEmpty(pwd)) { showShortToast(getResources().getString(R.string.user_pwd)); return; }else if (!NetWorkHelper.checkNetState(this)){ showLongToast(getResources().getString(R.string.httpisNull)); return ; } String loginUser = String.format(Urls.USER_LOGIN, name, pwd); new LoginAsyncTask().execute(loginUser); } class LoginAsyncTask extends AsyncTask<String, Void, Boolean> { @Override protected void onPreExecute() { // TODO Auto-generated method stub super.onPreExecute(); showAlertDialog("温馨提示", "正在登录请稍等一下~"); } @Override protected Boolean doInBackground(String... params) { // TODO Auto-generated method stub // if (!HttpUtils.isNetworkAvailable(UserLoginUidActivity.this)) { // showLongToast(getResources().getString(R.string.httpisNull)); // return false; // } String result = ""; try { result = HttpUtils.getByHttpClient( UserLoginUidActivity.this, params[0]); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); return false; } try { JSONObject jsonObj = new JSONObject(result); JSONObject response = jsonObj.getJSONObject("response"); int error = 1; if ((error = response.getInt("isErr")) == 0) { key = response.getString(KEY); return true; } } catch (Exception e) { e.printStackTrace(); } return false; } @Override protected void onPostExecute(Boolean result) { // TODO Auto-generated method stub super.onPostExecute(result); mAlertDialog.dismiss(); if (result) { showLongToast("登录成功"); Editor edit = share.edit(); edit.putString(UID, editUserID.getText().toString()); edit.putString(PWD, editPwd.getText().toString()); edit.putString(KEY, key); edit.commit(); IntentUtil.start_activity(UserLoginUidActivity.this, UserCenterActivity.class); finish(); } else { showLongToast(getResources().getString( R.string.user_login_error)); editUserID.setText(""); editPwd.setText(""); } } } }