Android 利用JSON异步修改用户个人资料

2 篇文章 0 订阅
1 篇文章 0 订阅

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进行保存!
这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值