精华内容
下载资源
问答
  • EasySocket-master安卓android聊天快速开发框架官方最新github版本
  • 常用框架最新版本 最后编辑时间: 2021-1-17 框架名 最新版本 作用 Butter Knife com.jakewharton:butterknife:10.2.3 用注解方式绑定控件id,已停止维护,建议切换到view binding greenDAO org.greenrobot:greendao:...

    1. SDK Verion

    数据来源于android官网,和一篇博客

    Api 版本号 代号 发布时间 主要更新内容
    1 1.0 2008-09-23 Web浏览器显示,短信,媒体播放器,相机,Wifi及蓝牙支持
    2 1.1 Petit Four(花式小蛋糕) 2009-02-09 邮件中保存附件
    3 1.5 Cupcake(纸杯蛋糕) 2009-04-27 桌面小部件,录制视频,自动旋转,蓝牙配对,浏览器中复制及粘贴
    4 1.6 Donut(甜甜圈) 2009-09-15 语音输入及搜索功能增强,图库与相机的集成,多张照片删除
    5 2.0 Eclair(闪电泡芙) 2009-10-26 蓝牙2.1支持,相机功能增强,优化硬件与UI,动态壁纸,支持更多屏幕尺寸
    6 2.0.1 Eclair 2009-12-03 次要API更改,错误修正和框架行为更改
    7 2.1 Eclair 2010-02-12 对API和错误修正的微小修改
    8 2.2 Froyo(冻酸奶) 2010-05-20 性能优化,速度改进,V8引擎添加到浏览器,Wifi热点,Flash支持,禁用移动数据选项
    9 2.3 Gingerbread(姜饼) 2010-12-06 UI设计优化,超大尺寸支持,虚拟键盘优化,支持NFC,支持多个摄像头,并发GC
    10 2.3.3 Gingerbread 2011-02-09 支持语言及视频聊天,将SSL的默认加密从AES256-SHA切换到RC4-MD5,提高电池效率
    11 3.0 Honeycomb(蜂巢) 2011-02-22 平板支持,添加系统栏及操作栏,最近任务快照,相片功能增强,硬件加速,多核支持
    12 3.1 Honeycomb 2011-05-10 支持操纵杆和游戏手柄,支持外部键盘和指点设备,支持FLAC音频播放
    13 3.2 Honeycomb 2011-07-15 改进硬件及平板的支持,优化平板显示
    14 4.0 IceCreamSandwich(冰激凌三明治) 2011-10-18 Roboto字体美化界面,内置照片编辑器,Android Beam功能,屏幕截图
    15 4.0.3 IceCreamSandwich 2011-12-16 新的相机应用增强了视频稳定性和QVGA分辨率
    16 4.1 Jelly Bean(果冻豆) 2012-07-09 用户界面流畅度重大优化,双向文本和其他语言支持
    17 4.2 Jelly Bean 2012-12-13 新时钟程序,屏幕保护程序,锁屏改进
    18 4.3 Jelly Bean 2013-07-24 支持OpenGL ES 3.0,SELinux默认启用,支持从右到左(RTL)的语言
    19 4.4 Kitkat(奇巧巧克力棒) 2013-10-31 界面优化,无线打印功能,沉浸式模式,外存储访问限制,原生红外线发射器API
    20 4.4W KitKat Wear(穿戴设备专用) 2014-06-25 适用于智能手表的Android Wear平台的初始版本,增加了可穿戴扩展
    21 5.0 Lollipop(棒棒糖) 2014-11-12 ART,64位CPU,OpenGL ES 3.1,Material Design,Project Volta(电池管理),自定义应用程序通知优先级
    22 5.1 Lollipop 2015-03-09 支持多张SIM卡,设备保护
    23 6.0 Marshmallow(棉花糖) 2015-10-05 运行时权限,USB-C支持,指纹识别器支持,4K显示,应用待机功能
    24 7.0 Nougat(牛轧糖) 2016-08-22 Unicode 9.0 表情符号和肤色修饰符支持,多窗口显示,屏幕缩放,JIT优化,访问外部应用存储限制
    25 7.1.1 Nougat 2016-10-04 触摸/显示性能改进,开发者功能增加
    26 8.0 Oreo(奥利奥) 2017-08-21 画中画,Unicode 10.0表情符号,自适应图标,通知改进,多显示器支持,应用后台执行和位置限制
    27 8.1 Oreo 2017-12-05 神经网络API,共享内存API,自动填充框架更新
    28 9.0 Pie(馅饼) 2018-08-07 快速设置菜单的新用户界面,更丰富的消息通知,DNS over TLS
    29 10.0 Q-Android10 2019-09-03 重大隐私变更,折叠屏,5G支持,ART优化,手势导航,深色主题,新的音视频解码器
    30 11.0 R-Android11 2020-09-09 支持新屏幕,敏感权限只能获取一次,神经网络1.3,聊天气泡

    2. Support Library

    Android 支持库提供了诸多未内置于框架的功能。这些库提供向后兼容版本的新功能、框架中未包含的实用 UI 元素,以及应用可以利用的一系列实用程序。数据来源于官方网站

    特别注意

    Android 支持库的最新版本是28.0.0,这是最后一个google发布的支持库版本,现在google已将所有support包下的库都迁移至androidx包下面,以后的更新都只会在androidx包中进行。具体对照表点击进入

    这些变动是由于android的jetpack项目,意在帮助开发者快速实现应用开发,将一些常用的框架都整合进来了。
    官网详细介绍

    最后编辑时间: 2018-11-14
    包名 库名 gradle最新依赖版本
    v4 compat com.android.support:support-compat:28.0.0
    v4 core-utils om.android.support:support-core-utils:28.0.0
    v4 core-ui com.android.support:support-core-ui:28.0.0
    v4 media-compat com.android.support:support-media-compat:28.0.0
    v4 fragment com.android.support:support-fragment:28.0.0
    v7 appcompat com.android.support:appcompat-v7:28.0.0
    v7 cardview com.android.support:cardview-v7:28.0.0
    v7 gridlayout com.android.support:gridlayout-v7:28.0.0
    v7 mediarouter com.android.support:mediarouter-v7:28.0.0
    v7 palette com.android.support:palette-v7:28.0.0
    v7 recyclerview com.android.support:recyclerview-v7:28.0.0
    v7 preference com.android.support:preference-v7:28.0.0
    v8 renderscript defaultConfig配置
    v13 support com.android.support:support-v13:28.0.0
    v14 preference com.android.support:preference-v14:28.0.0
    v17 preference com.android.support:preference-leanback-v17:28.0.0
    v17 leanback com.android.support:leanback-v17:28.0.0
    N/A vector drawable com.android.support:support-vector-drawable:28.0.0
    N/A Animated Vector com.android.support:animated-vector-drawable:28.0.0
    N/A Annotations com.android.support:support-annotations:28.0.0
    N/A design com.android.support:design:28.0.0
    N/A custom tabs com.android.support:customtabs:28.0.0
    N/A percent support 已弃用,ConstraintLayout代替
    N/A ExifInterface com.android.support:exifinterface:28.0.0
    N/A Recommendation com.android.support:recommendation:28.0.0
    N/A Wear UI com.android.support:wear:28.0.0
    N/A multidex com.android.support:multidex:1.0.0

    3.Jetpack全家桶版本

    Jetpack 是一套库、工具和指南,可帮助开发者更轻松地编写优质应用。这些组件可帮助您遵循最佳做法、让您摆脱编写样板代码的工作并简化复杂任务,以便您将精力集中放在所需的代码上。

    Jetpack 包含与平台 API 解除捆绑的 androidx.* 软件包库,所有的support库现在都属于Jetpack开发工具的一部分,还包括一些非常实用的开发框架,可以说只使用Jetpack就能满足绝大部分的应用开发需求。

    包名 版本 用途
    androidx.appcompat:appcompat: 1.2.0 主要有用以兼容的AppCompatActivity
    androidx.core:core: 1.3.1 各种兼容库
    androidx.fragment.app: 1.2.0 fragment支持库
    androidx.cardview:cardview: 1.0.0 卡片式视图
    androidx.constraintlayout:constraintlayout: 2.0.0 约束布局
    androidx.drawerlayout:drawerlayout: 1.1.1 抽屉布局
    androidx.lifecycle:lifecycle-runtime: 2.2.0 感知生命周期
    androidx.paging:paging-runtime: 2.1.2 在recycleview中分页加载数据
    androidx.navigation:navigation-ui: 2.3.0 导航框架
    androidx.recyclerview:recyclerview: 1.1.0 强大的列表视图
    androidx.room:room-runtime: 2.2.5 数据库ORM框架
    androidx.swiperefreshlayout:swiperefreshlayout: 1.0.0 下拉提示框
    androidx.viewpager2:viewpager2: 1.0.0 多视图容器
    androidx.work:work-runtime: 2.4.0 后台管理框架

    4.常用框架最新版本

    最后编辑时间: 2021-1-17
    框架名 最新版本 作用
    Butter Knife com.jakewharton:butterknife:10.2.3 用注解方式绑定控件id,已停止维护,建议切换到view binding
    greenDAO org.greenrobot:greendao:3.3.0 SQLite的ORM框架
    EventBus org.greenrobot:eventbus:3.2.0 用总线模式简化组件间通信
    Retrofit com.squareup.retrofit2:retrofit:2.9.0 一种类型安全的Http客户端
    OkHttp com.squareup.okhttp3:okhttp:4.9.0 HTTP,HTTP/2客户端,retrofix依赖于该框架实现通信
    LeakCanary com.squareup.leakcanary:leakcanary-android:2.6 内存泄露检测工具
    Glide com.github.bumptech.glide:glide:4.11.0 google御用图片加载工具
    ZXing com.google.zxing:core:3.4.1 应用最广的条形码与二维码扫描框架
    RxAndroid io.reactivex.rxjava3:rxandroid:3.0.0 &io.reactivex.rxjava3:rxjava:3.0.9 使用可观测的序列来组成异步的、基于事件的程序的库
    AndroidUtilCode com.blankj:utilcode:1.30.0 一个包含众多实用工具类的库
    Dragger com.google.dagger:dagger-android:2.31 依赖注入框架
    展开全文
  • google服务框架最新版(google services framework)是一款对于手机来说非常重要的应用程序,有不少朋友会觉得它没用把它误删,但现在有很多的软件和游戏需要谷歌服务的支持,所以有需要的朋友可以到当易网下载使用!...

    google服务框架最新版(google services framework)是一款对于手机来说非常重要的应用程序,有不少朋友会觉得它没用把它误删,但现在有很多的软件和游戏需要谷歌服务的支持,所以有需要的朋友可以到当易网下载使用!

    谷歌服务框架手机版内容介绍

    googleservicesframework——谷歌服务框架这个可以删除,只不过是影响了netlocaltion的准确性。可以用re文件管理器进手机的system/app里面删除。

    fd16feca41d7c18e725d94e0ae7dad02.png

    谷歌服务框架最新版特色细节

    《谷歌服务框架 googleservicesframework》是谷歌安卓系统官方服务框架,用来作为谷歌软件的支持平台。

    例如谷歌应用商店就需要此服务框架的支持,很多国行或者改版rom的手机都删除了这个框架,导致部分谷歌app不可正常运行。

    有需要的玩家可以下载安装,安装后软件无任何界面。

    谷歌服务框架安装器亮点优势

    1、谷歌服务框架删了之后就不能同步邮箱和同步邮箱联系人。

    2、利用具有root权限的文件管理器将所下载的谷歌电子市场和谷歌服务框架移动到系统应用程序根目录内。

    3、具体路径为:/system/app,并且勾选两个安装包的所有权限进行安装。

    4、将下载的谷歌电子市场和谷歌服务框架放入sd卡。

    5、很多国行或者改版rom的手机都删除了这个框架,导致部分谷歌app不可正常运行。

    6、谷歌服务框架是谷歌安卓系统官方服务框架,用来作为谷歌软件的支持平台。

    企业文化

    gms全称为google mobile service,即谷歌移动服务。gms目前提供有搜索(search)、语音搜索(search by voice)、gmail邮件服务、联系人同步(contact sync)、日历同步(calendar sync)、gtalk聊天、谷歌地图(google maps)、谷歌街景(street view)、youtube在线视频、软件市场(android market)服务,在android4.0系统中还提供了google+社交应用服务。

    服务框架安装方法

    1、在保证获取了手机的root权限的前提下,首先安装googleservicesframework.apk

    2、googlecontactssyncadapter.apk和googlecalendarsyncadapter.apk可根据自己需要安装,不用联系人和日历同步则可以不装;

    3、按照使用需求安装google play应用商店;

    如果遇到安装后下载应用退出的情况,可以在安装google play之后不要运行,进入re文件浏览器,把手机内存data/app目录下的com.android.vending-1.apk(其实就是安装好的google play)复制到system/app目录下,然后重启手机。

    更新日志

    优化体验,增强稳定性

    包名:com.google.android.gsf

    MD5:ef3c4054dca00cdc959ce10aa5f8b21d

    展开全文
  • android日志框架Logger的详细使用(目前最新版2.1.1)

    万次阅读 多人点赞 2017-10-17 19:20:02
    logger目前的最新版本是2.1.1,网上也很多人使用1.15的版本,如果使用最新版,单独修改配置文件,是有报错的。因为,最新版在初始化这块和原来有了较大的改动。 主要是初始化、和控制Log打印这2方面。这里介绍...

    前言

    在开发过程中,log日志是每个人多会用上的。平时在开发大项目的时候,几乎每个类多需要加log,然而在发布之前,要求全部删除,真是累。因为系统log暂时没有统一管理的方法。还有就是,特别是在调试的时候,对于线程并发或者子线程的调试,还是加log调试比较精确,用debug工具调试经常和实际不符合。那么,如果使用系统log,调试完又得找出来删除,累++。

    作为程序猿,这种笨方法肯定是会鄙视的。对于这种需求,我们自己封装一个简单的工具包。当然这里介绍的是,github上很多人用log框架:logger

    相信很多人多用过,这里给还没有尝试过的人简单介绍下,使用也超级简单。

     

    logger作为调试框架,可以支持多种格式:

    • 线程的信息
    • 类、方法的信息
    • 格式化将 json、xml 输出
    • 支持字符串格式参数
    • 各种集合输出,list、map、array、set等,(只支持debug输出
    • 支持从日志跳转到源码
    • ......

    如下图(引用原作者):

     

    可以看出,和系统对比,它最大的亮点是优雅的输出log信息,当然同时提供很多其他信息,一目了然,更清晰!

    如果你每天被log折磨的生不如死,那么让logger来拯救你吧~

    作者:Orhan Obut

    github:https://github.com/orhanobut/logger

     

    目前,将近7.5k个star让他位列调试框架第二名,屈居facebook的stetho之后,8.5k个star。但这2个调试工具应用场景不用,所以简单的调试,logger是最佳选择了。这里简单介绍下stetho,它是一款提供在Chrome开发者工具上调试Android app的开源框架,可以在Chrome查看数据库,不用想以前那样把数据库导出,然后在用工具查看;配合网络框架可以直接打印查看网络请求的数据,而不需要一个一个添加打印出来,省去很多繁琐的事情。有兴趣的可以了解:

    作者:FaceBook

    官网地址: http://facebook.github.io/stetho/

    github https://github.com/facebook/stetho

     

     

    使用Logger

    使用框架,是比较简单的,如果可以看英文版,可以直接到https://github.com/orhanobut/logger了解。

    logger目前的最新版本是2.1.1,网上也很多人使用1.15的版本,如果使用最新版,单独修改配置文件,是有报错的。因为,最新版在初始化这块和原来有了较大的改动。

    主要是初始化、和控制Log打印这2方面。这里介绍2.11的版本使用,所以想升级的也可以往下看看哦。

     

    3步,只要3步,你就学会使用Logger,请:

    1.导入依赖

    compile 'com.orhanobut:logger:2.1.1'
    


    2.初始化

    Logger.addLogAdapter(new AndroidLogAdapter());
    

    :如果在Application中初始化,记得修改 AndroidManifest.xml 中 application 标签属性,添加 android:name=".MyApplication" ,不然不会打印。


    3.使用

    Logger.d("hello");
    

    如图:

     

    ok,恭喜你,你已经学会了,这样子就可以使用啦~真是so easy!

     

    当然,如果还有追求,继续往下看看它的其他功能。

     

    支持的数据类型

    普通类型

        public void testNormal(){
            Logger.d("DEBUG日志");
            Logger.i("INFO日志");
            Logger.e("ERROR日志");
        }

    Format类型

    public void testFormat(){
            Logger.d("hello %s, luck number is %d", "world", 5);
        }


    集合类型

    首先看看List:

    List list = new ArrayList();
    list.add("hello");
    list.add("world");
    Logger.d(list);

    使用该框架,可以直接支持打印,其他数据类型也一样。如果是使用系统Log打印的话,需要加toString变成string类型才可以

    Log.d(TAG, list.toString());

    那么就可以猜测,里面肯定已经帮我们实现好了toString()方法,看源码:

    首先是调用:

    @Override public void d(Object object) {
        log(DEBUG, null, Utils.toString(object));
      }

    将打印对象传给了工具类Utils.toString(),然后:

    public static String toString(Object object) {
        if (object == null) {
          return "null";
        }
        if (!object.getClass().isArray()) {
          return object.toString();
        }
        if (object instanceof boolean[]) {
          return Arrays.toString((boolean[]) object);
        }
        if (object instanceof byte[]) {
          return Arrays.toString((byte[]) object);
        }
        if (object instanceof char[]) {
          return Arrays.toString((char[]) object);
        }
        if (object instanceof short[]) {
          return Arrays.toString((short[]) object);
        }
        if (object instanceof int[]) {
          return Arrays.toString((int[]) object);
        }
        if (object instanceof long[]) {
          return Arrays.toString((long[]) object);
        }
        if (object instanceof float[]) {
          return Arrays.toString((float[]) object);
        }
        if (object instanceof double[]) {
          return Arrays.toString((double[]) object);
        }
        if (object instanceof Object[]) {
          return Arrays.deepToString((Object[]) object);
        }
        return "Couldn't find a correct type for the object";
      }

    这样就不需要我们自己调用toString(),直接可以打印了。

    其他的数据结构也是一样的,看图就可以了:

    public void testCollections(){
            /**
             * Map
             */
            Map map = new HashMap();
            map.put("map1","hello");
            map.put("map2","world");
            Logger.d(map);
    
            /**
             * Set
             */
            Set set = new HashSet();
            set.add("hello");
            set.add("world");
            Logger.d(set);
    
            /**
             * Array
             */
            String [] strs = {"hello", "world"};
            Logger.d(strs);
        }

     



    :打印集合的时候,特别是数组时,前面不要添加其他字符,如:Logger.d("数组集合"+strs);这样会把整体当做一个参数,导致判断错误,不能正常输出数组类型。其次是,作者提示,打印集合时,使用DEBUG等级。

     

    JSON数据

    public void testJson(){
            String jsonDate = "{\"id\":859,\"channelnumber\":681,\"bilingual\":0,\"name\":\"beIN Sports 2 English 600K H265\",\n" +
                    " \"language\":\"EN\",\n" +
                    " \"videotype\":\"MPEG2\",\"audiotype\":\"MPEP1\",\"callsign\":\"beIN Sports 2 English 600K H265\",\"country\":\"cn\"};";
    
            Logger.json(jsonDate);
            Log.d(TAG, jsonDate);
        }

    与系统Log的打印区别如图:


     

    XML数据

    public void testXml() {
            String xmlDate = "<province id=\"01\" name=\"北京\">  \n" +
                    "    <city id=\"0101\" name=\"北京\">  \n" +
                    "      <county id=\"010101\" name=\"北京\" weatherCode=\"101010100\"/>  \n" +
                    "      <county id=\"010102\" name=\"海淀\" weatherCode=\"101010200\"/>  \n" +
                    "      <county id=\"010103\" name=\"朝阳\" weatherCode=\"101010300\"/>  \n" +
                    "      <county id=\"010110\" name=\"石景山\" weatherCode=\"101011000\"/>  \n" +
                    "    </city>  \n" +
                    "  </province>  ";
            Logger.xml(xmlDate);
            Log.d(TAG, xmlDate);
        }

    如图:


     

    修改默认配置

    最新版修改配置,和旧版也是有不同,如下:

    FormatStrategy formatStrategy = PrettyFormatStrategy.newBuilder()
      .showThreadInfo(false)      //(可选)是否显示线程信息。 默认值为true
      .methodCount(2)               // (可选)要显示的方法行数。 默认2
      .methodOffset(7)               // (可选)设置调用堆栈的函数偏移值,0的话则从打印该Log的函数开始输出堆栈信息,默认是0
      .logStrategy(customLog)  //(可选)更改要打印的日志策略。 默认LogCat
      .tag("MyTAG")                  //(可选)每个日志的全局标记。 默认PRETTY_LOGGER(如上图)
      .build();
    Logger.addLogAdapter(new AndroidLogAdapter(formatStrategy));

    具体配置大家可以自行去实践下。一般默认就可以了,这里说下,修改全局的TAG,和局部的TAG。

    1.修改全局的TAG,在初始化的application中修改,如:

    FormatStrategy formatStrategy = PrettyFormatStrategy.newBuilder()
                    .tag("MyTAG")
                    .build();
    Logger.addLogAdapter(new AndroidLogAdapter(formatStrategy));

    2.修改局部的TAG,哪里打印就在哪里修改,只对当前打印有效,如:

    public void testNormal(){
            Logger.t("hello").d("DEBUG日志");
            Logger.i("INFO日志");
        }

     

    :如果尝试用局部的方法,在application初始化时修改。当然,这是有效果的,但只能用一次,其他打印还是会用全局的,可自行测试。

     

    控制打印开关

    这个功能是最喜欢的了,当我们发布软件,或者太多的log影响性能,那么就可以关闭logger打印,在application初始化的地方:

    Logger.addLogAdapter(new AndroidLogAdapter() {
      @Override public boolean isLoggable(int priority, String tag) {
        return BuildConfig.DEBUG;
      }
    });

    通过适配器控制打印,只要覆盖isLoggable()方法,返回BuildConfig.DEBUG即可。这样子,log就不再打印出来了。

    :返回值导入的包是:import com.orhanobut.logger.BuildConfig; 有时顺手导入:com.gotechcn.frameworks,那就没有效果。

     

    保存log到文件

    有时需要将log保存起来,再进一步分析,那么,logger框架支持将log日志保存在文件中,只需换一个适配器即可。

    Logger.addLogAdapter(new DiskLogAdapter());

    该适配器同样也可以重新配置默认的参数,但会有点不同,配置的是日期格式等。

    通过打印,找到保存的路径: /storage/emulated/0

    但手机里面就是没有这个文件夹,不知道什么原因,真机和模拟机多没有,知道可以留言噢,感谢!

     

    补充:

    对于log的保存,官网只有这些内容了。。。(难道是忘了?)

    评论中,提出要解决这个问题,于是,我再看了一下源码。。。

    于是,最后的最后:改源码!!!(貌似如果不改动,另存log还真实现不了)

    首先,要改源码,就不能自动依赖了,需要下载源码,手动导入...(鼓捣一下);

    其次,阅读源码,找到log保存的源码:在 CsvFormatStrategy 类中,找打如下代码:

    @NonNull public CsvFormatStrategy build() {
          if (date == null) {
            date = new Date();
          }
          if (dateFormat == null) {
            dateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss.SSS", Locale.UK);
          }
          if (logStrategy == null) {
            String diskPath = Environment.getExternalStorageDirectory().getAbsolutePath();
            String folder = diskPath + File.separatorChar + "logger";
    
            HandlerThread ht = new HandlerThread("AndroidFileLogger." + folder);
            ht.start();
            Handler handler = new DiskLogStrategy.WriteHandler(ht.getLooper(), folder, MAX_BYTES);
            logStrategy = new DiskLogStrategy(handler);
          }
          return new CsvFormatStrategy(this);
        }

    这里可以看到,这里有默认保存的路径,只要修改这里路径就可以了(之前log保存没有成功,是找不到路径,所以方向是改路径)。那接下里就是修改了:

    修改有2种:

    1.如果路径不需要上下文Content,直接在CsvFormatStrategy 类中修改,方便快捷;

    2.如果路径需要上下文Content, 目前CsvFormatStrategy 没有这个参数,那么在自己工程中,提供一个自定义的FormatStrategy;

    那么,这里选择第2种修改方式,代码如下:

            // 保存在包名路径下的(Android/data/包名/cache/log)       
            String folder  = getExternalCacheDir().getAbsolutePath() +  File.separator + "log";
            HandlerThread ht = new HandlerThread("AndroidFileLogger." + folder);
            ht.start();
            Handler handler = new DiskLogStrategy.WriteHandler(ht.getLooper(), folder, 500 * 1024);
            LogStrategy logStrategy = new DiskLogStrategy(handler);
    
            FormatStrategy formatStrategy = CsvFormatStrategy.newBuilder()
                    .logStrategy(logStrategy)
                    .tag("MyTAG")
                    .build();
            Logger.addLogAdapter(new DiskLogAdapter(formatStrategy));

    这咋一看,自定义一个FormatStrategy,不用修改源码呀。。。但是,有报错:

    那么这里就需要修改 内部类 WriteHandler的构造函数,添加public 修饰就可以了...

    最后,就可以验证了,终于找到了你要的log文件...

    保存log还挺有用,经常给测试人员测试的时候,保存一些偶现的bug...

     

    如果如果,你觉得这样改动起来很麻烦,而且还要手动导入项目,你觉得:太难了!

    那也是有办法的,前面自定义FormatStrategy时,是WriteHandler不能再外部使用,那么在外面复制一个出来就可以了,然后使用外面的WriteHandler。未验证,应该是可以的~~

     

     

    工作流程原理图

    logg框架的整体流程如图(作者原图):

     

    其他

    对Log信息的设置与过滤:

    Filter:编辑默认或者自定义的标签,过滤标签以外的信息;

    Disable:设置user soft wraps,即设置换行

    Setting:设置log头部的信息,比如时间、线程PID、包名、TAG等开关设置

     

     

    好了,对于Logger框架的介绍就到这里了。有时会更新,记得使用时看看GitHub升级了没有,同时在使用是否和以前兼容。对于一些其他的方法,可以直接看源码,具体是干什么用的。

    如果能帮你,可以顶顶支持下,感谢++

    展开全文
  • 安卓框架虚拟机VirtualXposed v0.17.1 清爽 支持安卓9.0系统VirtualXposed 是基于VirtualApp 和 epic 在非ROOT环境下运行Xposed模块的实现(支持5.0~9.0)。一直以来Xposed框架最大的入门难度就在于设备需要Root,...

    安卓框架虚拟机VirtualXposed v0.17.1 清爽版 支持安卓9.0系统

    VirtualXposed 是基于VirtualApp 和 epic 在非ROOT环境下运行Xposed模块的实现(支持5.0~9.0)。一直以来Xposed框架最大的入门难度就在于设备需要Root,然后还要Recovery,还有承担变砖的各种搞基风险,现在这一切都不用再担心了!感谢Xposed作者rov89,感谢VirtualApp作者asLody@github!目前来看VirtualXposed的稳定性已经相当出色了!

    大咖猫截图:

    2ac5930882bf1c29d8bde33efe36cba4.png

    修改说明:

    ·现在你可设置 VirtualXposed 为系统桌面。

    ·紧急修复 0.14.0 带来的问题。

    ·Xposed稳定性提升:修复某些设备上疯狂闪退的问题。

    ·初步支持 Android 9.0。

    ·修复 Android 8.0相关问题。

    ·修复支付宝某些页面打不开的问题。

    ·修复某些APP无法打开的问题。

    下载地址:

    展开全文
  • Android 最新所有框架

    千次阅读 2017-12-26 11:02:46
     会有意识的合并榜单里多款同类型框架,来弥补单一框架的某些缺陷,比如将同为网络请求框架的Volley和Okhttp封装到一起应对不同场面的需求;  会有意识的二次开发、修改源码来扩展榜单所提到的大
  • Android最新开源框架大全

    千次阅读 2018-07-26 10:25:05
    一句话介绍:Retrofit是一款类型安全的网络框架,基于HTTP协议,服务于Android和java语言 上榜理由:Retrofit以21.8k的stars量雄踞github中android子标题榜首,第一当之无愧。 官网地址 ...
  • Android--最新常用框架

    2020-08-05 10:34:12
    Android常用框架 2.图片下载框架 2.图片下载框架 glide和picasso的对比: 项目 加载一般图片 加载gif 图片质量细节 方法数 缓存 glide OK OK且显示动图 有锯齿 2678 根据...
  • virtualxposed更新了0.18.0版本全面支持安卓10,vxp支持免root使用框架安装模块打开 VirtualXposed,在里面安装要使用的APP,以及相应的Xposed模块即可。注意:所有的工作(安装Xposed模块,安装APP)必须在 Virtual...
  • 安卓11gms安装器2021最新版是谷歌gms安装器华为专版APP,完美适配华为p40等旗舰机型,一键免root安装华为谷歌框架套件、华为框架等功能,兼容最新安卓10/安卓11机型,华为手机必备哦!安卓11gms安装器2021最新版介绍...
  • VirtualXposed可帮助你在手机没有Root的情况下使用Xposed框架。0.18.2为最新稳定,支撑Android 10
  • Android框架揭秘(完整)

    热门讨论 2016-03-30 10:51:15
    Android框架揭秘 金泰延 宋亨周 朴知勋 李白 林起永 著 武传海译
  • 项目是网狐旗舰架构,默认安卓编译版本是Android-19, 如果运行在Android9.0及以上的设备就会提示“此应用专为旧版本打造的提示”,所以需要将工程里面的AndroidManifest.xml文件中编译目标版本升级。为了之后方便...
  • RequestManager with(android.app.Activity) RequestManager with(android.app.Fragment) RequestManager with(android.support.v4.app.Fragment) RequestManager with(android.support.v4.app.FragmentActivity)
  • Android 快速开发框架:推荐10框架

    万次阅读 多人点赞 2017-02-09 15:45:30
    Afinal是一个Android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载...
  • <!doctype html> <... <head>...meta charset="UTF-8">...meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />...
  • 最新Android框架排行榜

    千次阅读 2017-11-10 16:35:36
    单一框架:仅提供路由、网络层、UI层、通信层或其他单一功能的框架 混合开发框架:提供开发hybrid app、h5与webview结合能力、web app能力的框架 企业级开源项目:可以独立运行的app,有极高的学习价值、思路...
  • 最新android APP框架介绍

    万次阅读 2016-05-23 23:57:51
    最近公司的另一个项目又要立项了,作为公司的唯一安卓工程师任务来了(新来的移动端的老大说项目还是主要你负责,我就负责帮你们安排下进度),听了这话我是伤心的在这公司不管是几个还是1个安卓开发都是我来搭建,...
  • android 优秀框架整理

    万次阅读 多人点赞 2018-01-11 11:28:29
    程序员界有个神奇的网站,那就是github,这个网站集合了一大批优秀的开源框架...一句话介绍:Retrofit是一款类型安全的网络框架,基于HTTP协议,服务于Android和java语言 上榜理由:Retrofit以21.8k的stars量雄踞gith
  • Android常用框架

    万次阅读 多人点赞 2019-05-06 17:10:14
    1.缓存框架     1.1DiskLruCache:Java实现基于LRU的磁盘缓存,DiskLruCache不是google官方所写,但是得到了官方推荐,DiskLruCache没有编写到SDK中去,如需使用可直接copy这个类到项目中去。...
  • XRefreshView下拉上拉刷新框架_最新版

    热门讨论 2015-06-29 02:29:05
    XRefreshView托管于github,地址https://github.com/huxq17/XRefreshView,欢迎fork,最新代码从github下载
  • Android框架整合

    千次阅读 2018-04-14 11:57:19
    Android框架整合1.Retrofit一句话介绍:Retrofit是一款类型安全的网络框架,基于HTTP协议,服务于Android和java语言上榜理由:Retrofit以21.8k的stars量雄踞github中android子标题榜首,第一当之无愧。官网地址 ...
  • Android系统框架

    千次阅读 2013-10-17 10:47:14
    Android系统是基于Linux和Java技术,它在底层采用Linux内核和本地库,在上层提供Java支持框架和开发接口。它借助于 Linux强大的稳定性、开放性和可移植性,Java语言开发的广泛性、简单性和可移植性,一经推出就受动...
  • Android开发最新所有框架总结

    万次阅读 2018-01-19 21:29:43
    一句话介绍:Retrofit是一款类型安全的网络框架,基于HTTP协议,服务于Android和java语言 上榜理由:Retrofit以21.8k的stars量雄踞github中android子标题榜首,第一当之无愧。 官网地址 ...
  • 安卓框架

    千次阅读 2017-06-26 15:55:45
     框架:提供一定能力的小段程序 一....单一框架:仅提供路由、网络层、UI层、通信层或其他单一功能的框架 混合开发框架:提供开发hybrid app、h5与webview结合能力、web app能力的框

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 48,620
精华内容 19,448
关键字:

安卓10框架最新版