自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (1)
  • 收藏
  • 关注

原创 C语言学习1--关键字

char:字符串类型int:整型数float:浮点型double:双精度浮点型数void:空类型,用于声明函数无返回或者无参数short:短类型long:长类型signed:有符号unsigned:无符号 无符号指最高位是否为符号位enum:枚举struct:结构体union:共用体条件判断:if、else、switch、case、default、goto...

2020-09-08 15:57:44 193 1

原创 RxJava学习-subscribeOn()和observeOn() 区别

操作符create() 完整创建一个被观察者对象 Observable intervalRange() 每隔指定的时间就发送事件,可指定发送数据的数量

2020-08-28 13:43:40 748

转载 单元测试

转自https://blog.csdn.net/u011242745/article/details/52563313记录学习JUnit 4 开始使用 Java 5 中的注解(annotation),常用的几个 annotation 介绍:@BeforeClass:针对所有测试,只执行一次,且必须为static void@Before:初始化方法@Test:测试方法,在这里...

2020-01-09 14:25:46 181

原创 android 后台定时任务

以下功能可用JobScheduler、JobService更简单实现。定义Service:public class DemoService extends Service { @Override public int onStartCommand(Intent intent, int flags, int startId) { //每隔两分...

2019-12-25 11:38:38 586

原创 android自定义广播

定义广播:val receiver = object : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { XLog.e("收到广播") context.unregisterReceiver(this) }}在需要注册的地方注...

2019-12-25 11:23:37 381

原创 OC学习六

OC的集合是不允许存入基本类型的,所以NSNumber类就是讲基本类型封装一下,然后存进去,这个类似于Java中的自动装箱0和自动拆箱,Java中的集合其实也不允许存入基本数据类型,但是我们仍然可以操作,是因为有自动装箱和拆箱。为什么基本类型不能存入到集合中?是因为在操作集合的时候会操作集合元素中的方法,但是基本数据类型是没有方法的。KVC和KVOOC中的KVC操作和Java中使用反射...

2019-10-09 11:49:19 117

原创 android WebView的安全漏洞 学习记录

在Android API Level 16以及之前的版本存在远程代码执行安全漏洞。漏洞产生的原因:JS调用Android的其中一个方式是通过addJavascriptInterface接口进行对象映射的。webView.addJavascriptInterface(new DemoJavaScriptInterface (),"andorid"); final class Dem...

2019-10-09 11:48:38 101

原创 android gradle学习

Android studio 查看Java home路径File-----project structure----SDK locationjmeter.bat 提示错误信息:Not able to find java executable or version.please check your installation原因:JAVA_HOME 配置错误。armeabi...

2019-10-09 11:47:17 146

原创 Android面试题总结

一.java继承中的构造方法1.子类的构造的过程中必须调用其基类的构造方法。2.子类可以在自己的构造方法中使用super(arguments)调用基类的构造方法。3.若子类的构造方法中没有显示地调用基类构造方法,系统则默认调用基类无参数的构造方法。4.若子类构造方法中既没有显示的调用基类构造方法,而基类中又没有无参的构造方法,则编译出错。二.内存优化,SoftReference与Wea...

2019-05-28 11:11:49 144

原创 自定义RecyclerView的LayoutManager实现左右滑动效果

感谢启舰大神的博客分享,学习参考,改编而来更多详细内容参考博客里面已经写得很详细了,代码注释也很详细,在此直接上图,有不明白的可以留言在github上添加了demo,需要的可以下载看一下。https://github.com/yxyzjy/GalleryDemo...

2019-05-06 15:07:48 3341 5

原创 Dialog实现从底部弹出、从左到右滑入滑出等动画

在dialog中添加如下代码: // 动画持续的时间 private final int mAnimDuration = 250; // 显示按钮布局的动画 private ObjectAnimator mShowAnim = null; // 隐藏按钮布局的动画 private ObjectAnimator mHideAnim = null;...

2019-02-21 15:21:40 4787

原创 沉浸式状态栏下popWindow全屏显示

没有适配沉浸式状态栏适配了沉浸式状态栏  PopWindow添加:setClippingEnabled(false); Dialog添加:if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { dialog.getWindow().setFlags(WindowManager.Layout...

2019-01-11 14:09:18 1799

原创 RecycleView深入学习

RecyclerView真的是宝藏View,学习记录。 一个不太常用的属性,作用不太容易描述,可以自己测试一下。android:clipToPadding="false"android:paddingBottom="@dimen/x10"val linearLayoutManager = LinearLayoutManager(this)linearLayoutManager....

2018-12-11 15:10:57 151

原创 OC学习五之集合对象

NSArray不可存放基本数据类型,只能存放类的实例,如果需要将基本数据类型、结构体放入到数组的话,需要通过NSNumber、NSValue进行数据封装,同时不能在NSArray中存储nilNSString *str1 = @"zhangsan";NSString *str2 = @"lisi";NSString *str3 = @"wangwu";NSArray *array1 = ...

2018-12-04 14:28:24 145

原创 OC学习四-----NSObject中常用方法

isEqual方法:判断两个指针变量是否指向同一个对象NSObject *obj1 = [[NSObject alloc] init];NSOBject *obj2 = [[NSObject alloc] init];if([obj1 isEqual:obj2]){//也可直接用 == 判断 NSLog(@"obj1 == obj2");}else{ NSLog(@"o...

2018-12-03 14:14:49 272

原创 kotlin学习之for循环

java中的for循环有两种实现方式:for (int i = 0; i < 10; i++) {}for (int i = 10; i > 0; i--) {}private ArrayList<String> list = new ArrayList<>();for (String item : list) {} kotlin中...

2018-11-29 16:14:16 2326

原创 Glide学习记录

Glide.with(this).load(url).into(imageView); with()方法可以接受Context、Activity、Fragment类型的参数。with()方法中传入的实例会决定Glide加载图片的生命周期。如果传入的是Activity或者Fragmnet的实例,那么当这个Activity或者Fragment被销毁的时候,图片加载也会停止,如果传入的是Ap...

2018-11-29 12:03:38 144

原创 OC学习二

协议&分类OC中的协议相当于java中的接口类型。分类在java中实现起来比较麻烦还有限制。他就是对一个已有的类进行添加一些新的功能,比如系统中操作字符串的类NSString,他没有校验手机号的这个功能,那我们就可以给NSString添加一个分类,自己写一个校验手机号的功能,后续再使用NSString类型的话就可以直接调用这个功能了。android中的Kotlin语言已经支持这个功能开...

2018-11-28 17:58:55 206

原创 android 自定义控件学习记录

本文为学习--启舰大神--自定义控件系列博客学习记录postInvalidate()、invadite()区别postInvalidate()、invadite()都是重绘。invadite() 必须在主线程中调用。postInvalidate() 内部是由Handler的消息机制实现的,所以在任何线程中都可以调用,但实时性没有invadite() 强,所以一般为了保险起见,都是用 p...

2018-10-31 16:06:33 416

原创 android studio 报错解决办法

android studio 报错:Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory. See http://b.android.c...

2018-10-31 16:00:07 807

原创 android Switch控件

这种样式的UI如何实现呢,android提供了Switch控件,我们来认识一下吧。<Switch android:layout_width="wrap_content" android:layout_height="wrap_content" android:showText="true" android:switchMi...

2018-10-26 13:27:56 1757

原创 android CardView属性介绍

UI给的图总是有好多圆角带阴影的效果,比如这些:android 在5.0之后发布了CardView实现卡片效果:可以实现圆角效果、阴影效果等,让布局显示的更加立体。如图所示,首先我们需要先导入v7包compile 'com.android.support:cardview-v7:27.1.1'讲一下主要属性的意思:app:cardElevation:阴影的大...

2018-10-25 13:53:12 1326

原创 Objective-C学习记录

OC新建一个类会生成两个文件一个是 .h文件,一个是 .m文件。.h头文件一般定义的是这个类的类型@interface 类名:NSObject{ 定义属性}定义方法@end.m文件 一般是实现文件,类似于C++中的.cpp文件@implementation实现方法@endOC中定义类没有实用{},而是使用@关键字进行划分区域的。 函数://格...

2018-10-19 18:17:30 78

原创 断点调试各个按钮含义

第一行从左到右依次是:Step Over:在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。在没有子函数时,和Step Into效果一样。Step Into:单步执行,遇见子函数就进入继续执行;Force Step Into:能够进入所有的方法,包括JDK方法。Step Out:当单步执行到子函数内时,用step...

2018-10-19 11:00:38 2576 2

原创 8.0系统中应用图标的适配

参考:http://blog.csdn.net/guolin_blog/article/details/79417483真的是在敲代码的世界里迷茫了,好像很少有技术博客写的如此清晰明了,我自己写的博客,自己看心里都会默念--这都是些什么东西!!感觉从业几年,时间都去哪儿,进步也没有很大,看了guolin大神的博客,受益匪浅。希望以后可以好好成长。其他的就不在赘述了,链接文章中讲的非常清楚。就...

2018-10-17 13:10:53 173

原创 android SDK版本快速查看

好多API都显示支持多少版本以上的,或者多少版本一下,如和避免每次都需要百度,可以快速查看呢,android studio给我们提供了查看地方,只是好多还不知道。点击SDK Manager图标就可以直接弹出这个界面,里面一应俱全。...

2018-10-15 16:22:06 12846

原创 android 人脸识别踩坑实录

随着AI技术的发展,人脸识别的应用场景越来越多,提供技术支持的API也有好多可以选择,但是大部分都是需要收费的,或者免费试用。由此可见人脸识别算法确实是核心技术,不是随便就可以获取到的。经过多次尝试,记录一下自己在实现人脸识别遇到的坑吧。也有免费的Api打着人脸识别的旗号,其实都是实现人脸检测的功能。智能识别出来图片中是否有人脸,而关于人脸更多的信息就获取不到了。比如是否是正脸、侧脸面对镜...

2018-10-15 15:36:10 775

原创 android studio 打包apk 错误:Unexpected exception in dex writer thread 和 Return code 1 for dex process

真是奇怪,遇到这两个问题,不知道如何解决,只能关机重启。真是感觉自己学疏才浅,什么都不懂。哪位大神知道是怎么回事,希望可以给我指点迷津。 ...

2018-10-15 10:56:00 1177

原创 解决Android Studio 出现 GC overhead limit exceeded

不知道怎么回事,自从在公司开发新的项目,每次打包studio就出现各种问题,真是让人摸不着头脑。在搞不懂所以然的时候只能简单粗暴的  关机重启。每次有效只能打包一个apk,第二次就会有不同的问题产生,真是奇怪!!今天就记录一下GC overhead limit exceeded这个问题如何解决吧。在gradle.properties文件中,添加:org.gradle.daemon=...

2018-10-15 10:47:53 4633

原创 android实现一段文字中不同颜色

相信大多程序员都会遇到UI给的效果图中,一段文字,却用不同的颜色显示关键字以突出重点。我们平常用到都是使用TextView设置textColor就可以了,如何设置多种颜色呢,有两种方法:使用HTML 、strings.xml 辅助完成在strings.xml文件中添加  #6a6a6d 是灰色  #ffffff是白色  可以根据自己需要修改颜色,也可以以此类推设置多种颜色<stri...

2018-10-10 16:25:46 2379

原创 android 保留一位小数点取消默认四舍五入改为去尾

fun getHeatNum(heat: Double): String { val df = DecimalFormat("#.0") df.roundingMode = RoundingMode.DOWN return df.format(doubleHeat)}保留一位小数点,并且舍去最后一位, 1.11---->1.1     1.99-----...

2018-10-10 13:58:55 3342

原创 android仿微信、QQ等聊天界面,实现点击输入框弹出软键盘、点击其他区域收起软键盘,默认滑动至最低端

如图所示,点击输入框及选择图片和发送按钮时软键盘显示且不消失,点击其他区域,则隐藏软键盘。主要代码如下:override fun dispatchTouchEvent(ev: MotionEvent?): Boolean { if (ev!!.getAction() === MotionEvent.ACTION_DOWN) { val v = currentF...

2018-10-09 15:40:01 8118 10

原创 android百度地图基础定位不用开启权限也可以获取经纬度成功?什么鬼

最近项目中需要使用百度地图sdk,发现一个问题,手机未打开地图定位权限,在地图定位监听里面竟然可以返回状态码为161的正确定位返回,是不是很神奇。测试了百度demo,把定位权限关闭,也是可以定位成功的。看来确实不需要定位权限,就可以获取定位信息呀。这就让我晕了,那这个权限什么时候是必须要用的呢??Manifest.permission.ACCESS_FINE_LOCATION目前还没...

2018-09-11 11:34:30 2295 4

原创 andorid 防快速重复点击的全局设置

开发中,相信很多人都遇到重复提交的问题,很大部分情况是因为接口响应慢,前端点击事件未设置不可点击,导致用户点击的时候出现连续点击多次的操作。也有的是因为点击的时候弹出loading圈,可是弹出的慢了,导致多次点击被响应。这个时候我们可能想到的操作就是,在用户点击的时候,将控件设置为不可点击,在请求响应之后,修改控件是否可点击的状态。在开发中,会有很多不同的点击事件,每个点击事件我们都要去修改控...

2018-09-10 16:36:46 533

原创 Android webView学习记录

WebViewClient和WebChromeClient的区别WebViewClient主要帮助WebView处理各种通知,请求事件,有以下常用方法:onPageFinished    页面请求完成onPageStarted    页面开始加载shouldOverrideUrlLoading    拦截urlonReceivedError    访问错误时回调,例如访问网页时报404,在这个方法...

2018-03-24 16:33:13 133 1

转载 Android Studio 3.0 修改包名

网上找的方法,亲测可以完美解决,在此记录!!进入 Androidmanifest.xml 文件,找到 package 名称,选中需要修改的部分。 比如原包名为 com.test.android 如果需要修改中间的 test ,那么我们就选中test , 依次进行 右键 - > Refactor -> Rename , (Mac 快捷键为 fn + shift+F6) 

2017-11-30 14:41:16 1062 1

原创 校验身份证号码

校验身份证是否正确,必须是二代身份证,身份证号是18位 /** * 验证18位身份编码是否合法 * * @param idCard 身份编码 * @return 是否合法 */ public static boolean validateIdCard18(String idCard) { boolean bTrue = fal

2017-04-26 17:10:16 663

原创 魅族未开启相机权限使用zxing扫描二维码闪退

魅族未开启相机权限使用zxing扫描二维码闪退 遇到一个糟心的事,魅族手机未开启相机权限,一打开二维码扫描页就闪退,偏偏这个时候,电脑不识别手机,不能调试,都不知道怎么回事。型号万能的公司还有另外一部魅族手机,打印了错误日志。也就是一个空指针异常。 问题找出来了,就是234行报的空指针,在之前添加一个非空判断吧。 相信很少人会遇到这个问题吧,这种奇葩事都能遇到,也有可能是我的zxing版

2017-04-26 16:25:30 2316

原创 生成二维码以及生成带头像标示的二维码

/** * 用字符串生成二维码 * * @param text * @return * @throws WriterException */public static Bitmap create2DCode(String text) { //生成二维矩阵,编码时指定大小,不要生成了图片以后再进行缩放,这样会模糊导致识别失败 Hashtable hints = new

2017-04-15 14:51:12 3548

原创 Android EditText弹出软键盘实现页面标题头不动,软键盘弹出在编辑框下面

为了实现EditText编辑的时候弹出软键盘标题头不动,底部编辑框上移,想了好多种方法,也百度,问同事每种办法都有问题,在这总结一下,希望能帮助到大家。 上图看下效果: 可以看到弹出键盘的时候,只有EditText在软键盘上面,还有一个蓝色点,这个随后再说。 用RelativeLayout实现的父布局id为root,试验过很多种方法,总结一下,想要实现这种效果,有一个原则 EditTe

2017-03-21 17:26:46 5034 6

Baidu地图Demo key值正确的Apk

百度地图demo中未提供打包好的apk文件,我们下载demo后还需要自己注册key,本身一个简单的参考,变得有点复杂,这里提供已经打包好的apk文件,key值可以正常使用,希望可以给需要的人带来便利

2018-09-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除