使用第三方api(LeanCloud)##
開發初期有需要服務器端,但苦於耗時大,基礎薄弱,服務器端開發難度大,這使得我們十分困擾
但現在有許多網站提供了這些api,極大的便利了我們的開發
先一步一步來,這主要是使用api實現對基礎的登陸注冊的功能
主要用三個布局分別顯示登陸,注冊,主界面
在activity外再新建一個class,用於放置,你的key
首先,進入官方獲取key#
然后獲取key,打開應用設置
在你的項目中新建一個class,並繼承applicition#
在你的項目根目錄下的build.gradle中添加依賴,如下圖:
所有的前期工作就做好了
其次,布局#
登錄注冊的布局都是兩個EditText和一個Button,主界面就初始界面把
注冊界面也可以在增加一個EditText,用於確認密碼,我這邊簡要的寫了下,就不添加了
再次,實現注冊功能#
在注冊activity中,從控件獲取值判斷值長度及錯誤提示功能,請自行百度
其核心代碼如下
'''
AVUser avUser = new AVUser();
avUser.setUsername(muser);
avUser.setPassword(mpass);
avUser.signUpInBackground(new SignUpCallback() {
@Override
public void done(AVException e) {
if (e == null) {
RegisterActivity.this.finish();
startActivity(new Intent(RegisterActivity.this, LoginActivity.class));
} else {
showProgress(false);
Toast.makeText(RegisterActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
});
'''
實現的功能主要是在雲端,已經將這些類,方法,邏輯都已經寫好了,你只要根據你的需求,在將其定制化,如密碼長度至少16位,不允許特殊字符等等
再次,實現登陸功能#
從控件獲取值判斷值長度及錯誤提示等功能你根據你的需求自定義,不會自行百度
登陸的核心代碼如下:
'''
AVUser.logInInBackground(edit_user.getText().toString(), edit_pass.getText().toString(), new LogInCallback
@Override
public void done(AVUser avUser, AVException e) {//雲端驗證
if (e == null) {
LoginActivity.this.finish();
startActivity(new Intent(LoginActivity.this, MainActivity.class));
} else {
showProgress(false);
Toast.makeText(LoginActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
});
'''
將你的控件中的值傳入到雲端,其會參照數據庫會對你上傳的值進行判斷,並返回
是不是很簡單?