1-Android开发知识随笔-生活工作点滴框架【库】

好用的android 基础框架XBase

2019-07-09  本文已影响507人  Allens_Jiang

1.前言

方便平时快速开发用到的一个基础框架

2.地址

github 欢迎指出不合理的地方,

3.如何下载

    allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }
    dependencies {
            implementation 'com.github.JiangHaiYang01:XBase:1.0.0'
    }

4 如何使用

1. 继承 BaseApplication

public class MyApp extends BaseApplication {

    @Override
    protected LogInfo onLogInfo() {
        return LogInfo.builder()
                .fileName("log")//文件名称
                .isOpen(true)//是否保存到文件
                //.path()//保存文件地址 默认沙盒
                .maxFileSize(10)//最大文件数
                .maxM(5)//单个文件最大多少M
                .tag("log--->")
                .build();
    }
}

默认log 参数配置

2 继承 BaseActivity

    /***
     * 是否开启沉寂式布局
     */
    void silence();

    int getWith();

    int getHeight();

    /***
     * 跳转
     * @param clz activity
     */
    void startActivity(Class<?> clz);

    void startActivity(Class<?> clz, Bundle bundle);

    void startActivityForResult(Class<?> cls, Bundle bundle, int requestCode);


    void showFragment(Fragment fragment, int resId);


    /***
     * 获取当前系统语言状态
     * @return
     */
    Locale getLocal();

    /***
     * 检查网络是否可用
     * @return true 可用
     *         false 不可用
     */
    boolean isNetworkAvailable();

    Context getContext();
 void toast(String msg);

    void toast(int resId);


    void showLoading();

    void hideLoading();


    /***
     * 绑定控件
     * @param resId
     * @param <T>
     * @return
     */
    <T extends View> T $(int resId);


    /***
     * 获取资源的String
     * @param id
     * @return
     */
    String getResId(int id);


    /* 获取SharedPreference 参数*/
    <T> T getPref(String key);

    <T> T getPref(String key, T defaultValue);

    <T> boolean putPref(String key, T value);

    boolean deleteAllPref();

    boolean deletePref(String key);

    long getPrefCount();

    boolean containsPref(String key);
//两个手手指放大
        void onTouchBig();

//两个手指缩小
        void onTouchSmall();

3. 继承 BaseFragment

使用接口几乎同上

4 网络模块

 xHttp = new XHttp.Builder()
                .connectTimeout(10, TimeUnit.SECONDS)
                .writeTimeout(10, TimeUnit.SECONDS)
                .readTimeout(10, TimeUnit.SECONDS)
                .baseUrl("http://134.175.88.222/")
                .retryOnConnectionFailure(false)
                .isLog(true)
                .isLogToFile(true)
//                .addHeard()
                .build();

网络请求绑定了生命周期,防止在onDestroy的时候还有请求的任务,导致内存泄漏,
断点下载,暂停下载,取消下载

 public <T> void doGet(BaseFragment context, Class<T> tClass, String parameter, final OnHttpListener<T> listener) {

 public <T> void doGet(BaseActivity context, Class<T> tClass, String parameter, final OnHttpListener<T> listener) {
 public <T> void doPost(BaseActivity context, Class<T> tClass, String parameter, final OnHttpListener<T> listener) {

 public <T> void doPost(BaseFragment context, Class<T> tClass, String parameter, final OnHttpListener<T> listener) {
  public <T> void doBody(BaseActivity context, Class<T> tClass, String parameter, final OnHttpListener<T> listener) {

  public <T> void doBody(BaseFragment context, Class<T> tClass, String parameter, final OnHttpListener<T> listener) {
  public <T> void doPut(BaseFragment context, Class<T> tClass, String parameter, final OnHttpListener<T> listener) {

  public <T> void doPut(BaseActivity context, Class<T> tClass, String parameter, final OnHttpListener<T> listener) {
  public <T> void doDelete(BaseFragment context, Class<T> tClass, String parameter, final OnHttpListener<T> listener) {

  public <T> void doDelete(BaseActivity context, Class<T> tClass, String parameter, final OnHttpListener<T> listener) {
  public void doDownload(String url, String filePath, String name, OnDownLoadListener loadListener) {

  public void doDownloadBindAct(BaseActivity activity, String url, String filePath, String name, OnDownLoadListener loadListener) {

  public void doDownloadBindFragment(BaseFragment fragment, String url, String filePath, String name, OnDownLoadListener loadListener) {

  public void doDownload(String url, String filePath, OnDownLoadListener loadListener) {

  public void doDownloadBindAct(BaseActivity activity, String url, String filePath, OnDownLoadListener loadListener) {

  public void doDownloadBindFragment(BaseFragment fragment, String url, String filePath, OnDownLoadListener loadListener) {


  public void doDownLoadPause(String url) {

  public void doDownLoadPauseAll() {

  public void doDownLoadCancel(String url) {

  public void doDownLoadCancelAll() {
上一篇下一篇

猜你喜欢

热点阅读