网易云信集成视频教程(一):如何快速实现安卓登录登出?
由于網易云信穩定、可靠的技術服務以及擁有深厚積淀的行業口碑,越來越多用戶集成云信IM和音視頻功能。為了提升用戶集成效率,我們推出了一系列網易云信集成視頻教程,希望幫助用戶快速實現功能接入。第一期將為大家介紹如何快速實現安卓登錄登出?
前期準備
大概思路是這樣的
先來開始創建功能,打開Android Studio,File – New – New Project
按照文檔里的方式,通過gradle方式集成SDK
因為我們需要一些相應的權限,在Androidmanifest.xml中根據文檔配置相應的權限
配置權限之后,添加相應的組件,Appkey(以下Appkey為示例,需重新創建應用獲取)以及一些后臺的進程服務
<!-- APP key, 可以在這里設置,也可以在 SDKOptions 中提供。如果 SDKOptions 中提供了,取 SDKOptions 中的值。 --><meta-dataandroid:name="com.netease.nim.appKey"android:value="go9dnk49bkd9jd9vmel1kglw0803mgq3" /> <!-- 云信后臺服務,請使用獨立進程。 --><serviceandroid:name="com.netease.nimlib.service.NimService"android:process=":core"/><!-- 云信后臺輔助服務 --><serviceandroid:name="com.netease.nimlib.service.NimService$Aux"android:process=":core"/><!-- 云信后臺輔助服務 --><serviceandroid:name="com.netease.nimlib.job.NIMJobService"android:exported="true"android:permission="android.permission.BIND_JOB_SERVICE"android:process=":core"/><!-- 云信監視系統啟動和網絡變化的廣播接收器,保持和 NimService 同一進程 --><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><!-- 云信進程間通信 Receiver --><receiver android:name="com.netease.nimlib.service.ResponseReceiver"/><!-- 云信進程間通信service --><service android:name="com.netease.nimlib.service.ResponseService"/><!-- 云信進程間通信provider --><!-- android:authorities="{包名}.ipc.provider", 請將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" />然后我們配置一個簡單的登錄頁面,打開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();//初始化控件
??? }
?
通過SDK方式進行登陸
傳入起初創建好的accid和token,交由SDK進行登陸托管,并根據登陸的回調實現相應的業務邏輯
/*** 登陸事件回調函數 */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到本地,下次啟動APP做自動登錄用};NIMClient.getService(AuthService.class).login(info).setCallback(callback);}以上就是我們網易云信集成視頻教程第一期的內容,接下來我們還會推出AOS自定義消息收發講解,及基于UI組件的說明教程,敬請關注。
想看更多集成視頻教程,請戳https://netease.im/videoTutorial
?
總結
以上是生活随笔為你收集整理的网易云信集成视频教程(一):如何快速实现安卓登录登出?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网易企业业务进入大航海时代,邀您共创星辰
- 下一篇: 以效率为根本,网易慢跑要做“另类”的TO