自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hacjy

笔耕不辍,生命不止!

  • 博客(40)
  • 资源 (11)
  • 收藏
  • 关注

原创 Android Studio导入新项目,gradle报 read timed out的情景之一

我使用Android Studio3.0导入新项目时,gradle报 read timed out的情景之一: 由于项目的sdk没有使用自己下载的jdk1.8,而是使用AndroidStudio默认的jre目录,所以导致这个问题 。只要修改下jdk路径就好: 但是改完后,这个问题是解决了。又出现一个新问题: Unable to start the daemon process....

2018-03-26 09:46:09 40982 4

原创 奇葩布局:RecyclerView+Webview的布局,如何使之连贯滑动

场景:列表+webview的布局 会出现滑动分割,各自滑动自己的,没法连贯性滑动。有没有一个支持整体滑动的库呢?产品需要实现的场景:列表可见时,整体可滑动 列表不可见,滑动到webview,webview自己滑动 webview要支持下拉,把列表下拉显示 第三方库:ConsecutiveScrollerConsecutiveScrollerLayout是Android下支持多个滑动布局(RecyclerView、WebView、ScrollView等)和普通控件(TextView.

2020-12-31 10:22:05 29

原创 Java多线程:锁机制Synchronized与Lock

synchronized:是一个关键字,作用在类或者对象上。一旦线程A获取到锁,B就需要一直等待直到A释放了锁,所以它是不可中断的,这样子影响效率。使用该关键字,不知道是否获取成功获取到锁。是可重入锁,意思是:假如两个方法method1和method2,都用synchronized修饰,然后在method1中调用method2。调用method1,获取到当前对象锁,执行method2的话不需要再...

2018-10-16 14:05:20 115

原创 Android 定位ANR问题

做过Android的同学必定都有遇到过ANR(Application Not Response)问题,一般的做法是去查看traces.txt日志文件。今天刚好有碰到了,就记录下,方便以后查看。把traces.txt文件复制到电脑上使用adb pull data/anr/traces.txt命令。(一)首先,需要在系统变量path添加adb.exe所在的文件目录:(二)接着,就可以打开c...

2018-10-12 14:20:54 1984

原创 我的设计模式之路:策略模式

设计模式是老生常谈了,在网络上千篇一律,看的越多越容易混淆,所以最好的办法是自己实现一下,用自己的话总结,这样子我们对它的理解才会深刻,才会将其灵活的运用到项目中。我们以一个场景来展开对策略模式的概念理解。场景 公司有个老项目,里面涉及到一块关于直播推拉流线路切换的功能。以前的同事呢,估计是赶进度,把所有的cdn厂商的地址都写在一个类里面管理。 功能是完整实现了,但是对于其他没有接触该...

2018-07-25 17:53:13 179

原创 Glide加载hppts图片失败的解决办法,亲测有效

Glide加载https图片报错:javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.解决办法:在Application的onCreate中调用方法handleSSLHandshake()...

2018-07-14 17:14:16 4798 5

原创 启动app白屏的解决办法,亲测有效

在欢迎页的主题中设置window背景图,可以解决启动显示白屏的问题<item name="android:windowBackground">@drawable/bg_start</item>

2018-07-10 17:46:55 7037

原创 LinkHashMap避免乱序:过滤数据,map存储顺序混乱的问题

使用map存储数据的时候,不能保证顺序的有序性,所以使用LinkHashMap避免乱序的问题 //key为ID,value为PrizeModelLinkedHashMap<Long,PrizeModel> map = new LinkedHashMap<>();...

2018-05-21 17:38:21 2207

原创 RecyclerView:动态设置item的占比,多列还是1行

在Adapter中重写该方法:onAttachedToRecyclerView /** * 网格布局,动态设置item的占比 * 如果是2列,返回2,就是item占据1行。 * @param recyclerView */ @Override public void onAttachedToRecyclerView(final Rec...

2018-05-21 17:36:41 5130

原创 Recyclerview 特别好用的局部刷新item方法

一般列表刷新,会使用notifyDataChanged,会使列表整个刷新,虽然达到了效果,但是不美观。所以,如果可以做到只刷新需要刷新的item就好了。这里就有个特好用的方法,分享给大家。 /** * 更新某一个item数据 * @param nearbyNewAnchorInfo */ public void updateNearbyAndNewAnch...

2018-05-21 17:30:29 8176 1

原创 Android7.0设置状态栏颜色,显示灰色的解决办法

使用正常方法设置toolbar颜色,状态栏会有灰色蒙版层(在华为mate8测试机有)。所以改用以下方法解决。if (android.os.Build.VERSION.SDK_INT >= 21) { //解决Android5.0以上,状态栏设置颜色后变灰的问题 Window window = ((IndexFragmentActivity) iIndexFragmentAct...

2018-05-21 17:22:48 3299 3

原创 Recyclerview列表item设置成等宽高的正方形

第一种方法是动态设置宽高:(亲测有效) //设置item的高度跟随宽度走 ViewGroup.LayoutParams parm = holder.layoutContent.getLayoutParams(); parm.height = gridLayoutManager.getWidth()/ gridLayoutManager.getSp...

2018-05-21 17:17:58 3447 3

原创 jackson对于默认值不进行序列化

场景 json串中的属性值有些是默认的,那么就不必要传递给服务端了,减少对象序列化为json的时间。json与对象的转换自然要借助于json工具了,也是我们今天的猪脚:jackson。gradle配置 dependencies { compile ‘com.fasterxml.jackson.core:jackson-databind:2.3.1’ ...

2018-04-10 20:27:58 2515

原创 gradle加入jackson,编译时报错:com.android.builder.packaging.DuplicateFileException: Duplicate files

今天在Android Studio项目中加入了jackson的开发包,编译运行时候,引发了如下的错误: Error:Execution failed for task ‘:app:transformResourcesWithMergeJavaResForDebug’. com.android.build.api.transform.TransformException: com.an...

2018-04-10 19:19:58 773

原创 有效解决Android SDK Manager无法更新下载的方法

参考自:https://www.cnblogs.com/hackpig/p/8502851.html实际上,就是修改hosts文件,将地址指向可以ping通的ip,通过ping.chinaz.com网站查找可用的ip地址以下提供一组可用的IP(如不可用,请自行查找替换哦~) 203.208.50.70 dl.google.com 203.208.39.99 dl-ssl.go...

2018-04-09 20:08:30 4766

原创 Error:Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Bad Request"

在导入新的项目时,可能会出现Error:Unable to tunnel through proxy. Proxy returns “HTTP/1.1 400 Bad Request”,这个问题主要是因为gradle版本与studio所用的版本不一致导致的,所以我们只要改下gradle的配置路径就好了。具体操作如下: 打开settings页面,搜索Gradle,然后设置下gradle路径就好了。...

2018-04-03 10:39:01 3536

原创 使用AS编译时,报Error:java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException

使用AS编译时,报Error: Error:Execution failed for task ‘:app:transformClassesWithDexForDebug’. com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java...

2018-04-03 10:33:45 599

原创 thrift入门-Android

1、什么是thrift?thirft是Facebook公布的一款开源跨语言的RPC框架。 thrift通过一个中间语言IDL(接口定义语言)来定义RPC的数据类型和接口,这些内容写在以.thrift结尾的文件中,然后通过特殊的编译器来生成不同语言的代码,以满足不同需要的开发者,比如可以生成java代码,生成c++代码,生成的代码中不但包含目标语言的接口定义,方法,数据类型,还包含有RPC协议...

2018-03-29 16:34:33 834 1

转载 小程序自定义组件

小程序基础库版本1.6.3开始,小程序支持简洁的组件化编程,由于小程序不支持状态管理模式,导致组件之间耦合程度比vue的低(自定义组件套自定义组件,如果自定义组件要触发界面方法,必须一层一层回调)。创建自定义组件类似创建page界面类似,右击选择创建compents,默认创建四个文件:.json、.wxml、.wxss、.js。创建自定义组件,在json文件中自定义组件会声明compone...

2018-03-19 09:24:36 1021 1

转载 微信小程序video控件的使用

微信小程序video控件的使用微信小程序video控件的使用一、简介二、属性三、相关实现api1、wx.createVideoContext2、videoContext对象四、代码实现实现效果,如下图实现原理:一、简介video控件是微信小程序提供的系统组件之一,用于实现播放视频的功能。二、属性| 属性名 | 类型...

2018-03-19 09:09:18 33958 4

转载 微信小程序开发注意点

微信小程序开发注意点微信小程序开发注意点1、虚拟机和真机上的运行环境的差别?2、动画效果的实现?3、事件的传递?4、事件上target和currentTarget的区别5、修改版本号及版本号适配6、wxs的使用?1、虚拟机和真机上的运行环境的差别?在开发工具上, 小程序的JS代码是运行在nwjs中在iOS上,小程序的JS代码是运行在Java...

2018-03-19 09:08:29 256

转载 微信小程序指南

四川建设厅小程序指南四川建设厅小程序指南微信小程序简介账号申请流程1.注册账号2.选择注册的账号类型3.填写注册信息4.激活邮箱5.填写主体信息6.选择主体类型7.填写主体信息并选择验证方式8.确认主体信息不可变更9.点击确认完成注册流程微信工程简介微信前期踩点思路工程介绍开发工具最新版本下载地址(1.01.1712150)界面登录页模式选择新建...

2018-03-19 09:07:29 623

转载 Android 透明状态栏实践

采用的方法,只支持4.4以上版本,并且需要用到Toolbar,采用AS自带模拟器进行测试。主要内容有以下几点:如何在4.4及5.0系统上实现透明状态栏使用DrawerLayout和NavigationView情况下的透明状态栏如何在全屏DialogFragment上实现透明状态栏启动页状态栏的处理转载自:https://www.jianshu.com/p/56c2f525544e...

2018-03-15 11:40:39 151

转载 Android 7.0以上版本,如何实现应用内语言切换

7.0系统之前,系统语言的设置是一种; 7.0以后,系统语言的设置是一组; 所以,导致以前的设置语言的方法过时了,到了8.0就不能再起作用了。原来的设置语言代码: 现在的需要区分版本设置: public class MyContextWrapper extends android.content.ContextWrapper {public MyContextWrappe...

2018-03-15 10:50:22 1150 1

原创 进阶的基础,跟着大神的步伐

扔物线:【高级Android工程师进阶手册】 http://hencoder.com/qing的世界:【RxJava解析,视频开发进阶(概念)】 https://www.jianshu.com/u/a32db45d4859鸿洋【源码解析】 http://blog.csdn.net/lmj623565791郭霖【设计模式】 http://blog.csdn.net/guolin_...

2018-03-15 10:36:17 143

原创 小程序业务模块文件介绍

-以登陆模块为例1、login.wxml 页面文件import view2、login.json属性设置 比如设置该页面的导航栏标题为“未关联微信” 是否启动下拉刷新,使用组件声明等3、login.js 逻辑处理Page 里面有数据结构data, 页面生命周期:onLoad,onReady,onShow,onHide,onUnLoad4、login.wxss...

2018-03-14 17:11:42 443

原创 小程序构成的主文件介绍

1、app.json设置窗口的属性:导航栏背景色,导航栏文本样式,导航栏标题文本,背景色,背景文本样式,距离底部的距离等设置tabbar:颜色,选中的颜色,边框样式,tab项集合(List) list中对象的属性:页面路径,图标路径,选中的图标路径,文本设置网络超时属性:请求超时时间,连接scoket超时时间,上传文件大小,下载文件大小2、app.js引入自定义的组件,比如t...

2018-03-14 17:10:58 370

原创 对于tcp/udp http协议的认识

tcp/udp http协议网络七层:物理数据链路网络传输会话表示应用ip是位于网络层,tcp是位于传输层。http是位于应用层。 tcp协议是基于ip协议的,两者互补。tcp协议的三次握手: 【第一次握手】:客户端尝试连接服务器,向服务器发送syn(同步序列编号)包,syn=j,客户端进入SYN_SEND状态等待服务器确认; 【第二次握手】:服务器收到客户端的syn包并确认(a...

2018-03-14 16:58:06 420 2

原创 NDK开发流程介绍

NDK开发流程 (一)Java调用C方法1、安装ndk 在Android Studio的project structure目录,有个Android NDK location设置。未下载ndk的可以点击下方的download下载。 2、配置path路径 在环境变量path中配置ndk的路径。 3、项目中关联ndk 在项目的local.properties中添加ndk路径: n...

2018-03-14 16:56:19 153

原创 Android性能优化的一些建议

. 布局优化:1、使用层级少的布局,LinearLayout和FrameLayout优于RelativeLayout;2、单一布局实现不了时,会进行嵌套布局,一般RelativeLayout优于嵌套布局;3、采用include复用布局,merge减少布局的层级,viewstub按需加载。. 绘制优化:onDraw方法要避免大量的操作1、避免创建新的临时对象,因为onDraw方法可能被频繁调用...

2018-03-13 09:33:40 102

原创 Jenkins+Gradle+Git+Pyger+二维码搭建Android自动打包平台

1、下载jenkins war包从Jenkins官方网站下载最新的war包,然后在war的目录下打开cmd,执行命令:java -jar jenkins.war。 看到以下信息,就表示jenkins安装成功了。2、启动jenkins第一次启动Jenkins时,出于安全考虑,Jenkins会自动生成一个随机的口令。注意控制台输出的口令,复制下来,然后在浏览器输入:http://lo...

2018-03-13 09:31:17 575

原创 在Android Studio中修改maven私库的地址

在.gradle目录中,修改init.gradle文件,修改其中的maven地址。 在.m2目录中,修改settings.xml文件,修改其中的maven地址。以下是init.gradle文件: allprojects {repositories { def REPOSITORY_URL = ‘http://192.168.1.XX:XXXX/nexus/content/gro...

2018-03-13 09:30:07 1556

原创 Android8.0适配之一应用图标适配

1、适配条件target在26以下,不用做适配。 如果设置target=26及以上,在8.0不做适配,就会显示成一个圆圈包围着logo,不好看。2、Android 8.0应用图标适配原理:应用图标分为2层:前景层(logo层)和背景层(只能定义颜色和纹理,不能定义形状) 最后8.0系统会给它加上一层mask层(目前所知的是圆圈mask)3、怎么适配Android...

2018-03-13 09:23:03 1539

原创 Android Studio3.0 Gradle相关配置

基于Android Studio3.0 提供demo:https://github.com/hacjy/GradleConfigDemo1、依赖库的统一管理配置 -创建config.gradle 关键字ext -如何使用:首先,在工程的build.gradle中导入该配置文件:apply from:”config.gradle”; 然后,使用rootProject对象调用,如rootP...

2018-01-17 09:16:45 304

原创 面试随记

1、抽象类与接口的区别 抽象类:是子类的通用特性的抽象。它可以有具体的实现方法,子类使用extends关键字继承于它,实现抽象类中抽象方法的实现,可以有自己的构造器,但是不能够实例化。抽象方法的修饰符可以是public,protected和default。 接口:是抽象方法的集合。它的方法都是抽象的,没有实现,实现接口用implements关键字,不能有构造器。接口方法的修饰符是public。...

2018-01-10 16:58:01 544

原创 Android-DataBinding入门系列(一)基本介绍

Google在15年的发布大会上提出了DataBinding数据绑定框架,解决了Android编程的一大痛点。官方原生支持MVVM模型让我们可以在不改变既有的框架上使用上新的特性。它可以使我们的代码更加简洁,不必在页面中写太多的findViewById,省时省力。今天我们也体验了一把,记录下遇到的问题和简单的入门介绍下。1、Android Studio需要更新到 1.3 版本,而且需要开启DataB

2017-12-06 09:12:05 213

转载 [转]优秀Android博客大全,整理了国内外大神博客/Github地址,是学习Android进阶的首选

[转]国内外优秀Android博客大全,覆盖了国内外大神博客地址,Github地址,是学习Android进阶的首选国内: 昵称 Github 博客 介绍 邓凡平 http://blog.csdn.net/innost 阿拉神农 魏祝林 http://blog.csdn.net/android_tutor Trinea https://github.com/trinea

2017-11-22 17:25:34 329

原创 Android实用功能(一)CollapsingToolbarLayout实现标题栏的伸缩

概述CollapsingToolbarLayout作用是提供了一个可以折叠的Toolbar,它继承至FrameLayout,给它设置layout_scrollFlags,它可以控制包含在CollapsingToolbarLayout中的控件(如:ImageView、Toolbar)在响应layout_behavior事件时作出相应的scrollFlags滚动事件(移除屏幕或固定在屏幕顶端)。效果图代

2017-11-21 16:53:42 1774

原创 Android性能优化(一)APP启动速度优化

Android性能优化(一)APP启动速度优化引言一般来说,我们都会将自己的产品与同类的产品进行个比对,不可避免的会去做些性能优化,以达到胜过其他产品的优势。所以,今天我们就来讲讲性能优化的方方面面。通常我们所说的性能优化,会从以下几个方面入手: 1. APP启动速度优化 2. APP UI流畅度优化 3. 内存优化 4. APP瘦身 5. 电量优化

2017-11-20 16:34:08 1086

原创 自定义View-滑动开关

滑动开关组件:这个控件主要由田径场式背景和滑块组成。我们可以使用Path中的addRoundRect(RectF rect, float[] radii, Direction dir)绘制出圆角矩形。通过监听touch事件,不停的绘制田径场式背景和滑块,从而达到滑块跟着手指滑动的显示效果。

2017-11-17 15:39:39 233

jenkins的svn publisher插件

jenkins上传apk到svn的插件,是必须要的插件,离线版本。

2018-09-03

Struts+Spring+Ibatis整合的Jar包

Struts+Spring+Ibatis整合的Jar包

2013-11-21

PowerDesigner15教程

powerDesigner15入门教程,希望对你有所帮助。

2013-03-13

C语言图形函数介绍

图形函数介绍,包括一些常用的函数,对大家有用,特别是在游戏编程。

2011-12-30

推箱子源代码 C/C++

比较完善的界面,基本上完成了功能的设定。

2011-12-30

学生成绩管理系统

比较完善的学生成绩管理系统,具备查询、插入、删除、保存等基本功能,界面也比较完美。

2011-12-26

21点游戏代码 C语言

比较完美的游戏界面,基本功能都具备,属于人机游戏。

2011-12-23

common.zip

Android快速开发框架:提供通用的普通列表,单选类表,多选列表,通用的自动换行LinearLayout,通用的Viewpager+tab等控件,聊天气泡UI等

2019-09-25

waveview.zip

Android录音功能,支持录音,适用Lame ndk将amr音频文件保存为mp3,适用于发语音消息

2019-09-25

Android音视频播放

很好的支持音视频的播放,demo运行正常 =========================== 使用七牛云播放音乐; 使用bilibili播放器播放视频; 音乐播放界面,实现了动画效果:播放中转盘不停的转动,播放暂停拨片会有移动效果等。

2018-05-08

Android圆形进度条

Android圆形进度条,支持圆弧进度,中间显示进度值,上下显示提示文案,支持自定义宽度和进度以及文本。

2017-06-16

空空如也

空空如也

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

TA关注的人 TA的粉丝

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