- 博客(64)
- 资源 (11)
- 收藏
- 关注
原创 android可展开收起的textview
废话少说,先上效果。文字可自由配置,字体颜色可定义,可定义首次展示状态等等。集成简单,高度可定制化。1.整个封装在ExpandableTextView中。源码会在文末贴出链接2.配置attr.xml.如下图3.布局中使用4.代码中使用上述所有代码,均在源码中 ,点击下载https://download.csdn.net/d...
2018-06-07 14:58:39 4488 4
原创 Android-studio生成.so库
前奏:网上大多数资料,用的都是android.useDeprecatedNdk=true这种方法。这是gradle3.0以前生成方式,gradle3.0以后会报错。报错的关键信息是:Error: Flag android.useDeprecatedNdk is no longer supported and will be removed in the next version of...
2018-06-02 17:18:02 3189 1
原创 React-Native横向浏览相册(带大图浏览)
1.废话少说,先上效果。2.效果实现思路横向的listView+viewPager(android很好实现,react-native也差不多)3.贴源码用法:大图浏览的控件代码:import React, {Component} from 'react';import { BackAndroid,
2018-01-04 10:38:48 2468
原创 React-Native实现热门标签功能
废话少说,先上效果图Android原生有很多,react-native写的,貌似没有。贴代码:import React, {Component} from 'react';import { StyleSheet, Text, View, TouchableHighlight, Dimensions,} from 're
2018-01-03 15:12:44 1343
原创 Unable to execute operation dispatchViewManagerCommand on view with tag,since the view does not exit
React-Native 先打开一次自定义软键盘,然后取消软键盘,再次弹出,崩溃。(同一套代码,ios无问题,Android必现崩溃) 报错日志如下:E/unknown:React: Exception in native call com.facebook.re
2018-01-02 11:58:10 2024
原创 禅道——环境搭建
禅道Bug管理工具环境搭建下载地址:http://sourceforge.net/projects/zentao/files/8.2/ZenTaoPMS.8.2.stable.exe/download1、解压ZenTaoPMS.8.1.3到根目录,比如“C:\ xampp”、“D:\ xampp 2、进入xampp,以管理员身份点击“启动禅道”
2017-06-13 10:16:44 7231
原创 进程保活-降龙十四掌
1.开启一个像素的activity2.使用AIDL进行双进程守护3.将service变成前台服务,进行进程提权4.与其他App相互唤醒5.使用JobSchedler调度机制6.粘性捆绑7.获取通知栏使用权8.destroy方法中重启服务9.监听常用的高频广播10.native守护(例:使用MarsDaemon第三方库)11.厂商白名单12.系统闹钟定时唤...
2017-04-19 10:18:17 235
原创 多层Fragment嵌套出现重影问题_原理解析_解决方法(Winter原创,转载请注明出处)
多层Fragment嵌套出现重影问题_原理解析_解决方法(Winter原创,转载请注明出处)1解决bug的思想://step1:当bug被发现(排除极低偶然性,单次性,开发工具导致)//step2:根据经验判断bug的重现场景,多次测试,直到精准的定位bug//step3:根据重现场景找到对应的代码//step4:分析区域代码是否会影响到其他功能
2016-05-24 17:15:01 1547
原创 java的四种引用
强引用:任何时候都不会被回收。jvm即使抛出Out Of Memory异常也不会回收强引用对象。弱引用:当垃圾回收器发现他的时候,就会回收它。但是垃圾回收器是个优先级很低的线程,所以触发GC的时候,他未必被回收。软引用:只有当内存不足时,才会回收它。虚引用:虚,顾名思义,指的是形同虚设。相当于没有引用,任何时候都有可能会回收...
2020-06-03 11:34:21 257 1
原创 购物单问题-带详细注解
题目描述王强今天很开心,公司发给N元的年终奖。王强决定把年终奖用于购物,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:主件 附件电脑 打印机,扫描仪书柜 图书书桌 台灯,文具工作椅 无如果要买归类为附件的物品,必须先买该附件所属的主件。每个主件可以有 0 个、 1 个或 2 个附件。附件不再有从属于自己的附件。王强想买的东西很多,为了不超出预算,他把每件物品规定了一个重要度,分为 5 等:用整数 1 ~ 5 表示,第 5 等最重要。他还从因特网上查.
2020-05-09 12:27:24 945
原创 内存泄漏专题
参考:https://android.jlelse.eu/9-ways-to-avoid-memory-leaks-in-android-b6d81648e35e转存失败重新上传取消I have been an android developer for quite some time now. And I realised that most of that time, I tend t...
2020-04-27 17:24:33 263
原创 一张大图引起的OOM
通过堆栈找到具体的类,定位到在项目drawble目录下,放着一张@所有人刚刚发现了一个粗心引起的OOM.一张尺寸的默认图放到了drawble/目录下,当在大屏手机上,在xx目录下没有发现对应的图片,就会将drawble目录下的进行比例放大,最后导致了如图所示的OOM。所以应对方法1.找UI切几套图放不同目录适配2.切一套高质量的放在xxx目录(同上原理,一倍图目录...
2020-04-27 11:10:04 347
原创 android-studio冷知识
1.想复制Android studio 气泡提示上的文字,你应该这样做在Windows上:尝试,将鼠标悬停在黄色弹出文本上 Alt +鼠标左键 现在,“黄色文本”应该在剪贴板上,可以粘贴了...
2020-04-22 11:41:02 157
原创 记一次聚拢Android线程实操
背景公司app线上崩溃70%以上为OOM,创建线程时报出。原因有2,第一,线程创建太多了,超出了系统限制线程可以通过as cpu中 threads试图进行分析,也可以自己打印出来上报到日志系统,在每次崩溃之后,或者每隔多久收集一次。进行排序计数,找出数量最多,占着茅坑不拉屎的线程名字。在as中安装JD-IntelliJ is a plug-in for the Intelli...
2020-04-17 11:20:51 190
原创 支援公司flutter项目-采坑记录
1.老卡在compileflutterBuildDebugArm上先将子项目中的flutter项目单独跑,首先flutter packages get发现报错然后按提示升级flutterflutter upgrade2.提示flutter_sdk位置找不到,请定义local.properties在项目的.android/下增加local.propertie...
2020-04-12 15:47:31 238
原创 Android Studio 3.6中文乱码问题
1.找到C:\Program Files\Android\Android Studio\bin\目录(即studio的安装目录)下的studio64.exe.vmoptions文件2.有一个长这样的文件3.在末尾添加-Dfile.encoding=UTF-8,如图4.重启studio5.问题解决...
2020-04-09 14:49:17 628
原创 Android组件安全
一.介绍篇1.Activity(1)访问,串谋攻击正如Android开发文档中所说的,Android系统组件在制定Intent过滤器(intent-filter)后,默认是可以被外部程序访问的。这就很意味着很容易被其他程序进行串谋攻击,如何防止Activity被外部使用?Android所有组件声明时可以通过指定android:exported属性值为false,来设置组件不能被外部...
2019-08-21 10:56:25 1191
原创 Android反编译
1.工具有很多反编译工具, 我们平时最常用的是dex2jar+jd-gui和ApkTool贴上工具下载链接https://github.com/pxb1988/dex2jar dex2jar下载http://jd.benow.ca/ jd-gui下载https://github.com/iBotPeaches/Apktool ApkTool下载2.用法...
2019-08-16 16:02:11 157
原创 迁移到AndroidX-你遇到的和即将遇到的,这里都有
一. 第一次迁移1.背景:AndroidX 会将原始支持库 API 软件包映射到androidx命名空间。只有软件包和 Maven 工件名称发生了变化;类、方法和字段名称没有改变。2.如何迁移这里推荐借助 Android Studio 3.2 及更高版本,您可以通过从菜单栏中依次选择Refactor > Migrate to AndroidX,快速迁移现有项目以使用 ...
2019-07-26 11:07:42 11057 1
原创 windows上搭建flutter开发环境
1.下载了一个flutter-go-master项目,解压,用android studio选择./Android目录进行编译2.报错ERROR: Flutter SDK not found. Define location with flutter.sdk in the local.properties file.Open File3.下载最新版本sdk 这里选择的是...
2019-07-17 10:11:18 705
原创 Error:Failed to open zip file. Gradle's dependency cache may be corrupt (this sometimes occurs after
Error:Failed to open zip file. Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)Re-download dependencies and sync project (requires network)Re-down...
2019-07-09 14:58:14 5019 2
原创 java.io.IOException: No such file or directory at proguard.io.DirectoryPump.pumpDataEntries
混淆开启后,打包报错。No such file or directory1.请检查写在build.gradle中的proguard.pro文件是否存在2.请检查proguard.pro文件中的对应的libs是否在对应的文件夹中存在保障上两项无误,问题可解决...
2019-07-02 11:50:21 1474
原创 混淆问题及总结
最近项目曝出代码安全的问题,然后得知项目没有做混淆。整理思路,开干。一 混淆的介绍:官网是这么解释的Java 是一种跨平台的、解释型语言,Java 源代码编译成中间”字节码”存储于 class 文件中。由于跨平台的需要,Java 字节码中包括了很多源代码信息,如变量名、方法名,并且通过这些名称来访问变量和方法,这些符号带有许多语义信息,很容易被反编译成 Java 源代码。为了...
2019-06-20 20:03:21 4239
原创 WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows R
问题描述:在项目使用360加固的时候,运行命令java -jar D:\work_space\xxx\info360\jiagu.jar -login xxxUserName xxxPassWord发现报错,意思是无法在根节点 Software\JavaSoft\Prefs 创建命令,实际上就是当前不是管理员权限在运行,需要管理员权限运行。首次尝试:看有朋友推荐说按...
2019-05-24 10:03:45 15925
原创 DexException: Too many classes in --main-dex-list, main dex capacity exceeded
main_dex 撑爆问题这是一个众所周知的问题,很难在不久的将来得到修复。问题是 Dalvik 只支持65535(2 ^ 16 - 1)个类。一旦所有设备都使用原生ART,它就不再是问题了。其实是Dalvik的bug方案分析:1.将app/gradle中minSdkVersion改为21。(这个是趋势,但是不适用所有企业,有的企业为了更宽广的用户面,会要求兼容到4.x)(p...
2019-05-14 14:42:26 1479
原创 关于rx.exceptions.MissingBackpressureException背压
cash长什么样:rx.exceptions.MissingBackpressureExceptionat rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber.onNext(OperatorObserveOn.java:130)at rx.internal.operators.OperatorSubscribeOn$1...
2019-05-10 11:56:06 1693
原创 oppo push && vivo push遇到的问题记录
OPPO推送SDK问题目前支持ColorOS3.1及以上的系统。 目前只支持通知栏消息,透传消息暂不支持。 不支持自定义图标推送。 不支持别名和标签推送。VIVO推送SDK问题目前只支持通知栏消息,透传消息暂不支持。 不支持自定义图标推送。 目前支持单推、群推和全推。标签推暂不支持。 用户可以收到的单推数量不受限制,群推消息只能收到5条。 目前支持的机型和系统:...
2019-05-08 15:58:13 4763 1
原创 "" is not translated in "zh" (Chinese) less
(ps:欢迎转发点赞建议和交流!)一.issue截图:二.问题描述:会有这么一种情况,提示 "" is not translated in "zh" (Chinese) less 三.导致结果:1.当然,打包不会报错。2.运行到实际项目中,切换语言,也不会报错。四.风险点:无论切换到何种环境,系统会默认显示当前我们定义字符串值。1.可能导致部...
2019-05-08 11:54:29 2570 3
原创 git clone失败,提示Authentication failed
既然提示身份验证失败。1.首先检查user name 和 user email ,输入git config --list查看,如果不对就重新配置git config --global user.name [username] 如:git config --global user.name huangddgit config --global user.email [email] ...
2019-05-06 20:22:36 14859 1
原创 com.facebook.react.devsupport.JSException: Could not get BatchedBridge, make sure your bundle is pac
来了新同事,运行项目报这个错。不用紧张,不是什么大问题,没接触过rn项目不知道怎么回事很正常~这个错的含义就是,桐乡react-native的桥,找不到。意思就是连接不到rn代码两种场景:1.如果是正式包,就是bundle包没有打,rn的代码是需要打成bundle包,再加载进原生的,类似我们加载外部数据库,防盗asset目录这样子。2.如果是debug包,就是没开启...
2019-04-11 11:38:23 1551 1
原创 插件化系列一:简述插件化原理
今天我们讲讲Android中的插件化,插件化,指的就是加载本地不存在的外部可执行文件。大的方向,首先分为两种1.动态加载so库(其实可以放在外部存储,我们常用的是放在内部存储)2.classloader动态加载外部可执行文件,如dex,jar,apk关于动态加载,细分为三种:第一,简单的动态加载;这种不适用插件的activity。使用插件的fragment,或者只是用de...
2019-04-02 09:15:14 578
原创 性能优化之卡顿分析
顾名思义,何谓卡顿?原理:快速翻阅书籍的频率是12fps, 这明显感觉是不够顺滑。 24fps是电影界面切换的频率,24fps使得人眼感知的是连续线性的运动,这其实是归功于运动模糊的效果。24fps是电影胶圈通常使用的帧率,因为这个帧率已经足够支撑大部分电影画面需要表达的内容,同时能够最大的减少费用支出。但是低于30fps是无法顺畅表现绚丽的画面内容的,此时就需要用到60fps来达到想要的...
2019-03-18 16:49:42 596
原创 RecyclerView 与 listView 比较
首先说说RecyclerView 的机制,layoutmanager主要负责:布局子视图、滚动子视图在滚动过程中根据子视图在布局中所处的位置,决定何时添加子视图和删除子视图。并从Recycle 中获取已经绑定数据的 Item 显示,并将不再需要的Item 丢给Recycler 回收,Recycler 既提供新的,也回收旧的(强大就强大在View的循环回收利用);Adapter 负责生成新Item ...
2019-03-08 16:53:29 869
原创 Android API Level对应的sdk版本
objects这个类在4.4出现,有as自动生成的equals和hashCode方法Objects.equals(name, that.name);Objects.hash(id, name);
2019-03-08 16:35:43 248
原创 java中的集合(一)
先上图,大概的继承结构。知识点1:List、Set、Map是这个集合体系中最主要的三个接口。 其中List和Set继承自Collection接口。 Set不允许元素重复。HashSet和TreeSet是两个主要的实现类。 List有序且允许元素重复。ArrayList、LinkedList和Vector是三个主要的实现类。 Map也属于集合系...
2019-03-08 15:48:49 457
原创 treeSet去重排序;Cannot castcom.example.administrator.collectiondemo.PersonBean to Comparable.
treeset是set的子类,不可以存储重复元素,也有序。所以可以用来排序。值得注意的是,当我们像这样给对象排序的时候,需要实现Comparable接口,复写compareTo方法。这也很好理解,不然人家根据什么规则来排序呢?上述两种升序,反过来是降序。有多个类,要用到同样的排序规则,建议封装一个通用comparetor即可。...
2019-03-08 15:31:31 636
原创 七牛Android-sdk方法new UploadManager().put方法中的key参数
图中第二个参数key, 可以不传,不传的话,七牛将根据自己的规则给上传的文件命名,返回的参数中“hash”值就是文件名字传的话,将以key值命名,返回的参数中“key”值就是文件名字...
2019-02-15 16:17:56 1947 2
解决主dex撑爆的main_dex_gradle.rar
2019-05-14
解决duplicate_file的自定义脚本react_gradle
2018-11-08
GreenDaoDemo_v3.2.2_Winter
2018-06-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人