网易云信集成视频教程(一):如何快速实现安卓登录登出?
由于网易云信稳定、可靠的技术服务以及拥有深厚积淀的行业口碑,越来越多用户集成云信IM和音视频功能。为了提升用户集成效率,我们推出了一系列网易云信集成视频教程,希望帮助用户快速实现功能接入。第一期将为大家介绍如何快速实现安卓登录登出?
前期准备
- 到云信管理后台注册账号,创建应用,获取Appkey
- 在应用下注册账号,即Accid与Token
大概思路是这样的
- 在build.gradle中通过gradle形式实现SDK集成
- 在Androidmanifest.xml中配置Appkey以及一些后台的服务
- 在Activity上放两个EditText,一个用来输入用户id(Accid),一个用来输入密码(Token)
- 最后放一个Button来实现登录
先来开始创建功能,打开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"/>包名}.ipc.provider", 请将com.netease.nim.demo替换为自己的包名 -->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() {@Overridepublic 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() { @Overridepublic void onSuccess(LoginInfo param) {Toast.makeText(LoginActivity.this,"恭喜您登陆成功",Toast.LENGTH_SHORT).show();NimUIKitImpl.setAccount(param.getAccount());startActivity(new Intent(LoginActivity.this,MainActivity.class));}@Overridepublic void onFailed(int code) {}@Overridepublic void onException(Throwable exception) {}// 可以在此保存LoginInfo到本地,下次启动APP做自动登录用};NIMClient.getService(AuthService.class).login(info).setCallback(callback);}
以上就是我们网易云信集成视频教程第一期的内容,接下来我们还会推出AOS自定义消息收发讲解,及基于UI组件的说明教程,敬请关注。
想看更多集成视频教程,请戳https://netease.im/videoTutorial
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
