Commit 39811d5b7e23b5ec51ca378b50a7c4d368e20469

Authored by 王琳
1 parent 3b055249

为用户SDK的Demo添加注释

app/src/main/AndroidManifest.xml
@@ -24,7 +24,7 @@ @@ -24,7 +24,7 @@
24 android:label="@string/app_name" 24 android:label="@string/app_name"
25 android:supportsRtl="true" 25 android:supportsRtl="true"
26 android:theme="@style/AppTheme"> 26 android:theme="@style/AppTheme">
27 - <activity android:name=".UserActivity"> 27 + <activity android:name=".LoginActivity">
28 <intent-filter> 28 <intent-filter>
29 <action android:name="android.intent.action.MAIN" /> 29 <action android:name="android.intent.action.MAIN" />
30 30
app/src/main/java/com/cnlive/libs/BaseActivity.java
@@ -16,14 +16,18 @@ public class BaseActivity extends AppCompatActivity { @@ -16,14 +16,18 @@ public class BaseActivity extends AppCompatActivity {
16 16
17 public CNLiveUser cnLiveUser; 17 public CNLiveUser cnLiveUser;
18 public CNUserCallBack cnUserCallBack = new CNUserUtilCallback(); 18 public CNUserCallBack cnUserCallBack = new CNUserUtilCallback();
  19 +
  20 + //通过cnUserBuilder设置请求接口是需要传入的参数,也可以获得请求接口成功后获得的数据
19 public CNUserBuilder.Builder cnUserBuilder = new CNUserBuilder.Builder(); 21 public CNUserBuilder.Builder cnUserBuilder = new CNUserBuilder.Builder();
20 22
21 @Override 23 @Override
22 protected void onCreate(Bundle savedInstanceState) { 24 protected void onCreate(Bundle savedInstanceState) {
23 super.onCreate(savedInstanceState); 25 super.onCreate(savedInstanceState);
  26 + //初始化用户SDK
24 cnLiveUser = new CNLiveUser(cnUserCallBack); 27 cnLiveUser = new CNLiveUser(cnUserCallBack);
25 } 28 }
26 29
  30 + //通过CNUserUtilCallback处理SDK状态,通过what和extra可以获取错误码和错误信息
27 private class CNUserUtilCallback implements CNUserCallBack { 31 private class CNUserUtilCallback implements CNUserCallBack {
28 32
29 @Override 33 @Override
app/src/main/java/com/cnlive/libs/UserActivity.java renamed to app/src/main/java/com/cnlive/libs/LoginActivity.java
@@ -9,7 +9,10 @@ import android.widget.TextView; @@ -9,7 +9,10 @@ import android.widget.TextView;
9 9
10 import com.cnlive.libs.user.model.CNUserBuilder; 10 import com.cnlive.libs.user.model.CNUserBuilder;
11 11
12 -public class UserActivity extends BaseActivity implements View.OnClickListener { 12 +/**
  13 + * 用户登录
  14 + */
  15 +public class LoginActivity extends BaseActivity implements View.OnClickListener {
13 private EditText userName, userPassword; 16 private EditText userName, userPassword;
14 private Button login; 17 private Button login;
15 private TextView register, quickLogin, other, thirdParytLogin; 18 private TextView register, quickLogin, other, thirdParytLogin;
@@ -58,31 +61,37 @@ public class UserActivity extends BaseActivity implements View.OnClickListener { @@ -58,31 +61,37 @@ public class UserActivity extends BaseActivity implements View.OnClickListener {
58 startActivity(intent); 61 startActivity(intent);
59 break; 62 break;
60 case R.id.login: 63 case R.id.login:
  64 + //用户名&密码登录
61 cnLiveUser.initUser(setCNUserData()); 65 cnLiveUser.initUser(setCNUserData());
62 cnLiveUser.login(); 66 cnLiveUser.login();
63 break; 67 break;
64 case R.id.third_party_login: 68 case R.id.third_party_login:
  69 + //第三方登陆
65 cnLiveUser.initUser(thirdPartyLoginData()); 70 cnLiveUser.initUser(thirdPartyLoginData());
66 cnLiveUser.thirdPartyLogin(); 71 cnLiveUser.thirdPartyLogin();
67 break; 72 break;
68 } 73 }
69 } 74 }
70 75
  76 + //下面注释掉的参数为非必传参数
  77 +
71 protected CNUserBuilder.Builder setCNUserData() { 78 protected CNUserBuilder.Builder setCNUserData() {
72 - cnUserBuilder.setUuid("uuid");  
73 - cnUserBuilder.setUserName(String.valueOf(userName.getText()));  
74 - cnUserBuilder.setPwd(String.valueOf(userPassword.getText())); 79 + cnUserBuilder.setUuid("uuid");//设备ID
  80 + cnUserBuilder.setUserName(String.valueOf(userName.getText()));//用户名
  81 + cnUserBuilder.setPwd(String.valueOf(userPassword.getText()));//密码
  82 +// cnUserBuilder.setFrmId("frmId");//渠道ID
75 return cnUserBuilder; 83 return cnUserBuilder;
76 } 84 }
77 85
78 private CNUserBuilder.Builder thirdPartyLoginData() { 86 private CNUserBuilder.Builder thirdPartyLoginData() {
79 - cnUserBuilder.setThirdPartyPlat(1);// 1:sina weibo 2:qq weibo 3:weixin 4:renren  
80 - cnUserBuilder.setThirdPartyId("id");  
81 - cnUserBuilder.setNickName("nickname");  
82 - cnUserBuilder.setGender("n");  
83 - cnUserBuilder.setLocation("location");  
84 - cnUserBuilder.setFaceUrl("faceUrl");  
85 - cnUserBuilder.setUuid("uuid"); 87 + cnUserBuilder.setThirdPartyPlat(1);// 第三方平台编号 [platform : 1:sina weibo 2:qq weibo 3:weixin 4:renren
  88 + cnUserBuilder.setThirdPartyId("id");//第三方用户ID
  89 + cnUserBuilder.setNickName("nickname");//用户昵称?重复
  90 + cnUserBuilder.setUuid("uuid");//设备ID
  91 +// cnUserBuilder.setGender("n");//性别,m:男、f:女、n:未知
  92 +// cnUserBuilder.setLocation("location");//用户所在地 非必传
  93 +// cnUserBuilder.setFaceUrl("faceUrl");//头像
  94 +// cnUserBuilder.setFrmId("frmId");//渠道ID
86 return cnUserBuilder; 95 return cnUserBuilder;
87 } 96 }
88 } 97 }
app/src/main/java/com/cnlive/libs/OtherActivity.java
@@ -12,7 +12,9 @@ import java.io.File; @@ -12,7 +12,9 @@ import java.io.File;
12 12
13 public class OtherActivity extends BaseActivity implements View.OnClickListener { 13 public class OtherActivity extends BaseActivity implements View.OnClickListener {
14 14
  15 + //demo中上传的头像文件
15 File file = new File("/sdcard/1.jpg"); 16 File file = new File("/sdcard/1.jpg");
  17 +
16 private EditText feedbackMsg; 18 private EditText feedbackMsg;
17 private Button feedback, uploadFace; 19 private Button feedback, uploadFace;
18 private TextView modifyMobile, updateUserExtInfo, queryUserInfo, modifyUserInfo, modifyPwdWithMobile; 20 private TextView modifyMobile, updateUserExtInfo, queryUserInfo, modifyUserInfo, modifyPwdWithMobile;
@@ -25,59 +27,74 @@ public class OtherActivity extends BaseActivity implements View.OnClickListener @@ -25,59 +27,74 @@ public class OtherActivity extends BaseActivity implements View.OnClickListener
25 initView(); 27 initView();
26 } 28 }
27 29
28 - 30 + //初始化视图
29 public void initView() { 31 public void initView() {
  32 + //用户反馈
30 feedbackMsg = (EditText) findViewById(R.id.feedback_textView); 33 feedbackMsg = (EditText) findViewById(R.id.feedback_textView);
31 feedback = (Button) findViewById(R.id.feedback); 34 feedback = (Button) findViewById(R.id.feedback);
32 feedback.setOnClickListener(this); 35 feedback.setOnClickListener(this);
33 36
  37 + //上传头像
34 uploadFace = (Button) findViewById(R.id.uploadface); 38 uploadFace = (Button) findViewById(R.id.uploadface);
35 uploadFace.setOnClickListener(this); 39 uploadFace.setOnClickListener(this);
36 40
  41 + //更新手机号码
37 modifyMobile = (TextView) findViewById(R.id.modify_mobile); 42 modifyMobile = (TextView) findViewById(R.id.modify_mobile);
38 modifyMobile.setOnClickListener(this); 43 modifyMobile.setOnClickListener(this);
39 44
  45 + //更新用户附加信息
40 updateUserExtInfo = (TextView) findViewById(R.id.update_user_ext_info); 46 updateUserExtInfo = (TextView) findViewById(R.id.update_user_ext_info);
41 updateUserExtInfo.setOnClickListener(this); 47 updateUserExtInfo.setOnClickListener(this);
42 48
  49 + //查询用户信息
43 queryUserInfo = (TextView) findViewById(R.id.query_user_info); 50 queryUserInfo = (TextView) findViewById(R.id.query_user_info);
44 queryUserInfo.setOnClickListener(this); 51 queryUserInfo.setOnClickListener(this);
45 52
  53 + //更新用户单项信息
46 modifyUserInfo = (TextView) findViewById(R.id.modify_user_info); 54 modifyUserInfo = (TextView) findViewById(R.id.modify_user_info);
47 modifyUserInfo.setOnClickListener(this); 55 modifyUserInfo.setOnClickListener(this);
48 56
  57 + //通过手机号码更改密码
49 modifyPwdWithMobile = (TextView) findViewById(R.id.modify_pwd_through_mobile); 58 modifyPwdWithMobile = (TextView) findViewById(R.id.modify_pwd_through_mobile);
50 modifyPwdWithMobile.setOnClickListener(this); 59 modifyPwdWithMobile.setOnClickListener(this);
51 } 60 }
52 61
53 @Override 62 @Override
54 public void onClick(View view) { 63 public void onClick(View view) {
  64 + //cnLiveUser.initUser(**); 本方法是用来设置请求接口是要传入的参数
55 switch (view.getId()) { 65 switch (view.getId()) {
56 case R.id.uploadface: 66 case R.id.uploadface:
  67 + //上传头像
57 cnLiveUser.initUser(uploadFaceData()); 68 cnLiveUser.initUser(uploadFaceData());
58 cnLiveUser.uploadFace(file); 69 cnLiveUser.uploadFace(file);
59 break; 70 break;
60 case R.id.feedback: 71 case R.id.feedback:
  72 + //用户反馈
61 cnLiveUser.initUser(setCNUserData()); 73 cnLiveUser.initUser(setCNUserData());
62 cnLiveUser.feedback(); 74 cnLiveUser.feedback();
63 break; 75 break;
64 case R.id.modify_mobile: 76 case R.id.modify_mobile:
  77 + //更新手机号
65 cnLiveUser.initUser(modifyMobile()); 78 cnLiveUser.initUser(modifyMobile());
66 cnLiveUser.updateMobile(); 79 cnLiveUser.updateMobile();
67 break; 80 break;
68 case R.id.update_user_ext_info: 81 case R.id.update_user_ext_info:
  82 + //更新用户附加信息
69 cnLiveUser.initUser(updateUserExtInfo()); 83 cnLiveUser.initUser(updateUserExtInfo());
70 cnLiveUser.updateUserExtInfo(); 84 cnLiveUser.updateUserExtInfo();
71 break; 85 break;
72 case R.id.query_user_info: 86 case R.id.query_user_info:
  87 + //查询用户信息
73 cnLiveUser.initUser(queryUserInfo()); 88 cnLiveUser.initUser(queryUserInfo());
74 cnLiveUser.queryUserInfo(); 89 cnLiveUser.queryUserInfo();
75 break; 90 break;
76 case R.id.modify_user_info: 91 case R.id.modify_user_info:
  92 + //更新用户单项信息
77 cnLiveUser.initUser(modifyUserInfo()); 93 cnLiveUser.initUser(modifyUserInfo());
78 cnLiveUser.modifyUserInfo(); 94 cnLiveUser.modifyUserInfo();
79 break; 95 break;
80 case R.id.modify_pwd_through_mobile: 96 case R.id.modify_pwd_through_mobile:
  97 + //通过手机号码修改密码
81 cnLiveUser.initUser(modifyPwdWithMobile()); 98 cnLiveUser.initUser(modifyPwdWithMobile());
82 cnLiveUser.modifyPwdWithMob(); 99 cnLiveUser.modifyPwdWithMob();
83 break; 100 break;
@@ -91,36 +108,36 @@ public class OtherActivity extends BaseActivity implements View.OnClickListener @@ -91,36 +108,36 @@ public class OtherActivity extends BaseActivity implements View.OnClickListener
91 } 108 }
92 109
93 protected CNUserBuilder.Builder uploadFaceData() { 110 protected CNUserBuilder.Builder uploadFaceData() {
94 - cnUserBuilder.setSecret("33eb04e9ca7001e878eb8a57e2a1068d7b48c2909fc341"); 111 + cnUserBuilder.setSecret("33eb04e9ca7001e878eb8a57e2a1068d7b48c2909fc341");//app_secret
95 return cnUserBuilder; 112 return cnUserBuilder;
96 } 113 }
97 114
98 private CNUserBuilder.Builder modifyMobile() { 115 private CNUserBuilder.Builder modifyMobile() {
99 - cnUserBuilder.setMobile("18844444444");  
100 - cnUserBuilder.setVerificationCode("123456"); 116 + cnUserBuilder.setMobile("18844444444");//手机号
  117 + cnUserBuilder.setVerificationCode("123456");//手机验证码
101 return cnUserBuilder; 118 return cnUserBuilder;
102 } 119 }
103 120
104 private CNUserBuilder.Builder updateUserExtInfo() { 121 private CNUserBuilder.Builder updateUserExtInfo() {
105 - cnUserBuilder.setExtInfo("sdjfoisdf"); 122 + cnUserBuilder.setExtInfo("sdjfoisdf");//扩展信息(格式自己组织)
106 return cnUserBuilder; 123 return cnUserBuilder;
107 } 124 }
108 125
109 private CNUserBuilder.Builder queryUserInfo() { 126 private CNUserBuilder.Builder queryUserInfo() {
110 - cnUserBuilder.setSrcUid("1342671"); 127 + cnUserBuilder.setSrcUid("1342671");//被查询用户ID
111 return cnUserBuilder; 128 return cnUserBuilder;
112 } 129 }
113 130
114 private CNUserBuilder.Builder modifyUserInfo() { 131 private CNUserBuilder.Builder modifyUserInfo() {
115 - cnUserBuilder.setType("nickName"); 132 + cnUserBuilder.setType("nickName");//nickName-昵称,gender-性别,email-邮箱, location-联系方式
116 cnUserBuilder.setValue("woa"); 133 cnUserBuilder.setValue("woa");
117 return cnUserBuilder; 134 return cnUserBuilder;
118 } 135 }
119 136
120 private CNUserBuilder.Builder modifyPwdWithMobile() { 137 private CNUserBuilder.Builder modifyPwdWithMobile() {
121 - cnUserBuilder.setMobile("13811112222");  
122 - cnUserBuilder.setVerificationCode("123456");  
123 - cnUserBuilder.setNewPwd("123456"); 138 + cnUserBuilder.setMobile("13811112222");//手机号
  139 + cnUserBuilder.setVerificationCode("123456");//验证码
  140 + cnUserBuilder.setNewPwd("123456");//新密码
124 return cnUserBuilder; 141 return cnUserBuilder;
125 } 142 }
126 } 143 }
app/src/main/java/com/cnlive/libs/QuickLoginActivity.java
@@ -8,6 +8,9 @@ import android.widget.EditText; @@ -8,6 +8,9 @@ import android.widget.EditText;
8 import com.cnlive.libs.user.model.CNUserBuilder; 8 import com.cnlive.libs.user.model.CNUserBuilder;
9 import com.cnlive.libs.user.model.UserState; 9 import com.cnlive.libs.user.model.UserState;
10 10
  11 +/**
  12 + * 用户快捷登录(手机验证码登录)
  13 + */
11 public class QuickLoginActivity extends BaseActivity implements View.OnClickListener { 14 public class QuickLoginActivity extends BaseActivity implements View.OnClickListener {
12 15
13 private EditText mobile, code; 16 private EditText mobile, code;
@@ -35,7 +38,15 @@ public class QuickLoginActivity extends BaseActivity implements View.OnClickList @@ -35,7 +38,15 @@ public class QuickLoginActivity extends BaseActivity implements View.OnClickList
35 public void onClick(View view) { 38 public void onClick(View view) {
36 switch (view.getId()) { 39 switch (view.getId()) {
37 case R.id.getNumber: 40 case R.id.getNumber:
  41 + //快捷登录前发送手机验证码
38 cnLiveUser.initUser(setVerificationCode()); 42 cnLiveUser.initUser(setVerificationCode());
  43 +
  44 + /**
  45 + * 发送手机验证码需要传入一个type值用来区分发送的验证码是用来做什么的
  46 + * QUICK_LOGIN--->快捷登陆前发送手机验证码
  47 + * REGISTER_OR_MODIFY_MOBILE---> 注册或修改手机号前发手机验证码
  48 + * RETRIEVE_OR_MODIFY_PASSWORD---> 找回或修改密码前发手机验证码
  49 + */
39 cnLiveUser.sendMessage(UserState.QUICK_LOGIN); 50 cnLiveUser.sendMessage(UserState.QUICK_LOGIN);
40 break; 51 break;
41 case R.id.quick_login: 52 case R.id.quick_login:
@@ -45,9 +56,10 @@ public class QuickLoginActivity extends BaseActivity implements View.OnClickList @@ -45,9 +56,10 @@ public class QuickLoginActivity extends BaseActivity implements View.OnClickList
45 } 56 }
46 } 57 }
47 58
  59 + //下面注释掉的参数为非必传参数
  60 +
48 private CNUserBuilder.Builder setVerificationCode() { 61 private CNUserBuilder.Builder setVerificationCode() {
49 cnUserBuilder.setMobile(mobile.getText().toString()); 62 cnUserBuilder.setMobile(mobile.getText().toString());
50 - cnUserBuilder.setClientPlat("a");  
51 return cnUserBuilder; 63 return cnUserBuilder;
52 } 64 }
53 65
@@ -55,8 +67,7 @@ public class QuickLoginActivity extends BaseActivity implements View.OnClickList @@ -55,8 +67,7 @@ public class QuickLoginActivity extends BaseActivity implements View.OnClickList
55 cnUserBuilder.setUserName(String.valueOf(mobile.getText())); 67 cnUserBuilder.setUserName(String.valueOf(mobile.getText()));
56 cnUserBuilder.setVerificationCode(String.valueOf(code.getText())); 68 cnUserBuilder.setVerificationCode(String.valueOf(code.getText()));
57 cnUserBuilder.setUuid("uuid"); 69 cnUserBuilder.setUuid("uuid");
58 - cnUserBuilder.setFrmId("frmId");  
59 - cnUserBuilder.setClientPlat("a"); 70 +// cnUserBuilder.setFrmId("frmId");
60 return cnUserBuilder; 71 return cnUserBuilder;
61 } 72 }
62 } 73 }
app/src/main/java/com/cnlive/libs/RegisterActivity.java
@@ -8,6 +8,9 @@ import android.widget.EditText; @@ -8,6 +8,9 @@ import android.widget.EditText;
8 import com.cnlive.libs.user.model.CNUserBuilder; 8 import com.cnlive.libs.user.model.CNUserBuilder;
9 import com.cnlive.libs.user.model.UserState; 9 import com.cnlive.libs.user.model.UserState;
10 10
  11 +/**
  12 + * 用户注册
  13 + */
11 public class RegisterActivity extends BaseActivity implements View.OnClickListener { 14 public class RegisterActivity extends BaseActivity implements View.OnClickListener {
12 15
13 private EditText userName, userPassword, number; 16 private EditText userName, userPassword, number;
@@ -40,22 +43,27 @@ public class RegisterActivity extends BaseActivity implements View.OnClickListen @@ -40,22 +43,27 @@ public class RegisterActivity extends BaseActivity implements View.OnClickListen
40 cnLiveUser.register(); 43 cnLiveUser.register();
41 break; 44 break;
42 case R.id.getNumber: 45 case R.id.getNumber:
  46 + //使用手机号注册前发送手机验证码
43 cnLiveUser.initUser(setInvitationCode()); 47 cnLiveUser.initUser(setInvitationCode());
44 cnLiveUser.sendMessage(UserState.REGISTER_OR_MODIFY_MOBILE); 48 cnLiveUser.sendMessage(UserState.REGISTER_OR_MODIFY_MOBILE);
45 break; 49 break;
46 } 50 }
47 } 51 }
48 52
  53 + //下面注释掉的参数为非必传参数
  54 +
49 private CNUserBuilder.Builder setInvitationCode() { 55 private CNUserBuilder.Builder setInvitationCode() {
50 cnUserBuilder.setMobile(userName.getText().toString()); 56 cnUserBuilder.setMobile(userName.getText().toString());
51 return cnUserBuilder; 57 return cnUserBuilder;
52 } 58 }
53 59
54 protected CNUserBuilder.Builder setCNUserData() { 60 protected CNUserBuilder.Builder setCNUserData() {
55 - cnUserBuilder.setUserName(userName.getText().toString());  
56 - cnUserBuilder.setPwd(userPassword.getText().toString());  
57 - cnUserBuilder.setVerificationCode(number.getText().toString()); 61 + cnUserBuilder.setUserName(userName.getText().toString());//邮箱或手机
  62 + cnUserBuilder.setPwd(userPassword.getText().toString());//密码
58 cnUserBuilder.setUuid("uuid"); 63 cnUserBuilder.setUuid("uuid");
  64 + cnUserBuilder.setVerificationCode(number.getText().toString());//手机验证码(手机号注册时必填)
  65 +// cnUserBuilder.setInvitationCode("invitationCode");//邀请码
  66 +// cnUserBuilder.setFrmId("frmId");//渠道ID
59 return cnUserBuilder; 67 return cnUserBuilder;
60 } 68 }
61 } 69 }
app/src/main/res/layout/activity_user.xml
@@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
7 android:paddingLeft="@dimen/activity_horizontal_margin" 7 android:paddingLeft="@dimen/activity_horizontal_margin"
8 android:paddingRight="@dimen/activity_horizontal_margin" 8 android:paddingRight="@dimen/activity_horizontal_margin"
9 android:paddingTop="@dimen/activity_vertical_margin" 9 android:paddingTop="@dimen/activity_vertical_margin"
10 - tools:context="UserActivity"> 10 + tools:context=".LoginActivity">
11 11
12 <TextView 12 <TextView
13 android:id="@+id/login_layout" 13 android:id="@+id/login_layout"