package com.bigdo.app;
import org.json.JSONException;
import org.json.JSONObject;
import com.bigdo.common.Login;
import com.bigdo.common.RConfig;
import com.bigdo.common.RState;
import com.bigdo.common.User;
import com.bigdo.controls.DateSelectByYYYYMMDDActivity;
import com.bigdo.util.Pub;
import com.bigdo.util.WSCheck;
import com.bigdo.util.WSHelper;
import android.annotation.SuppressLint;
import android.content.DialogInterface;
import android.content.DialogInterface.OnDismissListener;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.RadioButton;
import android.widget.TextView;
public class Me_Edit_PersonalInfor_Activity extends BaseActivity {
TextView bd_birth, bd_tel;
EditText bd_name, bd_email, bd_company, bd_team;
RadioButton bd_male, bd_female;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.me_edit_personalinfor_activity);
View activityTitle = (View) this.findViewById(R.id.bd_title_host);
TextView bd_title_name = (TextView) activityTitle
.findViewById(R.id.bd_title_name);
bd_title_name.setText("编辑个人资料");
TextView bd_title_operate = (TextView) activityTitle
.findViewById(R.id.bd_title_operate);
bd_title_operate.setVisibility(View.VISIBLE);
bd_title_operate.setText("保 存");
ImageButton bd_title_back = (ImageButton) activityTitle
.findViewById(R.id.bd_title_back);
bd_title_back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
bd_birth = (TextView) this.findViewById(R.id.bd_birth);
bd_birth.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
goDateSelectActivity();
}
});
OnClickListener cl = new OnClickListener() {
@Override
public void onClick(View v) {
updateUserInfor();
}
};
bd_title_operate.setOnClickListener(cl);
setUserInfor();
}
/**
* 设置用户信息
*/
public void setUserInfor() {
bd_name = (EditText) this.findViewById(R.id.bd_name);
bd_male = (RadioButton) this.findViewById(R.id.bd_male);
bd_female = (RadioButton) this.findViewById(R.id.bd_female);
bd_birth = (TextView) this.findViewById(R.id.bd_birth);
bd_tel = (TextView) this.findViewById(R.id.bd_tel);
bd_email = (EditText) this.findViewById(R.id.bd_email);
bd_company = (EditText) this.findViewById(R.id.bd_company);
bd_team = (EditText) this.findViewById(R.id.bd_team);
if (Login.isLogin(this)) {
User _user = Login.get(this);
if (_user != null) {
bd_name.setText(_user.alias);
if (_user.sex == 1) {
bd_male.setChecked(true);
bd_female.setChecked(false);
} else {
bd_male.setChecked(false);
bd_female.setChecked(true);
}
bd_birth.setText(_user.birthday);
bd_tel.setText(_user.user);
bd_email.setText(_user.email);
bd_company.setText(_user.company);
bd_team.setText(_user.teamcount);
return;
}
}
bd_name.setText("");
bd_male.setChecked(true);
bd_female.setChecked(false);
bd_birth.setText("");
bd_tel.setText("");
bd_email.setText("");
bd_company.setText("");
bd_team.setText("");
}
private void goDateSelectActivity() {
String date = bd_birth.getText().toString();
Intent i = new Intent(Intent.ACTION_VIEW);
i.putExtra("date", date);
i.setClass(this, DateSelectByYYYYMMDDActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivityForResult(i, 1000);
}
/**
* 更新个人信息
*/
public void updateUserInfor() {
String user, alias, birthday, email, company, teamcount;
int iduser, sex;
if (Login.isLogin(this)) {
User _user = Login.get(this);
user = _user.user;
iduser = _user.iduser;
alias = bd_name.getText().toString();
if (alias == null || alias.equals("")) {
bd_name.setError("姓名不能为空");
return;
}
birthday = bd_birth.getText().toString();
email = bd_email.getText().toString();
if (email != null && !email.equals("")) {
if (!Pub.isEmail(email)) {
bd_email.setError("邮件格式不正确");
return;
}
}
company = bd_company.getText().toString();
teamcount = bd_team.getText().toString();
if (bd_male.isChecked()) {
sex = 1;
} else {
sex = 0;
}
JSONObject jparams = new JSONObject();
try {
jparams.put("alias", alias);
jparams.put("birthday", birthday);
jparams.put("email", email);
jparams.put("company", company);
jparams.put("teamcount", teamcount);
jparams.put("sex", sex);
jparams.put("user", user);
jparams.put("iduser", iduser);
} catch (JSONException e) {
messageBox("准备保存数据出错");
return;
}
String data = jparams.toString();
String url = RConfig.user_update_info(this);
showProgress("更新用户信息..");
WSHelper ws = new WSHelper(this, "", false, WsHandler, url, "",
WSHelper.getStringEntity(data), 0, 0, 0, 0, WSHelper.POST);
ws.start();
Log.e("updateUserInfor", url);
Log.e("updateUserInfor-data", data);
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1000) {
if (resultCode == 1 && data != null) {
int y = data.getIntExtra("year", 1900);
int m = data.getIntExtra("month", 1);
int d = data.getIntExtra("day", 1);
String datetime = y + "-" + ((m <= 9) ? ("0" + m) : m) + "-"
+ ((d <= 9) ? ("0" + d) : d);
bd_birth.setText(datetime);
}
}
}
/**
* 事件通知
*/
@SuppressLint("HandlerLeak")
Handler WsHandler = new Handler() {
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.arg1 == RState.WSCall) {
hiddenProgress();
JSONObject jresult = WSCheck.Json(
Me_Edit_PersonalInfor_Activity.this, msg);
checkUpdate(jresult);
}
}
};
private void checkUpdate(JSONObject result) {
if (result != null) {
try {
JSONObject user = result.getJSONObject("user");
if (user != null) {
User ld = new User();
ld.iduser = user.getInt("iduser");
ld.user = user.getString("user");
ld.alias = user.getString("alias");
ld.sex = user.getInt("sex");
ld.birthday = user.getString("birthday");
ld.email = user.getString("email");
ld.company = user.getString("company");
ld.teamcount = user.getString("teamcount");
ld.level = user.getInt("level");
ld.score = user.getInt("score");
ld.score2 = user.getInt("score2");
ld.vip_stime = user.getString("vip_stime");
ld.vip_entime = user.getString("vip_entime");
Login.set(Me_Edit_PersonalInfor_Activity.this, ld);
messageBox("保存成功!", new OnDismissListener() {
@Override
public void onDismiss(DialogInterface arg0) {
finish();
}
});
}
} catch (Exception e) {
messageBox("存储用户信息发生错误.");
return;
}
}
}
@Override
public void onClearData() {
// TODO Auto-generated method stub
}
@Override
public void onVideoBroadcast(Intent intent) {
// TODO Auto-generated method stub
}
}