网易云信集成视频教程(一):如何快速实现安卓登录登出?
由于網(wǎng)易云信穩(wěn)定、可靠的技術(shù)服務(wù)以及擁有深厚積淀的行業(yè)口碑,越來越多用戶集成云信IM和音視頻功能。為了提升用戶集成效率,我們推出了一系列網(wǎng)易云信集成視頻教程,希望幫助用戶快速實(shí)現(xiàn)功能接入。第一期將為大家介紹如何快速實(shí)現(xiàn)安卓登錄登出?
前期準(zhǔn)備
大概思路是這樣的
先來開始創(chuàng)建功能,打開Android Studio,File – New – New Project
按照文檔里的方式,通過gradle方式集成SDK
因?yàn)槲覀冃枰恍┫鄳?yīng)的權(quán)限,在Androidmanifest.xml中根據(jù)文檔配置相應(yīng)的權(quán)限
配置權(quán)限之后,添加相應(yīng)的組件,Appkey(以下Appkey為示例,需重新創(chuàng)建應(yīng)用獲取)以及一些后臺(tái)的進(jìn)程服務(wù)
<!-- APP key, 可以在這里設(shè)置,也可以在 SDKOptions 中提供。如果 SDKOptions 中提供了,取 SDKOptions 中的值。 --><meta-dataandroid:name="com.netease.nim.appKey"android:value="go9dnk49bkd9jd9vmel1kglw0803mgq3" /> <!-- 云信后臺(tái)服務(wù),請(qǐng)使用獨(dú)立進(jìn)程。 --><serviceandroid:name="com.netease.nimlib.service.NimService"android:process=":core"/><!-- 云信后臺(tái)輔助服務(wù) --><serviceandroid:name="com.netease.nimlib.service.NimService$Aux"android:process=":core"/><!-- 云信后臺(tái)輔助服務(wù) --><serviceandroid:name="com.netease.nimlib.job.NIMJobService"android:exported="true"android:permission="android.permission.BIND_JOB_SERVICE"android:process=":core"/><!-- 云信監(jiān)視系統(tǒng)啟動(dòng)和網(wǎng)絡(luò)變化的廣播接收器,保持和 NimService 同一進(jìn)程 --><receiver android:name="com.netease.nimlib.service.NimReceiver"android:process=":core"android:exported="false"><intent-filter><action android:name="android.intent.action.BOOT_COMPLETED"/><action android:name="android.net.conn.CONNECTIVITY_CHANGE"/></intent-filter></receiver><!-- 云信進(jìn)程間通信 Receiver --><receiver android:name="com.netease.nimlib.service.ResponseReceiver"/><!-- 云信進(jìn)程間通信service --><service android:name="com.netease.nimlib.service.ResponseService"/><!-- 云信進(jìn)程間通信provider --><!-- android:authorities="{包名}.ipc.provider", 請(qǐng)將com.netease.nim.demo替換為自己的包名 --><providerandroid:name="com.netease.nimlib.ipc.NIMContentProvider"android:authorities="com.example.liuxuanlin.login_demo.ipc.provider"android:exported="false"android:process=":core" />然后我們配置一個(gè)簡(jiǎn)單的登錄頁(yè)面,打開activity_main.xml,使用LinearLayout布局,拖進(jìn)去2個(gè)EditText, 1個(gè)Button,寬度均設(shè)置為match_parent,高度均設(shè)置為wrap_content
界面簡(jiǎn)單的搭好之后,這樣才能愉快的寫代碼。
代碼部分
在使用前,先配置Application,這里就使用MyApplication初始化SDK,并且在Androidmanifest.xml中聲明,保證應(yīng)用可以正常啟動(dòng)
首先是聲明和初始化
創(chuàng)建LoginActivity,初始化控件,并且在這里還需要監(jiān)聽他們的事件,所以需要去實(shí)現(xiàn)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();//初始化控件
??? }
?
通過SDK方式進(jìn)行登陸
傳入起初創(chuàng)建好的accid和token,交由SDK進(jìn)行登陸托管,并根據(jù)登陸的回調(diào)實(shí)現(xiàn)相應(yīng)的業(yè)務(wù)邏輯
/*** 登陸事件回調(diào)函數(shù) */private void login() {LoginInfo info = new LoginInfo(nameText.getText().toString(),pwdText.getText().toString()); // config...RequestCallback<LoginInfo> callback =new RequestCallback<LoginInfo>() {@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到本地,下次啟動(dòng)APP做自動(dòng)登錄用};NIMClient.getService(AuthService.class).login(info).setCallback(callback);}以上就是我們網(wǎng)易云信集成視頻教程第一期的內(nèi)容,接下來我們還會(huì)推出AOS自定義消息收發(fā)講解,及基于UI組件的說明教程,敬請(qǐng)關(guān)注。
想看更多集成視頻教程,請(qǐng)戳https://netease.im/videoTutorial
?
總結(jié)
以上是生活随笔為你收集整理的网易云信集成视频教程(一):如何快速实现安卓登录登出?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网易企业业务进入大航海时代,邀您共创星辰
- 下一篇: 以效率为根本,网易慢跑要做“另类”的TO