Android框架与架构
Android唐浮
准备转鸿蒙了
展开
-
换个日志打印类吧
换个日志打印类吧日常观摩别人的代码,发现了一个比较好的日志类,它可以更快捷的定位到日志的位置和线程信息。地址:https://github.com/orhanobut/logger使用步骤参照官方的文档,这里列出一个日志打印的工具类,方便使用import com.orhanobut.logger.Loggerobject PrettyLog { private val TAG = "PrettyLog" /** * 是否开启 Logger */原创 2021-04-10 15:59:16 · 124 阅读 · 0 评论 -
Android 选择文件返回路径怎么就这么难?
Android 选择文件返回路径怎么就这么难?这个问题纠结了我很长时间,终于有了比较好的解决方案。目前已知适配所有的机型,有问题就留言吧。正确姿势来一遍1. 打开系统自带的文件浏览器并限制类型public void OpenFile(View view) { // 指定类型 String[] mimeTypes = {"*/*"}; Intent intent = new Intent(Intent.ACTION_GET_CONTENT);原创 2021-03-31 23:37:21 · 1945 阅读 · 1 评论 -
EventBus 遇到的问题汇总
EventBus 粘性事件接收不到的问题一、起因由于EventBus发送的是对象,我们经常构建一个共用的对象,在共用对象中添加tag,用于方便在接收中区分作用。例如用EventBusHelper工具类发送EventBusMessage对象。二、遇到的问题在发送粘性事件时,在A场景发送了一次,然后还没有接收,然后在B场景又发送了一次,这时B发送的粘性事件可以收到,而A场景的粘性事件被替换掉了。这时因为在EventBus的源码中,粘性事件使用Map集合存储,key为 object.getClass(原创 2021-03-01 22:25:54 · 1228 阅读 · 0 评论 -
今日头条适配遇到的问题(持续更新...)
今日头条适配遇到的问题(持续更新…)问题 1出现场景:横屏应用,在按home按键或者锁屏,当软件进入后台时,保持手机的竖屏,此时再产生新的Fragment更新UI时,有几率出现适配错误。原因分析:在锁屏或进入后台时,虽然应用固定为横屏,但手机在竖屏状态下,会让软件获取到竖屏状态,以至于新UI产生时,产生宽和高相反的适配效果。解决办法:Issue上的解决办法:https://github.com/JessYanCoding/AndroidAutoSize/issues/248我的解决办法:在原创 2021-01-29 20:46:42 · 1238 阅读 · 0 评论 -
今日头条适配方案造成Dialog显示异常的解决方法
今日头条适配方案造成Dialog显示异常的解决方法产生问题的原因由于该适配方案是更改的全局的density, 对整个项目生效,所以在使用第三方View或者系统的的view时,如果和项目中的设计尺寸差别很大,就会出现很严重的UI问题。解决办法方法一: 尽量所有的视图都使用自定义的视图。方法二: 更改原生Dialog的大小。代码示例一: 根据屏幕宽度, 更改原生Dialog的比例 /** * 显示取消/确认的dialog */ public void sh原创 2021-01-13 10:20:28 · 1645 阅读 · 0 评论 -
Android 加载长图
Android 加载长图使用库implementation 'com.davemorrissey.labs:subsampling-scale-image-view:3.5.0'注意:不要放在ScrollView中,不然滑动可能会冲突。那么加载长图时,如何按宽度填充呢?<com.davemorrissey.labs.subscaleview.SubsamplingScale...原创 2020-02-21 23:58:19 · 695 阅读 · 2 评论 -
平板适配方案
平板适配方案非原创,作为记录使用。由于是新项目开发,最终使用的是今日头条适配方案,侵入低,效果好。 by talon常用的适配方案一、宽高限定符适配含义在res文件夹中,创建很多values-的文件夹,计算出对应的dimen的值,类似下面目录├── src/main│ ├── res│ ├── ├──values│ ├── ├──values-800x480│...原创 2020-02-10 23:17:39 · 2597 阅读 · 0 评论 -
MVP与MVP契约者与MVP契约者的封装
MVP与MVP契约者与MVP契约者的封装MVP架构是为了让各个模块之间降低耦合,方便维护,也可以让代码更简洁,让代码简洁的意思是让代码更清晰,并不是让代码更少;MVP契约者是为了进一步的低耦合、接口统一管理。 本文分为三部分:MVP入门、MVP契约者、MVP契约者封装,适合初学者,带你一步步打造实用的MVP架构。图解MVP以前写JSP的时候,经常使用MVP架构,写着很爽,但是后来写And...原创 2019-10-27 23:14:34 · 335 阅读 · 3 评论 -
Android GSON使用
Android GSON使用使用场景及作用:Gson 是用来解析和生成Json,在实际项目中广泛使用。注意定义定对像的属性值必须和json中的保持一致,不然会解析失败。当然这就要求后台命名规范。集成dependencies { implementation 'com.google.code.gson:gson:2.8.6'}一、对象转Jsonnew Gson().toJson...原创 2019-10-27 20:22:54 · 9670 阅读 · 0 评论 -
GreenDao封装使用
GreenDao封装使用GreenDAO是一个开源的Android ORM(“对象/关系映射”),通过ORM(称为“对象/关系映射”),简单来说就是操作对象达到更改数据库的效果,在我们数据库开发过程中节省了开发时间!为什么使用GreenDao历来的工作中用GreenDao很多,在官方的对比截图中也觉得它强于其它框架。高性能易于使用的强大API,涵盖关系和连接;最小的内存消耗;小库大...原创 2019-10-22 22:43:04 · 650 阅读 · 0 评论 -
Android图片加载框架之Google推荐的图片加载库Glide
参考链接:http://jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0327/2650.htmlgithub链接:https://github.com/bumptech/glide上面链接中,已经讲的非常好,此篇博客就是按照这个链接的教程重新梳理一遍,并添加自己需要的拓展功能,持续更新...欢迎留言。Gilde的强大之处第4点已经说明...原创 2016-04-16 14:35:57 · 602 阅读 · 0 评论 -
ImageLoader框架+gridView 加载网络图片与下载
在处理加载图片的时候经常遇见 OOM的错误,这个demo引用了ImageLoader框架,解决了listView滑动时的卡顿,重用机制得到了更好的体验,增加了下载网络图片的功能,下载后图片的目录在 Download 目录下,代码中没有创建Download 文件夹,手机根目录没有此文件夹的请注意。特意整理了demo,简单易上手,希望对大家有用。 jar包在libs目录下 。我是用...原创 2014-12-04 14:45:19 · 2913 阅读 · 0 评论 -
自定义view动态加载控件实现动态换行
如下效果:实现:1,xml文件<LinearLayout android:id="@+id/ll" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizonta...原创 2018-04-08 23:09:35 · 701 阅读 · 2 评论 -
Android 强大的开源图表
1,MPAndroidChart2,hellochart原创 2018-05-14 22:19:02 · 1005 阅读 · 0 评论 -
Glide加载Bitmap
ByteArrayOutputStream baos = new ByteArrayOutputStream();bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);byte[] bytes=baos.toByteArray();Glide.with(MainActivity.this).load(bytes).into(imageV...原创 2018-04-13 13:06:52 · 11807 阅读 · 1 评论 -
ARouter使用
ARouter使用简介ARouter是一款阿里的路由框架,通过注解映射页面跳转关系,在组件化的项目架构中有着非常强大的解耦能力。官方地址:https://github.com/alibaba/ARouter使用步骤###一、在app的build.gradle中添加代码:android { defaultConfig { ... javaCompil...原创 2019-07-01 22:30:41 · 252 阅读 · 0 评论 -
RxPermission封装使用
RxPermission封装使用一、配置在app的根目录的build.gradle添加:api 'com.github.tbruyelle:rxpermissions:0.10.2'在项目的根目录的build.gradle添加allprojects { repositories { google() jcenter() m...原创 2019-07-21 23:50:21 · 1525 阅读 · 0 评论 -
Facebook分享申请审核流程
http://bbs.mob.com/thread-19148-1-1.html转载 2016-06-21 00:10:15 · 6543 阅读 · 0 评论 -
LeakCanary:检测所有的内存泄漏
原文: LeakCanary: Detect all memory leaks! http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0509/2854.html1234ava.lang.OutOfMemoryError a转载 2016-06-21 00:08:28 · 615 阅读 · 0 评论 -
仿微信朋友圈demo
https://github.com/Naoki2015/CircleDemo转载 2016-06-21 00:06:44 · 8378 阅读 · 1 评论 -
Android中如何修改系统时间(应用程序获得系统权限)
原文链接http://blog.csdn.net/liujian885/article/details/5404834自己体会:我用的文中第二种方法,“在Android源码目录中的位置是"build/target/product/security"” 这一段,签名的话,去安卓源码中下载,推荐一个好用的在线看安卓源码的,直接在相应目录下下载:platform.x509.pem plat...转载 2016-06-03 01:01:46 · 3278 阅读 · 0 评论 -
Mac 系统下反编译apk
原文链接:http://my.oschina.net/u/1023800/blog/156059?fromerr=B7pV1UMJ最近学习安卓开发的时候,很想看看别人的代码是怎么写的,于是google了下,结果真的发现了这两个邪恶的货~dex2jar和JD-GUI(dex2jar下载 / JD-GUI下载)ok,开始我们的邪恶之旅,首先下载dex2jar,解压出来,我是放到转载 2016-06-03 01:06:18 · 298 阅读 · 0 评论 -
你应该知道的那些Android小经验
原网址:http://www.androidchina.net/4724.html===========================================================================Android久了,就会踩很多坑,被坑的多了就有经验了,闲暇之余整理了部分,现挑选一些重要或者偏门的“小”经验做个记录。查看SQLite日志转载 2016-04-16 12:38:22 · 618 阅读 · 0 评论 -
senseTime,FaceU人脸识别技术
没别的,纪录一下faceU用的一个人脸识别的第三方。很强大,所以记录下来。引用一段他们的介绍。SenseTime 在人脸识别、物体识别、图像搜索、图像处理、 智能监控等多个领域均有原创性技术和专利积累。SenseTime 提供基于深度学习打造的新一代计算机视觉理解和人工智能引擎,以离线 SDK 和在线云 API 的产品形式,让广大开发者和企业级用户可以快速集成最好的计算机视觉技术...原创 2016-04-05 10:36:46 · 11271 阅读 · 3 评论 -
android AndFix热补丁框架(不发版本,修复线上bug)
有空了解下。===================================================================AndFix介绍AndFix,全称是Android hot-fix。是阿里开源的一个热补丁框架,允许APP在不重新发布版本的情况下修复线上的bug。支持Android 2.3 到 6.0,并且支持arm 与 X86系统架构的设备。完美支持转载 2016-03-19 16:52:26 · 767 阅读 · 0 评论 -
android轻量级开源缓存框架——ASimpleCache(ACache)源码分析
好东西,先转载,一来给大家,二来自己消化。==========================================转载请注明出处:http://blog.csdn.net/zhoubin1992/article/details/46379055ASimpleCache框架源码链接https://github.com/yangfuhai/ASimpleCa转载 2016-03-14 10:51:54 · 369 阅读 · 0 评论 -
android强迫症头像BadgeView
先看图片吧,需要用到的自己下载Demo,不需要的点右上角。大多数的红点就是这两种,BadgeView是一个类文件,没有打成jar包,方便各位拓展。点我下载Demo第一种效果与第二种效果。先复制 BadgeView类到你的包下,然后在需要使用的地方 new 出来,并设置相关属性。 BadgeView maintabbadgeView = new...原创 2015-08-04 14:36:29 · 606 阅读 · 0 评论 -
Android4.4中拒绝发送Intent.ACTION_MEDIA_MOUNTED扫描SD卡的广播
转载地址:http://blog.csdn.net/sgz_china/article/details/24657709通常在我们的项目中,可能会遇到写本地文件,最常用的就是图片文件,在这之后需要通知系统重新扫描SD卡,在Android4.4之前也就是以发送一个Action为“Intent.ACTION_MEDIA_MOUNTED”的广播通知执行扫描。如下:[java]转载 2014-12-08 15:10:38 · 912 阅读 · 0 评论 -
旋转屏幕导致Activity重建问题的解决办法
Android开发文档上专门有一小节解释这个问题。简单来说,Activity是负责与用户交互的最主要机制,任何“设置”(Configuration)的改变都可能对Activity的界面造成影响,这时系统会销毁并重建Activity以便反映新的Configuration。“屏幕方向”(orientation)是一个Configuration,通过查看Configuration类的javado转载 2016-06-13 09:58:40 · 1504 阅读 · 0 评论 -
EventBus 入门使用
EventBus 入门使用一、EventBus 简介EventBus是一种用于Android的事件发布-订阅总线,由GreenRobot开发,Gihub地址是:EventBus。它简化了应用程序内各个组件之间进行通信的复杂度,尤其是碎片之间进行通信的问题,可以避免由于使用广播通信而带来的诸多不便。1.1 三个重要角色Event:事件,它可以是任意类型,EventBus会根据事件类型进行全...原创 2019-07-21 23:51:22 · 216 阅读 · 0 评论 -
LeakCanary 中文使用说明
LeakCanaryAndroid 和 Java 内存泄露检测。“A small leak will sink a great ship.” - Benjamin Franklin千里之堤, 毁于蚁穴。 -- 《韩非子·喻老》demo一个非常简单的 LeakCanary demo: https://github.com转载 2016-06-21 00:36:38 · 407 阅读 · 0 评论