Android開源:RxJava 和 Retrofit 結合使用完成基本的登錄和注冊功能
RxLoginAndRegister
主要包含客戶端和服務端兩個部分:
客戶端
使用RxJava和Retrofit搭配完成基本的登錄和注冊功能
- RxJava:一個在 Java VM 上使用可觀測的序列來組成異步的、基于事件的程序的庫(說到根上,它就是一個實現異步操作的庫)
- Retrofit: 類型安全的網絡庫,封裝了okhttp
登錄api
一個帶有兩個參數的post請求
public interface LoginApi {
@FormUrlEncoded
@POST("/LoginServer/login.php")
Observable<ResultReturn> login(@Field("email") String email, @Field("password") String password);
}
注冊api
public interface RegisterApi {
@FormUrlEncoded
@POST("/LoginServer/register.php")
Observable<ResultReturn> register(@Field("name") String name, @Field("email") String email, @Field("contact") String contact, @Field("password") String password);
}
NetWork
public class Network {
private static LoginApi loginApi;
private static RegisterApi registerApi;
private static OkHttpClient okHttpClient = new OkHttpClient();
private static Converter.Factory gsonConverterFactory = GsonConverterFactory.create();
private static CallAdapter.Factory rxJavaCallAdapterFactory = RxJavaCallAdapterFactory.create();
public static LoginApi getloginApi() {
if (loginApi == null) {
Retrofit retrofit = new Retrofit.Builder()
.client(okHttpClient)
.baseUrl(UrlContainer.BASE_URL)
.addConverterFactory(gsonConverterFactory)
.addCallAdapterFactory(rxJavaCallAdapterFactory)
.build();
loginApi = retrofit.create(LoginApi.class);
}
return loginApi;
}
public static RegisterApi getRegisterApi() {
if (registerApi == null) {
Retrofit retrofit = new Retrofit.Builder()
.client(okHttpClient)
.baseUrl(UrlContainer.BASE_URL)
.addConverterFactory(gsonConverterFactory)
.addCallAdapterFactory(rxJavaCallAdapterFactory)
.build();
registerApi = retrofit.create(RegisterApi.class);
}
return registerApi;
}
}</code></pre>
注意:具體使用方法請參考詳細代碼 ,其它相關概念不再贅述。


服務端
初衷:就是想自己搭建一個最最基本的服務器!
功能:完成了一個最基本的登錄和注冊流程
注意:代碼結構相對簡單!僅供需要的朋友進行參考
部分代碼參考github上的一個demo,一時間找不到那個demo的鏈接了,同時根據本案例自身需求做了一些調整
相關介紹:
- 集成安裝環境:WampServer 即在window下的apache、php和mysql的服務器軟件
- 集成開發環境:Zend Studio12.5.1
- 數據傳輸類型:JSON
{
"success": true,
"msg": "Login success",
"result": {
"name": "ss",
"email": "123@qq.com",
"contact": "123"
}
}
修改數據庫配置文件
<?php
/*
- All database connection variables
*/
define("DB_HOST", "localhost");
define("DB_USER", "root");
define("DB_PASSWORD", "");
define("DB_NAME", "simplelogin");</code></pre>
數據庫的連接 數據表的創建 相關數據操作api
參考db_apis.php
登錄
參考login.php
注冊
參考register.php
來自:https://github.com/soulrelay/RxLoginAndRegister
本文由用戶 Ty97Yjhazv 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!