Android开源:RxJava 和 Retrofit 结合使用完成基本的登录和注册功能
<h2>RxLoginAndRegister</h2> <p>主要包含客户端和服务端两个部分:</p> <h2>客户端</h2> <p>使用RxJava和Retrofit搭配完成基本的登录和注册功能</p> <ul> <li>RxJava:一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库(说到根上,它就是一个实现异步操作的库)</li> <li>Retrofit: 类型安全的网络库,封装了okhttp</li> </ul> <h3>登录api</h3> <p>一个带有两个参数的post请求</p> <pre> <code class="language-java">public interface LoginApi { @FormUrlEncoded @POST("/LoginServer/login.php") Observable<ResultReturn> login(@Field("email") String email, @Field("password") String password); }</code></pre> <h3>注册api</h3> <pre> <code class="language-java">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); }</code></pre> <h3>NetWork</h3> <pre> <code class="language-java">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> <p>注意:具体使用方法请参考详细代码 ,其它相关概念不再赘述。</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/57ac8a0fba95d15d34f48db53f5286bf.jpg"></p> <p style="text-align:center"><img src="https://simg.open-open.com/show/c9d0e1095474c59c5c495918c92e008d.jpg"></p> <h2>服务端</h2> <p>初衷:就是想自己搭建一个最最基本的服务器!</p> <p>功能:完成了一个最基本的登录和注册流程</p> <p>注意:代码结构相对简单!仅供需要的朋友进行参考</p> <p>部分代码参考github上的一个demo,一时间找不到那个demo的链接了,同时根据本案例自身需求做了一些调整</p> <p>相关介绍:</p> <ul> <li>集成安装环境:WampServer 即在window下的apache、php和mysql的服务器软件</li> <li>集成开发环境:Zend Studio12.5.1</li> <li>数据传输类型:JSON</li> </ul> <pre> <code class="language-java">{ "success": true, "msg": "Login success", "result": { "name": "ss", "email": "123@qq.com", "contact": "123" } }</code></pre> <h3>修改数据库配置文件</h3> <pre> <code class="language-java"><?php /* * All database connection variables */ define("DB_HOST", "localhost"); define("DB_USER", "root"); define("DB_PASSWORD", ""); define("DB_NAME", "simplelogin");</code></pre> <h3>数据库的连接 数据表的创建 相关数据操作api</h3> <p>参考db_apis.php</p> <h3>登录</h3> <p>参考login.php</p> <h3>注册</h3> <p>参考register.php</p> <p> </p> <p>来自:https://github.com/soulrelay/RxLoginAndRegister</p> <p> </p>
本文由用户 Ty97Yjhazv 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
转载本站原创文章,请注明出处,并保留原始链接、图片水印。
本站是一个以用户分享为主的开源技术平台,欢迎各类分享!