自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

想你依然心痛的博客

心如止水,谈何容易!梦想很美,行动很水!!

原创 Java、Android 新建类自动添加头部注释以及如何添加函数注释模板和快捷键

  最近闲着没事,看项目的时候有人问我Android Studio新建类如何自动添加头部注释、如何添加函数注释等,因为默认的注释有时候看起来觉得很糟心。有些公司入职的时候就会要求配置这些注释模板,可以记录一些修改的日志,或者有些是直接给你jar包,直接导入到设置里面就可以,这个其实很简单。下面我们来看一下是怎么实现的?一、新建类自动添加头部注释  首先来看第一种情况,也是最简单的情况,公司直接...

2020-06-23 15:27:53 90

原创 如何强制App横屏或者竖屏显示应用

  最近开发应用的时候遇到一个需求,就是使用应用的时候需要强制横屏显示,本以为是一个非常简单的需要,可是真正在使用的时候却遇到了麻烦。我的应用是一个Activity+多个Fragment来实现的,遇到的问题是我的Fragment里面嵌套有视频播放,我是用的是饺子播放器(需求不高,只要能简单的播放一下视频就可以了,哪位伙伴有其他好用的视频播放器也可以留言推荐一下,谢谢),其他的时候设置了androi...

2020-05-06 11:17:09 628

原创 camera多次调用出现错误或无法回调PictureCallback接口onPictureTaken()函数的解决方法

  最近做的项目都是Android的定制设备的项目,最近的一个需求是需要拍照上传,然后进行其他的操作,对这个要求需要实现秒级,但是拍照、上传、再加上自己的一些操作,很难达到这个要求,因为拍照里面涉及到对焦,预览,图片压缩等,于是想到了一些减少耗时的办法,就是相机在后台静默拍照,程序打开的时候就初始化启动相机,需要上传上传拍照的时候就可以直接进行拍照了,这样就不用每次都去打开相机了。本来用着是没问题...

2020-04-10 09:53:07 112

原创 NullPointerException:method 'android.content.BroadcastReceiver.onReceive' on a null object reference

       最近在使用广播的时候遇到了这个问题,项目里面使用了极光推送,然后项目里有几个地方都需要写广播接收者去接收,所以我只在一个地方写了,然后其他的地方就是copy过去的,然后就报了这个错误,总的来说,这个错误是自己不细心造成,但是,找问题还是花了我一点时间的,所以也再次做一个记录。错误日志如下:NullPointerException:method...

2019-12-27 14:48:44 67

原创 安装应用提示安装失败或不能安装,报INSTALL_FAILED_DUPLICATE_PERMISSION错误

    最近开发测试应用时,突然发现打包签名之后的apk安装时一直提示“应用安装失败”,这我就懵逼了,因为没有使用签名,直接连接进行设置调试时一直是没问题的,然后我就问度娘去了,结果网上的方法都试过了还是不行,这里是推荐两篇文章,虽然没能解决我的问题,但是遇到同类问题的可以看看:https://blog.csdn.net/willba/article/de...

2019-12-27 14:02:12 593

原创 无线调试和unable to connect to 192.168.2.245:5555由于目标计算机积极拒绝,无法连接。 (10061)

  去年调试设备使用了无线调试,主要是设备也没有usb线,想要有线调试也不行,就去找了相应的博客来看了看,前段时间有人问了我一些这方便的问题,这里记录一下命令,希望能帮助到有需要的人。一般来说只需要以下两个命令就可以了:adb connect 192.168.2.245:5555   连接设备adb disconnect 192.168.2.245:5555   断开设备连接  但是我这里...

2019-11-25 14:42:13 378

转载 Android 项目中 shape 标签的整理和思考

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...

2019-08-28 16:38:53 49

转载 Android GradientDrawable(shape标签定义) 静态使用和动态使用(圆角,渐变实现)

Android GradientDrawable使用优势:  1. 快速实现一些基本图形(线,矩形,圆,椭圆,圆环)  2. 快速实现一些圆角,渐变,阴影等效果  3. 代替图片设置为View的背景  4. 可以减少apk大小,提升用户下载意愿  5. 还可以减少内存占用  6. 方便修改与维护  基于上面几种优势,我们很多时候都会选择使用android的shape,下面分别介绍sh...

2019-07-16 10:56:13 159

转载 Android XML shape 标签使用详解

Android XML shape 标签使用详解  一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景。但是,也肯定也有人在能使用 Drawable 的地方选择使用一张 png 图(或者是一张 .9 图)作为 View 的背景,因为后者把问题交给 UI 设计人员去了,省事。当然,使用图片这种在项目中也很...

2019-06-04 14:02:22 361

原创 Android 6.0以上手机报 so: has text relocations 问题的终极解决方案

  最近做串口通信时,引入so文件报libxxx.so- has text relocations。  问题产生的原因:  在Android6.0之后,在载入.so库时,会从以前的warning变为error,应用程序不能在6.0设备上使用,因此需要适配。如果没有工程中的.so库的C/C++源码,比如是使用的第三方的.so库,那么只能在gradle中将 targetSdkVersion 减...

2019-05-27 21:53:04 1264

原创 记一次Retrofit上传json引发的血案

  又是好久没写博客了,本来是准备一个月一篇的,结果人都是有惰性的,哎,不说了,说说这次遇到的问题,项目有个接口请求需要传json字符串,后台定义的是String类型,自己也是第一次用Retrofit上传json,网上百度了一下,结果发现都是通过body来上传的,这里说一下自己遇到的问题,发送请求一直报400 Bad Request,post请求的json都被转义了,然后自己就在哪里一直的各种调试...

2019-04-10 15:31:41 398

原创 Android9.0手机调用接口全部失败

  最近做项目是发现这个问题,用Retrofit请求网络报这个错CLEARTEXT communication to host not permitted by network,刚开始有点懵逼,因为开发的app其他系统都是正常的,只有9.0的不行,后来百度才发现,由于 Android P 限制了明文流量的网络请求,非加密的流量请求都会被系统禁止掉。如果当前应用的请求是 htttp 请求,而非 h...

2019-02-13 22:50:14 2173 3

原创 Android引入.so文件的正确姿势以及加载指定CPU架构的so库(android is 32-bit instead of 64-bit)

    最近项目中用到了串口通信,以前对这块也不了解,刚开始以为啥卡这部分是手机的NFC实现的,跑去研究了一下NFC,结果完全找错了方向,尴尬。然后赶紧回头找找串口通信的资料,结果找了好多资料和demo,demo完全跑不起来,后来去Android群里找群友问了一下才知道原因,这里感谢一下群里热心的群友们。&

2019-01-17 21:20:55 4104 3

原创 RecyclerView的item不充满的整个宽度的原因

  额,好长时间没有写博客了,本来预计的计划是每个月写一篇博客的。算了,废话不多说,今天遇到RecyclerView的item没有充满的整个宽度,这里记录一下原因.1.第一种是在adapter中加载inflater时parent传入为nullitem的布局是这样的:<?xml version="1.0" encoding="utf-8"?><LinearL

2018-12-12 15:36:08 2633

原创 Android ExpandableListView 使用中遇到的问题集锦

  最近项目需要用到类似qq的分组功能,网上找了一下是用ExpandableListView或者自定义或者Recycleview来实现的,这里我使用的是ExpandableListView,遇到的问题记录如下:1、ExpandableListView 展开失败的可能原因(ExpandableListView的group里添加button后不能展开的解决方法)   我们就在 getGroup...

2018-06-25 16:38:46 2765

原创 ScrollView 与 ListView 以及 GridView 滑动冲突完美解决

  我们在用ScrollView嵌套ListView或者GridView的时候会遇到两个问题,一个问题是ListView高度不正常,另外一个问题是ListView无法滑动。因为这几个控件太常用了。我们来看看应该怎么解决呢?在解决这个问题之前,我们先来解决一个小问题,就是在我项目中使用了ListView来填充数据之后,ListView直接跳转到了底部,这里记录一下解决方法: ScrollVi...

2018-05-06 19:47:20 3450

原创 搭建Java(Tomcat)开发环境以及遇到的问题

  最近准备学习一下Java后台开发,最基本的就是搭建开发的环境,首先是安装JDK,然后是Tomcat,这里记录一下安装过程中遇到的问题。JDK就不用说了,前面写搭建Android开发环境的时候也是要先安装JDK,不知道可以去看一下(Android开发环境搭建)。下面主要说一下Tomcat的安装。   其实安装Tomcat还是很简单的,首先去官网下载安装包:http://tomcat.apach...

2018-03-30 11:00:14 2239

原创 网络请求拦截302跳转,获取Location

  最近在做无线WiFi的时候,有这样一个需求,当手机连接上无线WiFi时,随意访问一个url就能够 跳转到认证登录页面,在这个过程中,实际上是先触发了AC的一个302重定向,然后才返回访问的(location)网址网页,我现在要在app上拿到这个302的重定向网址(Location),我应该怎么实现呢,这个问题困扰了小白不少时间,也是因为自己没弄明白这个原理,后来终于找到了方法,这里记录一下:...

2018-02-26 22:23:52 11196

原创 Android webview加载https链接错误或无响应

最近做无线WiFi的时候,在最后认证成功的时候会弹出一个广告页,于是用webview去加载了一下,结果没反应,打印url出来看了一下,发现是https格式的,在使用WebView加载https资源文件时,如果认证证书不被Android认可,那么会出现无法成功加载对应资源问题。那么,我们就要针对这一状况作出对应的处理。 于是百度了一下,这里记录一下,给大家做个参考: 1、设置WebView接受所

2018-01-04 10:25:58 11927 2

原创 通过H5(浏览器/WebView/其他)唤起本地app

前两天接到一个无线的需求,我这个小白可是忙活了好几天……在页面上有一个连接, 如果用户安装了APP,则点击打开对应的APP如果用户没有安装,则点击打开对应的设置连接.上网搜索了一下,基本都说可以实现,但是实际情况却不乐观.   当然只是其中的一个需求,还有的是现在各类app,分享出去的H5页面中,一般都会带着一个立即打开的按钮,如果本地安装了app,那么就直接唤起本地的app,如果没有安装,则跳

2017-12-11 10:50:01 19678 5

原创 控件布局(View)叠加效果

在开发android程序的时候,我们经常会遇到让控件或是view实现叠加的效果,如下图红圈部分所示:  其他类似的效果图就不展示了,一般这种情况,我们用Framelayout来处理就可以了,代码如下:<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk

2017-11-22 17:34:27 9381

原创 Markdown实用语法

首先来说明一下我们为什么要学习这门语言,作为一款「写作软件」,在诞生之初就支持了 Markdown,Markdown 是一种「电子邮件」风格的「标记语言」,我们强烈推荐所有作者学习和掌握该语言,很多互联网都是以Markdown编辑器为基础的。   在此,我们总结 Markdown 的优点如下:   * 纯文本,所以兼容性极强,可以用所有文本编辑器打开。   * 让你专注于文字而不是排版。

2017-10-25 14:07:37 3940

原创 使用Glide加载https网址图片

最近有网友问我怎么加载https图片,说是从网上找了很多办法都没成功,然后我就问他用的是什么图片加载工具,回答是glide,然后我自己也去网上找了一下,千篇一律的都说是结合okhttp来使用,修改okhttp的三个类,忽略认证,结果是没成功,还是加载不了https图片;还有一个最多的就是换图片加载工具:“UniversalImageLoader”,具体用法就自己看,这个图片加载已经不在主流里面了,但

2017-09-08 16:31:15 18833 8

原创 自定义ViewGroup

对自定义view还不是很了解的码友可以先看自定义View入门这篇文章,本文主要对自定义ViewGroup的过程的梳理,废话不多说。1.View 绘制流程  ViewGroup也是继承于View,下面看看绘制过程中依次会调用哪些函数。 说明:measure()和onMeasure()  在View.Java源码中:      public final void measure(int wid

2017-08-22 11:39:00 5472

原创 解决ListView显示不全、滑动冲突问题

在开发中,ListView是使用得最多的控件,有时候会遇到ListView因为各种原因引起的数据显示不全,例如,嵌套了ScrollView等。这个解决的办法很多,这里记录一下我自己用过的方法,本人亲测有效。 第一种: /** * 设置listview高度的方法 * @param listView */ public void setListViewHeight(ListView l

2017-07-31 11:40:43 6359

原创 自定义View入门

在Android应用开发过程中,固定的一些控件和属性可能满足不了开发的需求,所以在一些特殊情况下,我们需要自定义控件与属性。一、实现步骤继承View类或其子类 复写view中的一些函数为自定义View类增加属性(两种方式)绘制控件(导入布局)响应用户事件定义回调函数(根据自己需求来选择)二、哪些方法需要被重写onDraw()  view中onDraw()是个空函数,也就是说具体的视图

2017-07-10 14:31:56 5542

原创 Android事件分发机制

在android开发中会经常遇到滑动冲突(比如ScrollView或是SliddingMenu与ListView的嵌套)的问题,需要我们深入的了解android事件响应机制才能解决,事件响应机制已经是android开发者必不可少的知识。面试找工作的时候也是面试官经常会问的一个问题。1.涉及到事件响应的常用方法构成  用户在手指与屏幕接触过程中通过MotionEvent对象产生一系列事件,它有四种状态

2017-07-07 11:18:46 5739 1

原创 JitPack让第三方依赖更简单(第二种方法)

前面我们说了JitPack的第一种使用方式,感觉和jcenter差不多,不,还是比jcenter少了一些步骤的,但是还是很麻烦,下面我们看一看JitPack的第二种方式,超简单。第一步: 和前面一篇提到的一样,也要有github账号,我就不再重述了,什么,还不看过,点击这里([JitPack让第三方依赖更简单(第一种方法)(http://blog.csdn.net/u014727709/artic

2017-07-04 17:29:24 8356

原创 JitPack让第三方依赖更简单(第一种方法)

前面我们讲了如何将我们开发常用的工具发布到jcenter,然后进行依赖,这样有利于提高开发的效率,但是,又出现了一种新的发布方式,虽然现在使用的人还没有jcenter多,但是个人感觉未来使用的人会超过jcenter,而且使用的方式相对jcenter来说,也简便了很多,下面我们就一起来看看JitPack怎么来使用吧! 第一步: 当然是去github上面创建一个仓库,什么,你不知道什么是github

2017-07-04 17:14:15 6115 1

原创 一步一步教你将开源项目上传到jcenter(第二种方式)

前面我们讲了上传jcenter的第一种方式,现在我们来看看第二种,这种方式就比较简单了,当然,注册这些和前面这篇文章(一步一步教你将开源项目上传到jcenter(第一种方式))是一样的,不同的只是gradle里面的配置改变了,下面我们就来看看是怎么配置的,有了那些改变。 这次我们是通过bintray-release插件发布开源项目到JCenter,和第一种方法不同,不需要去创建maven仓库,配置

2017-06-30 10:14:00 5106

原创 史上最全的常用开发工具类收集(持续更新中)

API银行卡管理 → BankCheckcheckBankCard : 校验银行卡卡号是否合法getBankCardCheckCode: 从不含校验位的银行卡卡号采用 Luhm 校验算法获得校验位getNameOfBank : 通过银行卡的前六位确定判断银行开户行及卡种SharePreference缓存数据 → AppSharePreferenceMgrput

2017-05-24 10:17:58 17221 16

原创 一步一步教你将开源项目上传到jcenter(第一种方式)

最近闲着看了一下jcenter的使用,也想将自己使用频率比较高的东西抽成类库,然后通过compile来使用,提高开发效率,本来以为挺简单的,但是网上介绍的比较模糊,很多博客也比较老了,不适用,花了我一天的时间,还是走了很多弯路,这里记录下来,希望能帮助到小伙伴们,现在觉得还是挺简单的。 第一步:首先是注册,这就是我踩的最大的一个坑,导致我一天都没有上传成功。网上说的都是去jcenter的网站上注册

2017-05-02 21:24:29 5259 7

原创 百度地图基本使用及画线路轨迹播放问题

最近项目中用到了百度地图,以前用过的有点老了,最近百度地图改版了,所以这里记录一下遇到的问题。 百度地图一些基本的配置我就不说了,直接看百度地图开发者中心:http://lbsyun.baidu.com/ 就可以了。 当然有些也是从网上的博客里面看到的,这里没记住网址,一并感谢了。1、配置百度地图进行经纬度的定位和画折线图轨迹以及百度地图控件和ScrollView滑动冲突的问题解决。 2、在地

2017-04-24 18:05:34 9428 4

原创 Android Studio和eclipse混淆打包总结

最近项目有点闲,考虑到以前的项目没有做过混淆,为了安全性,准备给项目加上,这里做个总结,都经本人亲自在项目实践。混淆就是对发布出去的程序进行重新组织和处理,使得处理后的代码与处理前代码完成相同的功能,而混淆后的代码很难被反编译,即使反编译成功也很难得出程序的真正语义。被混淆过的程序代码,仍然遵照原来的档案格式和指令集,执行结果也与混淆前一样,只是混淆器将代码中的所有变量、函数、类的名称变为简短的英文

2017-04-17 19:48:03 3498

原创 好看的Dialog加载动画

做开发的时候,为了让用户体验比较好一点,app启动的时候会有一个启动欢迎页,那么进入到app以后,用户浏览页面,首先会进行网络请求,然后服务器响应数据回来,最后展示到页面上,用户才能看到丰富的页面。那么问题就来了,用户的网络有2G、3G、4G,现在一般是4G,但是用户的网络是不一样的,有些地方网络好,有些比较慢,加载网络数据的时候,网络太慢了就会显示一篇空白,这给用户的体验是非常不好的,所以就到了本

2017-01-17 17:07:37 4720 2

转载 玩转CSDN之自定义博客栏目

目录[+]自定义链接自定义带框框的链接贴图Flash新浪微博邮我HTML代码示例 玩转CSDN之自定义博客栏目 不得不说,CSDN在IT界还是非常不错的, 不管是文章数量还是质量,都非常不错,很多程序猿也在CSDN建了窝,那么如何把CSDN的主页设置的更加符合自己的口味,就是我们今天要做的事。CSDN博客的栏目指的是这块内容:这里面,有的是CSDN博客自带的内容,比如个人资料、

2017-01-17 16:40:07 895

原创 DrawerLayout侧滑菜单、Toolbar和沉浸式状态栏的使用

最近在开发中需要用到侧滑菜单,以前使用的SlidingMenu,但似乎已经被Google淘汰了(过时了),于是乎使用了DrawerLayout来实现,既然是在项目使用的,那么Toolbar和沉浸式状态栏也是要配合使用的,这里做一下记录。 我们先来看一看效果,这里是用模拟器实现的,效果不太好,真机上没问题。 一、沉浸式状态栏其实挺简单的,网上也很多,为了兼容低版本的手机可以先通过判断版本再来设置,

2017-01-16 15:32:03 5119

原创 Android studio配置git及使用方法

程序员开发一个项目,版本控制工具是必不可少的,常见的有SVN和Git等。前面我已经对SVN有了介绍,这里贴一下地址,不知道的可以去看看。Android studio配置svn及使用方法:http://blog.csdn.net/u014727709/article/details/53537954 和 Eclipse配置SVN的几种方法及使用详情:http://blog.csdn.net/u0147

2017-01-09 16:29:02 5343 1

转载 自定义view解析歌词文件并同步显示

最近有朋友问我做一个音乐播放器的难点在哪里,如果是做一个来面试玩的话,都不怎么难,开源项目中成熟的音乐播放器网上有很多了,但如果是给公司自己做的话,公司一般都不会使用第三方的sdk,那么就要进行解码器的开发了,最难的应该是这个吧。 *本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布已经有两个月时间没有发表新文章了,从开始发表文章以来,常常会有线上的朋友通过QQ和微信

2017-01-03 21:40:45 1485

原创 ListView的优化

Adapter是listview和数据源间的中间人,当每条数据进入可见区域时,adapter的getview()会被调用,返回代表具体数据的视图;触摸滚动时,频繁调用;支持成百上千条数据。既然是大量数据,就会使用到很多布局,给布局绑定数据,listview将占用大量资源还可能会产生卡顿现象。效果如下: 下面来看看代码:1.利用convertview回...

2016-12-28 18:40:05 596

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