由于网易云信稳定、可靠的技术服务以及拥有深厚积淀的行业口碑,越来越多用户集成云信IM和音视频功能。为了提升用户集成效率,我们推出了一系列网易云信集成视频教程,希望帮助用户快速实现功能接入。第一期将为大家介绍如何快速实现安卓登录登出?
前期准备
大概思路是这样的
先来开始创建功能,打开Android Studio,File – New – New Project
按照文档里的方式,通过gradle方式集成SDK
因为我们需要一些相应的权限,在Androidmanifest.xml中根据文档配置相应的权限
配置权限之后,添加相应的组件,Appkey(以下Appkey为示例,需重新创建应用获取)以及一些后台的进程服务
android:name="com.netease.nim.appKey" android:value="go9dnk49bkd9jd9vmel1kglw0803mgq3" />
android:name="com.netease.nimlib.service.NimService" android:process=":core"/> android:name="com.netease.nimlib.service.NimService$Aux" android:process=":core"/> android:name="com.netease.nimlib.job.NIMJobService" android:exported="true" android:permission="android.permission.BIND_JOB_SERVICE" android:process=":core"/> android:name="com.netease.nimlib.service.NimReceiver" android:process=":core" android:exported="false"> android:name="android.intent.action.BOOT_COMPLETED"/> android:name="android.net.conn.CONNECTIVITY_CHANGE"/> android:name="com.netease.nimlib.service.ResponseReceiver"/> android:name="com.netease.nimlib.service.ResponseService"/> android:name="com.netease.nimlib.ipc.NIMContentProvider" android:authorities="com.example.liuxuanlin.login_demo.ipc.provider" android:exported="false" android:process=":core" />
然后我们配置一个简单的登录页面,打开activity_main.xml,使用LinearLayout布局,拖进去2个EditText, 1个Button,宽度均设置为match_parent,高度均设置为wrap_content
界面简单的搭好之后,这样才能愉快的写代码。
代码部分
在使用前,先配置Application,这里就使用MyApplication初始化SDK,并且在Androidmanifest.xml中声明,保证应用可以正常启动
首先是声明和初始化
创建LoginActivity,初始化控件,并且在这里还需要监听他们的事件,所以需要去实现onClickListener,加好后如下所示
public class LoginActivity extends Activity {
private EditText nameText;
private EditText pwdText;
private Button loginButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
findViews();//初始化控件
}
private void findViews() { nameText = findViewById(R.id.name); pwdText = findViewById(R.id.pwd); loginButton = findViewById(R.id.login); loginButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {
login(); } }); } }
通过SDK方式进行登陆
传入起初创建好的accid和token,交由SDK进行登陆托管,并根据登陆的回调实现相应的业务逻辑
/** * 登陆事件回调函数 */ private void login() { LoginInfo info = new LoginInfo(nameText.getText().toString(),pwdText.getText().toString()); // config... RequestCallbackcallback = new RequestCallback() { @Override public void onSuccess(LoginInfo param) { Toast.makeText(LoginActivity.this,"恭喜您登陆成功",Toast.LENGTH_SHORT).show(); NimUIKitImpl.setAccount(param.getAccount()); startActivity(new Intent(LoginActivity.this,MainActivity.class)); } @Override public void onFailed(int code) { } @Override public void onException(Throwable exception) { } // 可以在此保存LoginInfo到本地,下次启动APP做自动登录用 }; NIMClient.getService(AuthService.class).login(info) .setCallback(callback); }
以上就是我们网易云信集成视频教程第一期的内容,接下来我们还会推出AOS自定义消息收发讲解,及基于UI组件的说明教程,敬请关注。
想看更多集成视频教程,请戳https://netease.im/videoTutorial