自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 阅读ArrayList的动态扩容源码

ArrayList可以理解成一种“会自动扩增容量的Array”。那么问题来了,ArrayList是如何扩容的?首先打开ArrayList源码,我本地是Java 1.8版本。针对最初的问题,可以翻到add(E e) 方法: public boolean add(E e) { ensureCapacityInternal(size + 1); // Increments modCount!! elementData[size++] = e; retur

2020-07-31 17:41:47 129

原创 Andorid 6.0权限管理库,可使用默认或自定义提示框

最近更新:添加“不再提醒”选项的处理逻辑;重构。支持:权限不足时,可使用默认提示框;权限不足时,也可自定义提示框业务流程图:宗旨:减少Ctrl+Ctrl+V的重复劳动。注意:用户选择“不再提示”选项,requestPermissions会调用失败,但是会走onRequestPermissionsResult回调。所以可以在onRequestPermissionsResult方法中判断shouldShowRequestPermissionRationale方法。shouldShowReque

2020-07-22 11:17:22 214

原创 Android:封装一个通用PopupWindow

如果你的项目需要显示很多PopupWindow,那么SmartPopupWindow绝对能帮你大忙。像写activity一样创建popuwindow.来看看具体的如何使用吧:1.在project的build.gradle文件中添加maven { url 'https://jitpack.io' }2.在项目中引用implementation 'com.github.jjjSilenc...

2020-01-19 17:16:41 753

原创 android DecorView

DecorView ,界面的顶级View,他的结构下图所示。DecorView的自己由系统状态栏和LinearLayout组成。下图的红色圈圈部分,是我们开发时熟知的ViewGroup content=findViewById(android.R.id.content) 部分,content实则是一个Fragment布局,它的子View就是我们的界面布局,可以通过content.getChil...

2018-07-26 18:40:40 599 1

原创 拼单点外卖,AA付款

中午点外卖,发现有的同事点的多,有的同事点的少,大家合在一起点不仅能减少配送费,达到一定价格还有满减活动,很不错。介于大伙都不是土豪,采用AA点餐,按比例付款的方式。 每个人最后应付费用 = 每个人总费用/折扣前拼单总费用*折扣后拼单的总费用。下面是我用elipse工具写的简单java代码,解决点外卖AA付款的问题:public class Main { /** * ...

2018-07-26 14:09:13 2157

原创 使用接口回调实现Activity的通信

开发过程中,少不鸟组件之间的通信,比如Activity和Fragment,Fragment和Fragment, Activity和Application等等。下面通过一个列子具体说说接口回调是如何实现组件通信的: 现在有这样一个需求:点击通知栏里该app的通知,点击之后需要跳转到通知详情界面。如果此时界面处于通知列表,在跳转通知详情的时候还需要刷新下该通知列表。集成过第三方推送的小伙伴都知道...

2018-07-05 15:27:57 1742

原创 记录集成融云即时通讯笔记(二)——好友聊天

2.1、会话列表:自定义会话列表界面 @Override public void initView() { // 融云的权限相关 // RongYPermission.requestEasePermission(this); // 加入自定义会话列表 FragmentManager fragmentManager...

2018-04-19 13:21:09 792

原创 我的kotlin学习笔记(二)——嵌套类、内部类和匿名内部类

嵌套类:class A { // B称作A的嵌套类 class B { fun test(){ // 不可访问name变量 } }}内部类内部类用inner修饰,内部类可以访问外部类的成员class A { var name = 0; inner class B { ...

2018-04-18 15:10:46 371

原创 记录集成融云即时通讯笔记(一)——初始化环境

1、初始化配置融云官方文档1.1 、SDK初始化下载最新IMKit包,分别导入IMKit(界面库)和IMLib(通讯库),在app的build.gradle中添加:compile project(':IMKit')添加融云的APP_ KEY,添加到IMLib的AndroidManifest.xml 的value值下<meta-data android:na...

2018-04-17 17:25:39 2884

原创 记录android 4.2.2用shape绘制半圆时候的适配

先上朋友给我看的图: 左边的是4.4.2版本以上的,右边的是4.4.2版本,问题很明显,半圆形的背景在4.4.2上面被拉伸。这类问题以前也做过,脑子不记事,忘得快。但是我相信勤能补拙,赶紧的记个笔记吧。我朋友用shape来实现这种效果的:<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="ht...

2018-04-13 20:26:38 1501

原创 算法题——快速排序

给出一个区间的集合, 请合并所有重叠的区间。示例:给出 [1,3],[2,6],[8,10],[15,18],返回 [1,6],[8,10],[15,18].已知: static class Interval { int start; int end; Interval() { start = 0; end = 0; } ...

2018-03-30 13:36:36 222

原创 记录下初次接触快应用的经历

快应用官方文档:https://doc.quickapp.cn/ 参考文档:http://www.wanandroid.com/blog/show/2092环境配置:1、安装node.js:完成node.js的安装和环境配置。 windows环境教程:点击这里2、安装hap-toolkit(命令行下载安装),参照官网或鸿洋的博客即可。3、安装vscode:,没悬念,直接ne...

2018-03-22 16:06:41 204

原创 kotlin的初始化

kotlin早就火起来了,我才刚刚学会初始化,步伐落后一大截, 不,是从南极到北极的距离。网上好多关于kotlin初始化的博客,官网都给出了详细的步骤,下面是我自己实现步骤,还是写写吧,反正闲着也是闲着:1、在项目根build.gradle下添加代码:buildscript { ext.kotlin_version = '1.2.30' repositories ...

2018-03-16 09:14:00 1888

原创 我的kotlin学习笔记(三)——类和对象

本篇主要讲类,里面也混杂着其他小点。类使用关键字class声明类,类由类名、类头(指定其类型参数,主构造函数等)和花括号包围的类体构成。类头和类体可以省略;如果没有类体,可以省略花括号。class Invoice(name: String) {}// 没有类体,省略花括号class Empty3.1 、创建实例对象 kotlin没有new关键字,我们直接调用对象xx()...

2018-03-15 17:46:23 297

原创 我的kotlin学习笔记(二)——基本类型

记上篇笔记后,继续学习2、基本类型2.1、?和 !!// ?:表示当前是否对象可以为空var recyclerView: RecyclerView?=null// !!: 表示当前对象不为空的情况下执行recyclerView!!.setHasFixedSize(true)2.2、数字字面值中的下划线// 增加数字常量的可读性val phone = 188...

2018-03-09 15:35:56 170

原创 认识java序列化

虽然从事开发工作两年,最突出的提升也就是应付工作的能力,对于基础概念还是不知所云。惭愧惭愧。。。1、序列化的存在一定有它的道理,先来看看序列化的前世今生:Java平台允许我们在内存中创建可复用的Java对象,在JVM处于运行时,这些对象才可能存在,也就是说这些对象的生命周期不会比JVM的生命周期长。但在实际应用里,可能要求在JVM停止运行后能够保持(持久化)指定的对象,以便在将来重新读取被...

2018-03-08 15:23:23 150

原创 我的kotlin学习笔记(一)——对象

正儿八经上班第一天,刚刚想写的什么的时候,发现同事在项目里面使用了kotlin。真不知道是该高兴奈还是该高兴奈,总有人推着你前进。那我也开始吧。半年前看过一点,现在忘得差不多了,写的比较乱,都是边开发边学习。 ————————-jjj的kotlin学习笔记————————- 1、对象1.1、对象表达式先回顾下java的匿名内部类:匿名内部类就是没有名字内部类,因为没有名字只能使用 ...

2018-03-07 19:02:23 540

原创 XUtils数据库使用小结

1、创建数据库:public class DBUtils { public static DbManager getDb() { DbManager.DaoConfig daoConfig = new DbManager.DaoConfig() .setDbName(BaseConstant.DB_NAME)

2018-01-22 16:31:47 825

原创 记录7.0加载so文件失败:java.lang.UnsatisfiedLinkError: dlopen failed: library "libsqlite.so" not found

7.0及以上手机报这个错误,导致.so文件加载失败。原因: 7.0以后,Andorid不允许直接访问系统的私有so文件了。解决: 1、把targetSdkVersion改小于24。2、apk中带上需要的so文件,这儿是libsqlite.soa、下载附件中的so文件,放到对应的文件夹下,如libs/armv7-abi/libsqlite.so,并注意你的gradle是否

2018-01-04 14:47:09 7238 3

原创 android开发小细节笔记

1、activity界面默认不弹出软键盘方式:两种方式:// 1、动态设置getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN)// 2、manifest文件android:windowSoftInputMode="stateHidden"2、e

2017-11-07 10:41:20 429

原创 android:总结自定义软键盘遇到的小问题

先上图: 刚开始写自定义软键盘是走了点弯路,用控件去实现,好多小细节处理起来真的太抓狂了… 后来发现 神控件 KeyboardView,只需要两步就能轻松实现软键盘(代码在最后):Stpe 1:在xml文件下添加键盘布局;Stpe 2:设置OnKeyboardActionListener监听;本篇主要介绍下自定义软键盘中遇到的问题,如下:1、字体颜色模糊:设置一下两个属性行了 android:

2017-10-17 16:33:48 2479

原创 android——暴力隐藏底部导航栏

最近在做平板项目,boss要求隐藏掉底部导航栏,各种谷歌百度了半天,可愁死我了。因为导航栏是系统自带的,要实现隐藏要么修改framwork层代码,要么想点别的招。本宝菜鸟一只,哪里会啥修改framwork层代码啊,愁…度娘也说了,想要隐藏,可以设置全屏,但是这种方案有个问题,就是手指一旦在底部进行上滑操作导航栏就显示出来,并不是我想要的效果。如果导航栏一旦显示,能够立即把它隐藏掉就好了。啊呀,开始百

2017-09-26 15:23:05 6036 1

原创 nexus3创建maven私有仓库——安装windows版

建立企业内部maven服务器,安装nexus3的步骤如下:1、下载nexus3:链接:https://www.sonatype.com/download-oss-sonatype 下载windows版本2、解压nexus3的zip包,找到\nexus-3.3.1-01\bin文件夹,shift+右键 -> 在此处打开命令窗口3、输入 nexus.exe/run -> 回车等待几分钟后,控制台出现“

2017-08-24 16:32:25 4709

原创 关于WebView的两个问题

1、err_unknown_url_scheme用webview加载“https://so.m.jd.com/ware/search.action?keyword=健康运动”,在第一次加载的时候会报err_unknown_url_scheme。这里感谢这篇文章博主的解答:http://blog.csdn.net/grp0916/article/details/51481330解决方法: 只调用se

2017-08-22 11:02:42 818

原创 android 4.4版本以上透明状态栏的简单实现

开发中,设计图照着苹果来的(/(ㄒoㄒ)/~~),导航栏颜色的设置直接影响美观和用户体验,kitkat4.4及其以下版本先不管,4.4以上版本还是很有希望实现的,且往下看。准备工作:首先在res文件下新建一个values-v21文件夹,在该文件下新建一个style.xml文件,style.xml文件里的所有属性都是针对api21及其以上版本设置的。设置顶部透明状态栏: <item name="an

2017-08-02 17:44:02 616

原创 仿京东下拉刷新动画的源码查看——自定义控件学习(一)

下拉刷新动画在优秀的应用中越来越普遍,get到此技能是菜鸟成长的必学课程。我比较喜欢看网上的demo学习别人如何实现的。网上优秀的下拉刷新动画差不多有美团京东之类,下面来逐步看看被人是如何实现的。仿京东的下拉刷新动画博客来自http://blog.csdn.net/nugongahou110/article/details/50000911 ,感谢博主的分享。根据原文的分析这个下拉刷新效果分为两个部

2017-07-24 16:14:12 779

原创 android仿美团底部导航栏的点击效果——揭露动画

又是划水的一天好开心,无聊逛了逛美团,喜欢上美团底部导航栏的点击效果。感觉在哪里见过,又想不起来,后来一波百度,发现就是安卓5.0的揭露动画createCircularReveal。什么事揭露动画,参考http://www.itdadao.com/articles/c15a1442955p0.html。 看到没,大概就是这种动画效果,用的好的话,这种效果其实会很可爱。于是,我快速的加入新建demo

2017-07-18 17:11:03 10869 6

原创 ViewPager的预加载:setOffscreenPageLimit(int limit)

项目中有个界面是一个ViewPager加载四个Fragment,每个Fragmet里面都有带动画效果的刷新功能,如果打开这个界面, 那么第一个Fragment开始刷新数据,此时快速切换到第三个界面,过会再切换回第一个界面,会发现数据加载完毕,但是动画效果卡在那里。后来经过多次百度,发现在viewpager中有一个setOffscreenPageLimit(int limit)方法,可以设置viewp

2017-07-11 16:21:37 764

原创 android 使用MVP模式完成一个小demo——登陆

mvp模式已经火很久了,之前也看网上好多人都在讨论这个设计模式,从网上下载过很多demo,可能是基础不到位,挺难理解的。这段时间公司来的新同事,听说他就是使用这种模式开发,一时好奇就跑过去请教了一波,趁热打铁,自己再研究一波,希望有所突破。百度下来,发现一篇简而易懂的好问,特贴出来https://segmentfault.com/a/1190000003927200。我的demo是一个登陆功能,也是

2017-07-08 16:39:20 1248

原创 关于mob第三方登录的坑——微信篇

第一次用mob继承android的第三方登录,就踩到了个大坑,我是应该高兴还是高兴。首先说说集成步骤:1、准备工作:拷贝各种jar包到libs文件夹下面,拷贝ShareSDK.xml文件到asserts文件夹下面。2、获取微信的第三方登录的AppId和AppSecret,分别替换掉ShareSDK.xml文件的默认数据。 <Wechat Id="4" SortI

2017-06-29 17:07:47 3005

原创 项目上传到github的方法

昨天想整理整理把一些代码上传到github ,方便日后使用,刚创建完一个项目就在上传代码到github这边卡住了,心好累。 后来百度问同事以后发现有好几种方法可以实现:1、使用AndroidStudio直接上传到github:先设置下github的用户名和密码,大概与github建立连接;然后直接 使用VCS 上传:这两部项目就可以完美上传了,以后提交更新也很方便选中要提交的项目右击,直接上图:可以

2017-06-27 10:26:50 271

原创 关于android项目的全局配置——config.gradle

关于android项目的全局配置——config.gradle忙忙碌碌半年,最近工作有点不开心,准备跑路时才发现自己啥都不会。正好赶上毕业季,工作超级难找,只有一年工作的汪哭晕在电脑前。同事一个个跳槽成功,更加激发了本汪学习的动力,好记性不如 烂笔头, frighting!!!开发比较大的项目,或是进行组件化开发的时候,一个project会有多个app,这时候每个app中的compile工程如果不

2017-06-26 15:14:57 5990 1

转载 Android Studio调试功能使用总结【转】

这段时间一直在使用Intellij IDEA, 今天把调试区工具的使用方法记录于此。 先编译好要调试的程序。1.设置断点选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可。 2.开启调试会话点击红色箭头指向的小虫子,开始进入调试。 IDE下方出现Debug视图,红色的箭头指向的是现在调试程序停留的

2016-03-22 10:05:49 250

空空如也

空空如也

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

TA关注的人

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