- 博客(56)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 Android 11 微信,QQ ,微博 分享适配
String filePath = context.getExternalFilesDir(null) + "/shareData/test.png"; // 该filePath对应于xml/file_provider_paths里的第一行配置:,因此才可被共享
2021-01-25 16:45:30 5944 3
原创 (算法练习)二进制求和
给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字1和0。示例1:输入: a = "11", b = "1"输出: "100"示例2:输入: a = "1010", b = "1011"输出: "10101"来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-binary著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2019-09-29 16:43:06 553
原创 RecyclerView item 可展开动画效果的实现
RecyclerView item 可展开动画效果的实现前文提要:1.相关说明:1-1.布局文件:1-2.动画工具类说明(代码我基本上都添加了注释):1-3.问题:2.如何使用:2-1.viewHoler 需要实现 ExpandableViewHoldersUtil.Expandable 接口2-2.adapter2-3.ExpandableViewHoldersUtil3.结束:前文提要:A...
2019-06-30 20:23:52 12029 10
原创 Android 适配6.0 权限检查(PermissionsUtils 相关的辅助类),8.0 ActivieAndroid安全性ContentProvider 问题
前言:最近华为应用市场要求 app targetSkdVersion 要提高到26以及26以上,在期限内可以上架26以下的app ,在期限外就不给上架 等信息,所以直接把app 升到26 (8.0).1.适配6.0 权限检查首先是自己写了一些权限检查的东西,相关流程就 先检查权限,然后根据结果去处理,再重写onRequestPermissionsResult//第一步检查权限pub...
2019-04-10 11:15:46 2856
原创 Android 上下滚动(跑马灯)效果实现
产品的有个需求是 文字上下滚动,第一想到的是用属性动画实现,2个TextView 切换滚动,网上看了一堆资料大部分都是 TextSwitch,写博客不贴效果图真的是很惆怅,不知道具体效果如何,第一次进入切换是否有问题,还有就是最后一个切换到第二个是否有问题,动画是否流畅等,啥都看不到。所以还是按照第一个想法,找到了类似的做法,但是好像有点问题,于是修改一番,效果图如下:(gif帧率有点低,不是很顺...
2018-11-15 16:26:15 12924 6
原创 PopWindow 展开带阴影平移动画
前:在看设计图的时候,设计师说需要一个弹出层在指定位置,渐出,背景带阴影层,第一个想到的是 popWindow ,但是pop 并没有阴影层,直接是一层覆盖在上面。仔细一想带阴影也是可以,但是渐渐出现的动画如何和背景阴影协同展示,是个问题。所以查阅了一些资料,以及填了一些坑。完成了最终的效果。效果如下:1.首先需要注意的是 showPopupWindow 这个方法在不同android...
2018-09-26 15:36:54 4165
转载 浅谈Android进阶之路(转)
首先附上转载连接 浅谈Android进阶之路,最近可能处于迷茫阶段,不知道如何提升自己的技能,工作之余 Kotlin 也在看,go 语言也有意向去学习,没有一个方向,看了这篇文章,大致有个方向,转载分享下!对我还有些帮助,希望对各位看官也有所帮助。过去十年是移动互联网蓬勃发展的黄金期,相信每个人也都享受到了移动互联网红利,在此期间,移动互联网经历了曙光期、成长期、成熟期、现在来说已经进入饱和期。依...
2018-06-26 14:25:38 393
原创 小米手机 布局出现白色边框,黑色背景等(适配)
前言:eidtText 在小米手机上出现 白色边框条,在华为 三星 等手机上都没有出现这个问题,特地记录下 适配的问题直接 在搜索 部分出现白色的边框,查看代码<RelativeLayout android:id="@+id/et_search_root" android:layout_width="wrap_content" android:layo
2018-04-02 11:19:51 9159
原创 android 手机号码特殊显示(带空格或者* 号)
前言:现在app 内部手机号码显示的格式都是 151 1111 1111 或者 151 xxxx 1111,这样显示更加方便显示以及阅读,主要处理逻辑就是对字符串的增加和替换,也不是很难,记录下。 1. 151 1111 1111 中间用空格区分显示我这里是直接写了一个类似格式的控件,在输入字符之后进行处理下面是完整的代码,主要逻辑就是 format 里面对字符传的处理import android
2018-03-14 16:46:48 5149
原创 WebView 加载https 白屏以及重定向加载
前言:今天在处理app 内广告跳转的问题时候,遇到官网 公司官网 https 点击打不开的情况,因为公司官网在手机页面上会重定向到手机版的页面去,处理到最后发现是一个细节导致的,特地记录下解决过程。1.针对正常的webView 加载内核:(参考摘录地址)1-1. 启用mixed content在Android5.0中,WebView方面做了些修改,如果你的系统target api为21以上:系统默...
2018-03-06 18:29:47 8924
原创 TextView 中确定 ClickableSpan 的具体位置
现在有一个需求是 TextView 中要有特殊的字符加颜色还需要可以点击弹出pop,点击跳转和改变颜色 这个需求 ClickableSpan 就可以胜任。但是找到具体位置就有点困难。1.确定 ClickableSpan 的具体位置注意 需要 加上 textView.setMovementMethod(LinkMovementMethod.getInstance());表示可以点击的Spannabl
2017-03-26 16:13:25 2352 2
原创 picasso 显示本地图片
感慨下,一开始搜索问题的时候,发现文章都没有说如何显示本地图片,都在说一些如何加载网络图片,本地图片直接放url 什么的,几乎找的文章都一样。很是郁闷,也有可能是我关键词有问题;关键时候还得看源码1.问题:一般我们获取到的完整路径: /storage/emulated/0/Android/data/xxxx.jpg, picasso.load(url) 直接将这个路径进行load 是显示不了的。
2017-03-26 15:45:55 9268
原创 RoundedImageView 处理图片存在毛边的问题
现在用户的头像都是圆形的,所以大家都会用到圆形imageView 或者用第三方框架 直接处理。我这里是用的RoundedImageView,但是在处理的时候,发现一个问题,就是加载网络图片的时候完全没问题,就是处理默认的图片的时候,会存在毛边,如图:一开始我以为是默认图片的问题,于是查看xml 和默认图片:<!-- android:scaleType="fitXY" 只有设置才不会有毛边,其他都存
2017-03-26 15:17:06 3611
原创 Effective 学习(1) ---- 静态工厂方法
初读《EffectiveJava》考虑静态工厂方法代替构造函数中!始终看不懂他的结构图!也不能理解静态工厂模式的使用点!首先是真看不太懂,有些地方说是源码的某某处,没有具体的概念导致不是很明白,于是上网寻找资料。总结如下:
2017-03-08 14:42:28 509
翻译 RESTful服务使用HTTP方法相关概念学习理解
HTTP动词包括我们的“统一接口”约束的主要部分,并且向基于名词的资源提供动作对应物。主要或最常用的HTTP动词或方法被称作,post,get,put,delete。这对应create、read、update、delete(或CRUD)操作。在那些不太频繁的方法中,options 和 head 使用得比其他方法多。1.什么是RESTful一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和
2017-01-17 17:54:35 2578
转载 Android View 分析requestLayout、invalidate与postInvalidate
1.前言:首先我需要了解 invalidate与postInvalidate 的区别,然后网上找了些资料,大多都是一个版本,负责点的排版整齐,不负责的排版直接很乱,一堆代码集中在一起,也没有解释清楚。无奈直接选择看源码,然后源码直接给出了区别invalidate 该方法的调用会引起View树的重绘,常用于内部调用(比如 setVisiblity())或者需要刷新界面的时候,需要在主线程(即UI线程)
2017-01-12 15:27:05 859
原创 android 正则表达式校验邮箱、手机号等
在登陆界面需要填写用户名,现在大部分用户名直接是手机号或者邮箱,所以就需要验证是否是邮箱地址,或者是否是正确的手机号。这样做可以减少和服务器交互的次数,提高效率。下面就提供一个工具类:/** * 校验器:利用正则表达式校验邮箱、手机号等 * * @author * */public class Validator { /** * 正则表达式:验证用户名 */
2016-12-28 16:02:31 11334 5
原创 java 线程 --- join,sleep,yield 基础学习
java 的线程支持提供了一些便捷的工具方法,通过这些工具方法可以很好的控制线程的执行。1.join 线程Thread 提供了让一个线程等待另一个线程的方法 — join()方法。当在某个程序执行流中调用其他线程的join()方法,调用的线程将被阻塞,直到被join()加入的join 线程执行完成。相关代码: public class JoinThread extends Thread {
2016-12-26 17:01:38 712
原创 java 线程 --- Thread,Runnable,Callable 基础学习
java 使用 Thread 类代表线程,所有现场对象都必须是 Thread 类或者其子类的实例。每个线程的作用是完成一定的任务,实际上就是执行一段程序流。java 使用线程执行体来代表这段程序流。1.继承Thread 类创建线程启动多线程的步骤如下: (1)定义Thread 类的子类,并重写该类的run() 方法,该run() 方法的方法体就代表类线程需要完成的任务。因此把run() 方法称为线
2016-12-21 16:46:16 3560 2
转载 Android异常之Service启动Activity
在Activity中其中startActivity这个大家应该是非常熟悉的;那么从service里面调用startActivity话,会怎么样呢? 会出现下面的异常: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLA
2016-11-29 16:31:55 5880
原创 android button 字母自动变大写原因以及属性总结
最近在写例子的时候,发现写一个button的时候,定义text属性为字母的时候,字母自动变大写了,而使用textView 的时候却没有这种情况,所以研究和总结下;效果如下:1.解决办法设置 textAllCaps 为false 就可以了,如上图;2.原因分析首先我看了下我这个例子的编译项目的版本,项目版本为5.0继续查看button 的源代码,使用的21 widget里面的button 属性因为这
2016-11-22 15:40:34 22209 3
原创 android 仿 ios 搜索界面跳转效果
最新写项目的时候,看到搜索界面的跳转基本都是点击搜索然后跳转到下个页面,android 微信上则是 类似toolbar的效果,而ios 上则是一个搜索框上移然后显示新界面的一个效果。仔细研究了下发现和android 的 共享元素的过渡实现 的效果很像,所以在此模仿下。但是 共享元素的过渡实现 是5.0以后才有的,兼容5.0一下需要自定义动画效果,查了些资料发现也是可以实现的。下面是效果图:1.实现思
2016-11-16 15:55:41 8948 12
原创 android 读取excel 文件
在面对选择国家地区,选择手机号码区号等信息的时候,常常我们是读取已存好的数据,我现在读取的就是excel里面的数据,所以在此记录下读取的方法以及注意点。 下面就是读取国际地区手机区号的数据效果图: excel表格里面数据1.准备工作1.1 excel 表格 我在assets 下放的的excel 表1.2 读取excel 需要的jar 包下载地址:jxl 读取excel 需要的jar 包
2016-11-08 14:59:59 18381 33
转载 android idea(studio)下目录结构学习
在用 idea 创建项目的时候,我们会看到一堆的目录,增加了很多eclipse里面不具备的目录,而且目录结构也改变了。一般我们之关注特定的一些目录,而忽略的其他,当出问题的时候基本会茫然若失不知道如何解决,所以特地学习下目录结构。Project下的视图引用地址:https://github.com/siyehua/Adnroid-Notes/tree/master/Android%20Studio/
2016-10-31 16:22:21 10678 1
原创 android 全屏以及透明状态栏总结
一般启动页面的要求都是全屏显示,全屏显示可能会出现一个隐藏状态栏的动画,用户体验不是很好,现在基本都是做成透明的状态栏和ios 显示的效果一样,所以在此总结一下。下面是效果图,不是很明显是应为我全局设置的是透明的状态栏。1.全屏显示全屏显示有2中方法进行控制,一个通过代码,一个直接控制对应activity 的 theme.可能跳转的时候都存在隐藏过度的动画效果,个人感觉用户体验不是很好。1.1 代码
2016-10-28 14:58:55 9962 6
翻译 android launchMode理解以及应用场景
在我们写应用的时候,常常涉及多个activity组件之间的跳转。比如说某个资讯的页面中,点击下一篇资讯跳转相同的页面,只有页面的数据不一样。一般情况下我不会注意launchMode 这个属性,只会使用默认的,这样会产生大量重复的activity。那是因为之前不了解,所以特此研究学习。1.如何指定launchMode基本上我们可以直接指定一个launchMode属性在AndroidManifest.x
2016-10-27 17:51:33 8903 5
原创 MVC、MVP、MVVM 初探(二)--- MVP模式
按照MVC的分层,Activity和Fragment(后面只说Activity)应该属于View层,用于展示UI界面,以及接收用户的输入,此外还要承担一些生命周期的工作。Activity是在Android开发中充当非常重要的角色,特别是TA的生命周期的功能,所以开发的时候我们经常把一些业务逻辑直接写在Activity里面,这非常直观方便,代价就是Activity会越来越臃肿,超过1000行代码是常有
2016-09-29 17:59:43 612
原创 MVC、MVP、MVVM 初探(一)--- 基本概念
最近在看腾讯互动直播的源代码的时候,发现由以前的mvc 直接变成了mvp,而且mvp 的设计模式在越来越火,很受欢迎。还有就是mvvm, 发现和 recycleView 的adapter 十分的相似,双向数据绑定。前段时间,前端的同事突然问起 mvp,mvvm。也就大概的说了自己粗略的了解,所以特地上网查了资料,学习记录下。1.什么是MVC (Model-View-Controller)MVC全名是
2016-09-27 16:07:08 1323
转载 JVM加载class文件的原理机制
虽然是做android 的,但是java 基础也很重要。有一个好的基础,才能更快的理解源代码。比如说:单例模式使用内部类的时候,这个模式综合使用了java的类级内部类和多线程缺省同步锁的知识, 很巧妙的同时实现了延迟加载和线程安全。利用了classloader的机制来保证初始化instance时只有一个线程,所以也是线程安全的,同时没有性能损耗。那就需要去了解jvm的机制和classloader 等
2016-09-19 16:49:43 879
原创 android 飘心动画(直播点赞)效果(三)---相关知识点整理
这篇文章是关于 android 飘心动画(直播点赞)效果 相关知识点的整理,应为我对动画相关的部分,不是很熟悉,所以对于第一篇文章上面所涉及的只是进行了总结和整理。1.android 自定义view之 onMeasure()可以说重载onMeasure(),onLayout(),onDraw()三个函数构建了自定义View的外观形象。再加上onTouchEvent()等重载视图的行为,可以构建任何
2016-09-06 10:08:27 2455
转载 android 飘心动画(直播点赞)效果(二)---贝塞尔曲线的实现
上篇文章 android 飘心动画(直播点赞)效果 只有代码,没有相关的说明。因为我自己也没有看懂,所以参照网上另一篇关于贝塞尔曲线实现 飘心动画的效果,目的就是 便于理解上篇文章代码的思路,然后写个关于飘心动画的自己的理解。下面是我参照的文章:一步一步教你实现Periscope点赞效果,—文章出自简书。 我也是是依葫芦画瓢,所以就定义为转载的文章,只是文章里面加了些自己理解的东西。效果图如下:1.
2016-08-31 15:04:28 11864
原创 android 飘心动画(直播点赞)效果
前段时间在写直播的时候,需要观众在看直播的时候点赞的效果,在此参照了腾讯大神写的点赞(飘心动画效果)。下面是效果图:1.自定义飘心动画的属性在attrs.xml 中增加自定义的属性<!-- 飘心动画自定义的属性 --> <declare-styleable name="HeartLayout"> <attr name="initX" format="dimension"/>
2016-08-30 16:24:13 13016 5
转载 java网络编程基础
转自:http://blog.csdn.net/liuhaomatou/article/details/41075701java网络基础知识一、简单的网络知识1、网络模型: ①、OSI/RM(Open System Interconnection Reference Model开放式系统互连基本参考模型)
2016-08-25 15:06:23 741
原创 android 解析本地中国城市列表的辅助类
我们在写项目时,有时候会需要用到显示中国城市列表,区域列表甚至邮政编码等。比如我最近在做的就是在popwindow 显示中国城市,然后二级显示城市区域列表,还有就是收货地址,买票填写的地址等等,都需要省市区的联动。所有我这里直接写了个本地城市xml 数据解析的辅助类。至于滚轮实现城市联动会在以后介绍。下面就是popwindow的一个例子,这里是介绍的是解析数据的方法。1.首先需要一个中国省市的数据列
2016-08-23 10:52:01 3968 3
原创 java 枚举的学习和使用
最近在看别人的代码的时候,经常会看到有使用到枚举的地方,但是在自己写的时候,也有想到过用枚举,但是对什么时候使用枚举和 常量 没有一个明确的概念,比较模糊。所以特别整理了一下有关枚举的知识,以供学习使用。1.什么java 的枚举类型以我的理解答:枚举是我们自己定义的一个集合,比如说我们数学里面所学的集合A={1、2、3},当我们要使用A这个集合的时候,我们只能够使用集合A里面的1、2、3这三个元素,
2016-08-16 17:50:28 1113
原创 listView item 增加间距 以及item根部局 margin 失效原因
最近根据设计图写listView 的时候,listView个item 之间存在间距,左右上下都有,一开始的想法是在item 的根部局 设置margin 属性,但是在listView 中margin 无法生效,所以在此研究下失效的原因。而解决办法就是在加一层布局,作为根部局 设置padding ,或者 新增根部局的下一次布局设置margin.下面直接看效果图: 1.解决办法,我这里使用的是新根部局加
2016-07-31 10:26:09 9864 4
原创 android 发送邮件
最近在做项目的时候,需要用到发送邮件的功能,但是Android 默认的发送邮件不符合要求,界面ui 都是Android 自带的用户体验不是很好,所以需要使用到第三方发送邮件的功能。1.事先准备1.1 第三方的jar1.2 发送邮件QQ 的配置 在设置 —> 账户 里面配置修改 注意:邮件是可以 自己发送给自己的。smtp 服务是需要开启的。2.相关代码import javax.mail.Me
2016-07-26 16:16:44 927
原创 okhttp post 上传文件以及Multipart/form-data 的学习理解
在app 中,最基本的设置用户头像,需要进行头像的图片上传,那就会使用到 post 进行上传文件的操作。必然要了解下 Multipart/form-data 的含义。以前在写这部分代码的时候,不理解问什么Headers.of(xxx),而且 里面填写的格式又有什么要求等。看到上面的api 的说明文档更是头大,所以需要了解下 Multipart/form-data1.Multipart/form-da
2016-07-14 17:00:20 84770 8
原创 腾讯云互动直播集成有声音,无画面研究和解决
我在集成互动直播的时候,只取了观看直播相关的。其他的都没有加到项目中,但是集成的过程中,遇到了 进入直播间的时候,能听到主播的声音,发送点赞和评论都是好的,就是看不到画面。下面是我列出的遇到的情景1.主播开直播的时候,IOS 端和android 都看不到画面,能听到声音 ios 直接是黑屏显示,android 端也是黑屏显示,但是 android 端回显示 互动直播的小画面。当和另一个人连麦的时
2016-07-07 17:15:12 5875 1
原创 腾讯互动直播1.8解决软键盘覆盖输入框和监听软键盘弹出关闭
腾讯云互动直播1.8的demo 上面,在直播界面软键盘会覆盖输入框,起初的想法是 动态设置输入框 dialog 的位置,但是在demo 上修改之后,在小米,魅族,华为等机器上是可以解决覆盖的问题,但是在三星的机器上还是存在覆盖的问题。有人可能遇到解决覆盖问题了,但是监听软键盘失效了。就是关闭软键盘dialog 没有关闭。下面就是我的解决方案,先上图:问题1:软键盘覆盖dialog 在 setCo
2016-06-19 17:30:36 1993 1
TA创建的收藏夹 TA关注的收藏夹
TA关注的人