这是服务端地址
public class RetrofitClient {
public static String IP="http://218.7.112.123:10001/";
private static Retrofit retrofit=new Retrofit.Builder()
.baseUrl(IP)
.addConverterFactory(GsonConverterFactory.create())
.build();
public RetrofitClient(){
}
public static apiService apiService(){
return retrofit.create(apiService.class);
}
}
1,首先获取请求地址 这是一个接口apiService.java
@PUT("/prod-api/api/common/user")
Call getUserUpData(@Header("Authorization") String token, @Body UserUpbean userUpbean);
2实现它的实体类
public class UserUpbean {
private String email;
private String idCard;
private String nickName;
private String phonenumber;
private String sex;
public UserUpbean(String nikename, String Sex, String shoujihao) {
this.nickName=nikename;
this.phonenumber=shoujihao;
this.sex=Sex;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getIdCard() {
return idCard;
}
public void setIdCard(String idCard) {
this.idCard = idCard;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getPhonenumber() {
return phonenumber;
}
public void setPhonenumber(String phonenumber) {
this.phonenumber = phonenumber;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
3.创建页面
4.实现功能
先进行数据回传,也就是将用户基本信息传入界面;
然后点击保存按钮时,获取重新输入的信息;
获取到信息之后就是调用后台,这里需要传入请求头以及个人信息的Bean类
代码如下
public class UsreInFoActivity extends AppCompatActivity {
private TextView nikeName;
private EditText userInfoEdNikename;
private TextView username;
private EditText userInfoEdUsername;
private EditText userInfoEdShoujihao;
private Button butBaocun;
private String token;
private SharedPreferences user;
private RadioGroup sex;
private RadioButton sex1;
private RadioButton sex0;
private String Sex="0";
private UserUpbean userupBean;
private String nikename;
private String shoujihao;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_usre_in_fo);
ActionBar supportActionBar = getSupportActionBar();
if (supportActionBar!=null) {
supportActionBar.setTitle("个人信息");
supportActionBar.setDisplayHomeAsUpEnabled(true);
}
initView();
user = getSharedPreferences("user", MODE_PRIVATE);
token = user.getString("token", "");
// 数据回填
setuserData();
sex.setOnCheckedChangeListener(((group, checkedId) -> {
switch (checkedId){
case R.id.sex0:
Sex="0";
break;
case R.id.sex1:
Sex="1";
break;
}
}));
// 修改
butBaocun.setOnClickListener(v -> {
nikename = userInfoEdNikename.getText().toString();
shoujihao = userInfoEdShoujihao.getText().toString();
userupBean = new UserUpbean(nikename,Sex, shoujihao);
RetrofitClient.apiService().getUserUpData(token,userupBean).enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
MsgBean body = response.body();
if (body.getCode()==200&&body!=null) {
String token = body.getToken();
SharedPreferences.Editor edit = user.edit();
edit.putString("username",nikename);
edit.putString("phonenumber",shoujihao);
edit.putString("token",token);
edit.apply();
Toast.makeText(UsreInFoActivity.this,"修改成功",Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(UsreInFoActivity.this,body.getMsg(),Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(Call call, Throwable throwable) {
}
});
});
}
private void setuserData() {
RetrofitClient.apiService().getUserInoFoData(token).enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
UserInfoBean body = response.body();
if (body.getCode()==200&&body!=null) {
UserInfoBean.UserBean user = body.getUser();
userInfoEdNikename.setText(user.getNickName().toString());
userInfoEdShoujihao.setText(user.getPhonenumber().toString());
}
}
@Override
public void onFailure(Call call, Throwable throwable) {
}
});
}
private void initView() {
nikeName = (TextView) findViewById(R.id.nikeName);
userInfoEdNikename = (EditText) findViewById(R.id.userInfo_ed_nikename);
sex0 = findViewById(R.id.sex0);
sex1 = findViewById(R.id.sex1);
sex = findViewById(R.id.Group_sex);
userInfoEdShoujihao = (EditText) findViewById(R.id.userInfo_ed_shoujihao);
butBaocun = (Button) findViewById(R.id.but_baocun);
}
@Override
public boolean onSupportNavigateUp() {
finish();
return super.onSupportNavigateUp();
}



