- 博客(22)
- 收藏
- 关注
原创 时间,数字,货币国际化展示方案
全世界各个国家的时间,或数字的展示习惯是不同的比如:同样是2022年12月1日在美国他们喜欢把年放前面,也就是:12月1日2022年法国喜欢把日放前面:1日12月2022年如果在法国地区展示时间跟国内一样的顺序,法国人就会很不舒服,就像咱们现在看法国的时间顺序一样,能看懂,但是不得劲儿。所以有全球化项目的需求时,时间的展示规则就很重要。但是如果我们自己去做这种适配,不同地区不同国家,甚至一个app内不同的场景都自己写规则那显然是不现实的。好在前人种树,后人乘凉。
2022-12-26 11:46:21 915
原创 kotlin 好用的功能技巧和踩到的坑
前言,本文章并不是教学向的文章,本文意在总结和分享在实际使用kotlin进行开发时踩到的坑和好用的特性的分享,需要具备kotlin基础知识后在来阅读,如果你想找一篇教学类的文章,那可能中文官网更适合你。让人关注的特性官网最大宣传点有四个:*安全空检查*互操作Java,kotlin互相调用可以绕过kotin的空检查,在kotlin文件获取java对象时简洁方便的使用技巧值得注意的特性和功能工具友好 as的支持中文官网英文官网一,空检查,空判断简单来说就是:声明
2020-06-04 19:01:14 1437
原创 (GOF23设计模式)一,代码设计的基本原则
类之间的关系根据类与类之间的耦合度从弱到强排列,UML 中的类图有以下几种关系:依赖关系、关联关系、聚合关系、组合关系、泛化关系和实现关系。其中泛化和实现的耦合度相等,它们是最强的。依赖关系某个类的方法通过局部变量、方法的参数或者对静态方法的调用来访问另一个类(被依赖类)中的某些方法来完成一些职责关联关系一般关联关系一个类的对象作为另一个类的成员变量来实现关联关系聚合关系强关联关系,是 has-a 的关系聚合关系也是通过成员对象来实现的,其中成员对象是整体对象的一部分,但是成
2020-05-26 11:00:27 478
原创 flutter 配置时小问题合集(持续更新)
flutter 配置时小问题合集1.android studio 卡在create_project实际上已经创建了项目,但是因为网络问题,或者其他原因导致了创建失败,但是看不到错误信息,因为卡在那个进度条的位置了解决办法:我的方法是直接用命令行来创建项目,用android studio打开,因为命令行创建出现任何问题都能看见输出,而且也可以直接cmd+c取消进程命令行创建:flutte...
2020-04-12 14:08:45 174
原创 Mac修改默认shell配置(这里为fish)
配置fish为默认shell查看所有shell及位置cat /etc/shells输出#List of acceptable shells for chpass(1).#Ftpd will not allow users to connect who are not using#one of these shells./bin/bash/bin/csh/bin/ksh/b...
2020-04-12 14:07:32 3643
原创 记录问题BaseRecyclerViewAdapterHelper
记录问题BaseRecyclerViewAdapterHelper简单说就是在上啦加载,下拉刷新的分页列表的需求下使用BaseRecyclerViewAdapterHelper的loadMore功能,并且父控件是NestedScrollView时会导致无限加载更多,直到最后一页在recyclerView的高度设置成wrap_content,并且父控件是NestedScrollView,使用的...
2019-12-16 18:47:21 443
原创 关于后台语言选择的小记
首先,选择一门语言做后台开发我考量的纬度有那些,重 - 幕布首先,选择一门语言做后台开发我考量的纬度有那些,重要程度对我来说大概是怎么样的语言本身是否适合(什么叫是否适合,标准是什么,这个标准当然只针对我个人啦)我希望是强类型的(并不强制)本来我喜欢若类型,脚本语言,但是查了很多资料之后,很多人说若类型不适合做后台,主要原因有:类型不确定,代码不安全,你不知道变量到你运行的时候...
2019-09-29 14:09:11 287 1
原创 adb wifi连接多个设备
#adb wifi连接多个设备还没有wifi连接的设备时1.将手机和电脑连接在一个wifi下2.查看手机IP地址adb -s [设备] shell ifconfig wlan0inet addr就是手机的ip地址3.adb tcpip 5555这个命令会以后面的端口号重启adb4.adb connect 手机ip:端口号当还没有wifi连接的设备时这样就已经可以成功当已...
2019-09-23 17:53:42 2753 2
原创 单元测试-repo-断言小记
记录一下在写repo类的单元测试时遇到的问题测试框架使用Robolectric+Mockito网络框架:rxjava2+retrofit2最初我自己写TestRule继承ExternalResource来帮我做一下执行repo单元测试方法之前和之后应该做的事,例如:1.登陆取获usertoken2.重置数据库,在`Robolectric`框架下不重置会出现问题结束时1.做断言...
2019-09-04 18:00:51 288
原创 kotlin 向上转型问题
animator.duration = HalfAnimationDuration animator.addUpdateListener { var message_width:Int = it.getAnimatedValue() as Int var lp = this.layoutParams lp...
2018-11-22 17:33:24 1241
原创 android webview 网页动态插入javascript的正确姿势
android webview 网页动态插入javascript的正确姿势{% codeblock lang:java %} String js = “var script = document.createElement(‘script’);”; js+= “script.type = ‘text/javascript’;”; js+=”script.src = ‘”+d...
2018-09-07 17:53:20 1841
原创 记录一个小问题 ConstraintLayout textview宽高位置正常但文字内容会超出控件范围
TextView的文字“紧关掉”被右面的imageview遮挡住了其实空间宽度是正常的,可以看见空间并没有被挡住,是控件里面的内容冲出去了··· 然而解决办法就是把图1中的那句代码去掉了,测试的时候写的代码一定要记得去掉,不然会出现意想不到的神奇效果...
2018-09-03 15:02:26 6068
原创 多fragment内存优化
类似新闻内容页,viewpager加载多个fragment并且经常切换的需求,这种情况下的内存需要特别注意,一不小心处理不当很容易出现内存暴涨,频繁触发gc页面卡顿,甚至oom的情况,针对这种需求总结下面几点注意事项注意事项1.采用FragmentStatePagerAdapter FragmentStatePagerAdapter和FragmentPagerAdapter的主...
2018-07-30 09:39:12 2925 4
原创 fragment 懒加载,新闻内容页类的多个fragment的优化
fragment 懒加载,新闻内容页类的多个fragment的优化1.目标1.fragment切换时只加载当前fragment不预加载前后的fragment2.从当前fragment切出去时及时回收,节省内存2.方案1.setUserVisibleHint(boolean isVisibleToUser) 该方法获取当前fragment是否对用户可见: ...
2018-07-25 16:36:24 584
原创 error_javaWithjavac
kotlin中使用getClass()为方法名,出现编译时不出错,运行时报错但是找不到具体报错位置的问题, 原因是getClass()每个类都有这个方法,编译打包时出问题...
2018-06-15 11:31:40 158
原创 android 依赖冲突解决
解决冲突 1.exclude implementation('com.zhy:autolayout:1.4.5') { exclude group: 'com.android.support' } 2.buildtoolversion,complie_sdk_version,target_sdk_version要超过v4,v7等包的版本 3.使用...
2018-06-15 11:30:49 4007
原创 android 旋转动画一直转,不卡顿
一直转的旋转动画中间有停顿的只要原因是,旋转动画的旋转速度不是一直不变的,是有加速过程的,所以解决这个问题就可以让旋转动画一直转,不停顿:rotateAnimation = new RotateAnimation(0,360,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f); rotateAnim...
2018-06-15 11:26:37 7269
原创 反编译apk加入jar包在重新打包签名的方法
反编译apk将自己的jar包加进去在重新打包签名1.将apk用apktool反编译命令:java -jar apktool d xxx.apk2.将将要放入目标apk的jar包使用apktool反编译3.将jar的smali文件和资源文件等全部加入 目标apk反编译后的文件夹中4.修改目标apk反编译文件的smali源代码5.用apktool工具将目标反编译文件反打成包命令:java -jar ap
2017-09-21 18:31:30 1266 1
原创 android关闭其他app
1.am.killBackgroundProcesses(String packageName); 这个方法只能停止在后台的应用,如果应用在前台就不能用。 2.andorid.os.Process.killProcess(int pid); 这个方法对于前台应用同样没用,因为的我需求时杀死前台的app所以没有测试后台是否能够杀死,但是这个用来大范围的杀死后台进程是比较好用的,代码可以参
2017-07-04 17:49:15 11197 3
原创 Android Mvp初探体验
Android Mvp初探体验MVP的架构概念已经出现很长时间了,但是小的一直没有实际的应用的项目中,最近找到了新工作,头儿要求我们新项目必须采用mvp架构,并且要出一份架构设计文档,所以小的赶紧研究起来,正好与大家一起分享。转载请注明出处,虽然也不会有人转```mvp已经出现很久相信大家其实已经对mvp有了一些了解,所以我也就不贴一些非常专业的但是一下子看不懂的图了,mvp的原理其实用一句话概括的
2016-11-17 16:11:01 501
原创 线程同步面试题,3个线程打印一个1-100的数组,要求P1=1,P2=2,P3=3,P1=4的形式
线程同步题: 3个线程打印一个1-100的数组,要求输出,P1=1,P2=2,P3=3,P1=4的形式
2016-10-09 20:36:01 3614
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人