微前端架构如何改变企业的开发模式与效率提升
526
2022-11-05
我的APP基础架架-Android版
我的APP基础架架-Android版
我们希望你能有所收获 并且我们会将用到的开源代码名称列出来
编译环境
gradle (3.2.1)android studio (2.2.+)sdk 5.0+ndk 13.1+
使用的开源代码们
xUtils的DB模块rxAndroidrxJavaretrofit2GSONfrescoOKHttpPersistentCookieJar OKHttp的cookie管理工具Butter Knife
代码规范
代码按功能模块划分,不同功能模块建立功能名称文件夹,参照前人的代码修改他人代码,请务必添加修改注释提交代码时,务必格式化代码不许使用拼音命名!不许使用拼音命名!不许使用拼音命名!建议不要使用缩进符号,使用空格文件命名规范 布局文件(模块_功能_类型.xml)如(login_mian_aty.xml)图片文件 (模块_功能_[用于].png)如(login_forgetpassword_btn.png)其他资源文件(模块_功能_[备注])
注意:一个资源被多个模块使用时,资源模块名使用common
提交规范
功能添加前缀 future:bug修复前缀 bugfix:代码重构、整顿前缀 refactor:
不保证兼容所有手机
引用本源码请保留作者名称和出处
源码不建议使用于商业产品
代码上传者请保证可用性,否则被回退、覆盖,概不负责
增、删、修改代码使用者,责任均为使用者自负
代码提交者不要提交、引用不安全的代码
数据库模块的使用方法
xUtils的DB模块使用方法一样(因为原来的xUtil对Android6以上的支持不太好,所以只抽出DB模块) 需要数据库读写权限!
@RunWith(AndroidJUnit4.class)public class ExampleInstrumentedTest { public static final String TAG = "ExampleInstrumentedTest"; @Test public void DBTest(){ DbUtils db = DbUtils.create(this); User user = new User(); //这里需要注意的是User对象必须有id属性,或者有通过@ID注解的属性 user.setEmail("wyouflf@qq.com"); user.setName("wyouflf"); db.save(user); // 使用saveBindingId保存实体时会为实体的id赋值 //... // 查找 Parent entity = db.findById(Parent.class, parent.getId()); List
网络模块
已经引入okhttp和retrofit2,可以自行使用OKHttp,也可以使用简单封装的HttpUtil来发送网络请求。 需要网络权限 如果不满足提供的默认请求工具,可以了解Retrofit2和RxJava如何搭配使用
package com.bb.zinglibrary;import java.util.List;import retrofit2.http.GET;import rx.Observable;/** * Created by zing on 2016/12/5. */public interface Hahahaha { @GET("/") Observable> baidu();}
package com.bb.zinglibrary;import android.content.Context;import android.support.test.InstrumentationRegistry;import android.support.test.runner.AndroidJUnit4;import android.util.Log;import com.bb.zinglibrary.http.RequestCallback;import com.bb.zinglibrary.http.HttpUtil;import com.bb.zinglibrary.http.http_client.DefaultOkHttpClient;import org.junit.Test;import org.junit.runner.RunWith;import okhttp3.CookieJar;import okhttp3.OkHttpClient;import static org.junit.Assert.*;/** * Instrumentation test, which will execute on an Android device. * * @see Testing documentation */@RunWith(AndroidJUnit4.class)public class ExampleInstrumentedTest { public static final String TAG = "ExampleInstrumentedTest"; @Test public void HttpTest() throws Exception { // Context of the app under test. Context appContext = InstrumentationRegistry.getTargetContext(); CookieJar cookieJar = DefaultOkHttpClient.getDefaultCookieJar(appContext); HttpUtil httpUtil = HttpUtil.getInstance(); RequestCallback
其他
所有Activity务必继承com.bb.zing.common.activity.BaseActivity使用前,请查看com.bb.zing.common.utils.ActivityUtil和com.bb.zing.common.activity.BaseActivity是如何搭配使用的一些功能封装在package com.bb.zinglibrary.common.AndroidUtils务必了解,不用重复造轮子BBApplication内封装了一些SharedPreferences存储方法,不过不建议使用。后期会将其重构到独立的地方,避免影响性能。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~