AppContext.java
AppContext.java 全局变量
获取MySQL用户表数据字段
public class AppContext extends Application {
//用户表
private int id;
private String name;
private String sex;
private String age;
private String occupation;
public String getOccupation() {
return occupation;
}
public void setOccupation(String occupation) {
this.occupation = occupation;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
MySet.Java
//修改个人资料
private TextView set_textView1;
private TextView set_textView2;
private TextView set_textView3;
private TextView set_textView4;
private TextView set_xg_textView6;
private Context mContext;
//显示数据
private AppContext appContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_set);
set_xg_textView6=(TextView)findViewById(R.id.set_xg_textView6);
//保存按钮
set_xg_textView6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int id=appContext.getId();
String name=set_textView1.getText().toString().trim();
String sex=set_textView2.getText().toString().trim();
String age=set_textView3.getText().toString().trim();
String occupation=set_textView4.getText().toString().trim();
gset(id,name,sex,age,occupation);
}
});
//显示数据
appContext=(AppContext) getApplication();
set_xg_textView1=(TextView)findViewById(R.id.set_xg_textView1);
AppContext appContext = (AppContext) MySet.this.getApplication();
//设置&个人资料 获取值
set_textView1=(TextView)findViewById(R.id.set_textView1);
String name = appContext.getName();
if (!"".equals(name) || name != null) {
set_textView1.setText(name);
}else{
set_textView1.setText("");
}
set_textView2=(TextView)findViewById(R.id.set_textView2);
String sex = appContext.getSex();
if (!"".equals(sex) || sex != null) {
set_textView2.setText(sex);
}else{
set_textView2.setText("");
}
set_textView3=(TextView)findViewById(R.id.set_textView3);
String age = appContext.getAge();
if (!"".equals(age) || age != null) {
set_textView3.setText(age);
}else{
set_textView3.setText("");
}
set_textView4=(TextView)findViewById(R.id.set_textView4);
String occupation = appContext.getOccupation();
if (!"".equals(occupation) || occupation != null) {
set_textView4.setText(occupation);
}else{
set_textView4.setText("");
}
set_xg_textView6=(TextView)findViewById(R.id.set_xg_textView6);
//点击事件点击TextView修改昵称
set_textView1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
showNameDialog();
str_che="昵称";
}
});
//点击TextView修改性别
set_textView2.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
showSexDialog();
str_che="性别";
}
});
//点击TextView修改年龄
set_textView3.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
showAgeDialog();
}
});
//点击TextView修改职业
set_textView4.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
showOccupationDialog();
}
});
}
//修改个人资料 通过JSON异步来绑定数据
private void gset(int id,String name,String sex,String age,String occupation){
String url="http://192.168.3.135:8080/Ding_Feng/setAction/set.do";//连接网络IP地址
RequestParams rparams=new RequestParams();
//添加参数
rparams.put("id",id);
rparams.put("name",name);
rparams.put("sex",sex);
rparams.put("age",age);
rparams.put("occupation",occupation);
//异步请求
AsyncHttpClient client=new AsyncHttpClient();
client.post(mContext, url, rparams, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
String name=null;
String sex=null;
String age=null;
String occupation=null;
try{
JSONObject jsonObject=new JSONObject(new String(responseBody));
Integer state=jsonObject.getInt("state");
if(state>0) {
Toast.makeText(MySet.this, "修改成功", Toast.LENGTH_SHORT).show();
appContext.setName(name);
appContext.setSex(sex);
appContext.setAge(age);
appContext.setOccupation(occupation);
}else {
Toast.makeText(MySet.this, "修改失败", Toast.LENGTH_SHORT).show();
}
}catch(JSONException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
}
});
}
以下是点击TextView弹出对话框,输入需要修改的值后点击确定
/**
* 点击昵称弹出可输入的对话框 occupation
*/
private void showNameDialog() {
final EditText editText = new EditText(MySet.this);
editText.setText(set_textView1.getText().toString().trim());
editText.setSelection(editText.getText().length());//设置光标位置
AlertDialog.Builder builder = new AlertDialog.Builder(MySet.this)
.setTitle("请输入要修改的昵称")
.setView(editText)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String name=editText.getText().toString().trim();
set_textView1.setText(name);
}
})
.setNegativeButton("关闭", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.setCancelable(false);
builder.show();
}
/**
* 点击性别弹出可输入的对话框
*/
private void showSexDialog() {
final EditText editText = new EditText(MySet.this);
editText.setText(set_textView2.getText().toString().trim());
editText.setSelection(editText.getText().length());//设置光标位置
AlertDialog.Builder builder = new AlertDialog.Builder(MySet.this)
.setTitle("请输入要修改的性别")
.setView(editText)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String sex=editText.getText().toString().trim();
set_textView2.setText(sex);
}
})
.setNegativeButton("关闭", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.setCancelable(false);
builder.show();
}
/**
* 点击职业弹出可输入的对话框
*/
private void showOccupationDialog() {
final EditText editText = new EditText(MySet.this);
editText.setText(set_textView4.getText().toString().trim());
editText.setSelection(editText.getText().length());//设置光标位置
AlertDialog.Builder builder = new AlertDialog.Builder(MySet.this)
.setTitle("请输入要修改的职业")
.setView(editText)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String occupation=editText.getText().toString().trim();
set_textView4.setText(occupation);
}
})
.setNegativeButton("关闭", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.setCancelable(false);
builder.show();
}
//年龄
private void showAgeDialog() {
final EditText editText = new EditText(MySet.this);
editText.setText(set_textView3.getText().toString().trim());
editText.setSelection(editText.getText().length());//设置光标位置
AlertDialog.Builder builder = new AlertDialog.Builder(MySet.this)
.setTitle("请输入要修改的年龄")
.setView(editText)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String age=editText.getText().toString().trim();
set_textView3.setText(age);
}
})
.setNegativeButton("关闭", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.setCancelable(false);
builder.show();
}
/**
* 显示修改头像的对话框
*/
protected void showChoosePicDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("设置头像");
String[] items = {"选择本地照片", "拍照"};
builder.setNegativeButton("取消", null);
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case CHOOSE_PICTURE: // 选择本地照片
Intent openAlbumIntent = new Intent(
Intent.ACTION_GET_CONTENT);
openAlbumIntent.setType("image/*");
startActivityForResult(openAlbumIntent, CHOOSE_PICTURE);
break;
case TAKE_PICTURE: // 拍照
Intent openCameraIntent = new Intent(
MediaStore.ACTION_IMAGE_CAPTURE);
tempUri = Uri.fromFile(new File(Environment
.getExternalStorageDirectory(), "image.jpg"));
// 指定照片保存路径(SD卡),image.jpg为一个临时文件,每次拍照后这个图片都会被替换
openCameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, tempUri);
startActivityForResult(openCameraIntent, TAKE_PICTURE);
break;
}
}
});
builder.create().show();
}
输入这些值后,点击保存TextView进行保存!