自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 资源 (4)
  • 收藏
  • 关注

原创 Android IM聊天键盘推荐

Android IM聊天键盘推荐 - 简书

2023-10-24 20:13:47 73

原创 android仿抖音效果

https://blog.csdn.net/JArchie520/article/details/110791624

2022-10-24 23:39:35 2276

原创 android studio每次修改都需要clean问题

android studio每次修改代码,都需要手动删除app下的build目录,否则会报错:经过测试,发现我的gradle插件是3.3.2,修改成3.2.1没有问题。另外gradle插件3.3-3.5都有这个问题。

2020-07-31 13:35:12 2483

原创 映射

映射存储(键,值)数据对的数据结构(key,value)根据键(key),寻找值(value)可以使用链表或者二分搜索树实现使用链表实现映射定义Map的接口:void add(K key, V value);V remove(K key);boolean contains(K key);V get(K key);void set(K key, V newValue);int getSize();boolean isEmpty();LinkedListMap.javap

2020-06-03 22:41:20 204

原创 集合

结合介绍集合,就是承载元素的容器,集合有个特点是每个元素只能存在一次,集合的这个特点能够非常快速地帮助我们完成一些去重的工作。在这里可以考虑使用二分搜索树实现集合,因为二分搜索树不能存放重复元素,能够非常好地实现集合的底层数据结构。下面是定义结合数据结构接口所需要实现的操作方法:void add(E e);boolean contains(E e);void remove(E e);int getSize();boolean isEmpty();集合最重要的性质,不能添加重复元素。

2020-06-03 08:39:02 142

原创 二分搜索树

树结构本身是一种天然的组织结构,比如我们常见的文件夹结构,还有类似图书馆里面的图书分类等等,还有比如我们公司的职能部门。二叉树的特点1. 将数据使用树结构存储后,出奇地高效2. 二叉树和链表一样,是动态数据结构3. 二叉树具有唯一的根节点4. 二叉树每个节点最多有两个孩子5. 二叉树没给接地那最多有一个父亲6. 二叉树具有天然递归结构二分搜索树二分搜索树是二叉树,其每个节点的值大于其左子树的所有节点的值,小于其右子树的所有节点的值。二分搜索树存储...

2020-06-02 21:29:25 153

原创 android 使用mediaplayer播放网络音乐

关于mediaplayer 的介绍MediaPlayer是Android自带的一个多媒体播放类,可以播放音视频流或者本地音视频文件。MediaPlayer方法的调用需要在一定的状态下,下图是一个MediaPlayer对象被支持的播放控制操作驱动的声明周期和状态。其中,椭圆代表MediaPlayer可能驻留的状态,弧线表示驱动MediaPlayer在各个状态之间迁移的播放控制操作。这里有两种类型的弧线。由单箭头开始的弧线代表同步方法调用,而以双箭头开头的弧线代表异步方法调用。图片介绍来源于官方文。.

2020-05-10 16:54:53 4997 2

原创 java 递归

什么是递归本质上,将原来的问题,转化为更小的同一问题,递归实际上也和普通函数调用一样,只不过调用的是函数自身。满足递归的2个条件:1. 自身调用,通过自身调用来逐步缩小问题的规模2. 递归出口,存在一种简单条件,能够让该方法退出合理地使用递归能够大大简化我们的程序代码,但是递归调用也是有代价的:函数调用会使用系统栈空间,频繁的函数调用会给系统栈空间带来额外的开销。下面是递归使用的2个例子1. 数组求和public class Sum { public s...

2020-05-09 00:05:22 1506

原创 java 使用链表实现队列

这里首先实现了一个自定义的列表,这个列表有以下特点:1. 使用head标记头结点,使用tail标记尾结点2. 由于在尾部删除节点,需要查找删除节点前一个元素,所以尾部删除节点需要从前向后遍历3. 实现队列应该在尾部插入元素,头部删除元素完整代码:Queue.javapublic interface Queue<E> { int getSize...

2020-05-06 09:02:43 256

原创 java 链表实现栈

由于栈是先入后出的,使用链表的方式实现栈,时间复杂度都是O(1),以下是一个链表实现栈的例子:LinkedListStack.javapublic class LinkedListStack<E> implements Stack<E> { private LinkedList<E> list; public LinkedListS...

2020-05-06 09:00:47 338

原创 java 链表

这是这段时间学习链表的笔记和总结。链表是一种线性数据结构,实现真正的动态数据结构,链表是一种比较简单的动态数据结构。链表Linked ListLinkedList的数据以节点为单位,其中一个节点应该包括当前存储的内容以及下一节点的引用,如果不存在下一节点,则下一节点引用为空。链表的优点是真正实现动态存储,不需要处理固定容量的问题,需要添加节点直接new一个新的节点,再把它添加到链表...

2020-04-29 00:33:22 151

原创 Java 队列 (Queue)

这是这段时间学习队列的笔记和总结。概述队列是一种先进先出的数据结构(FIFO),就是第一个元素进去,第一个现出来。queue的主要操作boolean add(E var1); // 增加一个元索 如果队列已满,则抛出一个IIIegaISlabEepeplian异常(抛出异常,不建议使用)boolean offer(E var1); // 添加一个元素并返回true 如果队列已满...

2020-04-27 00:12:41 885

原创 java 数组

这是这段时间学习数组的一个笔记和总结。数组概述:声明一个数组就是在内存空间中划出一串连续的空间,数据具有以下特点:1.数组名代表的是连续空间的首地址2.通过首地址可以依次访问数组所有元素3.元素在数组中的排序叫做下标从零开始4.数组可以看成是多个相同数据类型数据的组合,对这些数据的统一管理。5.数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员...

2020-04-25 12:48:31 166

原创 java 栈(stack)

stack介绍Stack继承自Vector。底层是通过数组实现的,栈是线程安全的。栈只能从一端添加元素,也只能从一端取出元素,这一端称为栈顶栈的操作:push() 入栈pop() 出栈peek() 查看栈顶元素,不弹出栈search() 栈顶到该元素首次出现的位置的距离empty() 栈是否为空private static void testStack() { St...

2020-04-23 23:59:26 421

原创 app应用冷启动和热启动

冷启动:app应用冷启动是指后台不存在这个应用进程,点击launcher的图标启动app的过程热启动:热启动是指后台存在了这个应用进程,比如点击home键返回到桌面,然后再启动这个app的过程...

2020-02-26 11:37:54 799

原创 gradle 多渠道打包一

1. 验证APK的签名验证APK的签名需要用到下面2个命令:查看签名文件的属性keytool -list -keystore 签名文件F:\mygithub\test1>keytool -list -keystore test1.jks输入密钥库口令:密钥库类型: JKS密钥库提供方: SUN您的密钥库包含 1 个条目key0, 2019-10-16, Pri...

2019-11-18 21:40:15 257

原创 android butterknife 简单用法

1. butterknife 9.0接入1.1 常规项目(非library)接入在app的build.gradle引用butterknife:implementation 'com.jakewharton:butterknife:9.0.0'annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0'1.2...

2019-10-29 14:18:24 334

原创 使用android studio打release包混淆报错问题

最近使用android studio 3.4.2打包一个最近整合的项目,发现运行时会报以下错误咋一看还以为是腾讯的信鸽推送出了问题,检查了混淆相关设置,都是正常的。后来发现studio提示了下面的信息:意思是如果项目存在问题,可以把R8关闭掉。C:\Users\Administrator\.gradle\gradle.properties 设置了下面代码关闭R8androi...

2019-10-29 13:47:16 1408

原创 android studio 创建签名文件

使用android studio创建签名文件的流程比较简单,下面直接贴出创建签名文件的步骤,使用的android studio版本是3.4.2。1. 打开Build->Generate Signed Bundle / Apk2. 选择APK,点击Next3. 在弹出的对话框中点击Create New…4. 在New Key Store对话框...

2019-10-16 20:04:34 2432

原创 android studio多渠道打包基础配置

android studio使用gradle作为构建工具,这里简单记录一下使用gradle进行多渠道打包的基础知识1.配置flavorDimensions这个是配置多维度,必须配置,可以是一个或多个维度。如果只有1个维度,在productFlavors里可以不指定这个维度,如果有多个维度,必须指定是哪个维度,而且如果有多个维度productFlavors里面的配置必须要每个维度都有所指定...

2019-10-16 19:39:00 636

原创 android使用API对app进行调试

android studio直接调试很多情况下,我们调试app的时候,都是通过android studio的Debug app或者Attach Debugger to Android Process进行调试。但是这两种调试方式是有缺点的,Debug app是以调试模式安装app,安装完成之后会以正常流程运行,只不过这个时候调试器是打开的,并且app是可以调试的如果在某处打了断点,这个时候...

2019-09-23 18:35:54 1012 1

原创 android仿YY直播间侧滑清屏功能

1.需求YY手机直播可以通过侧滑把直播间里的一些无关的元素清除,只显示视频区域和一些主要的显示信息,如图:2.具体实现现在参照YY这个功能,自己通过代码实现下。定义一个FrameLayout,里面有3个子View,分别是视频区域mBaseView,处于最底层。侧滑视图区域mDrawerView,处在中间位置。菜单视图区域 mMenuView,处于最顶层。完整的结构应该是...

2019-09-17 21:37:13 1442

原创 Android Home键之后点击桌面icon重复启动应用问题

在启动app的时候,偶然间发现部分手机上每次应用点击home退到后台,再点击launcher上的图标重新进入,每次都会重新启动欢迎界面,然后再进入主界面。基本流程1.启动:WelcomeActivity->MainActivity->OtherActivity2.home按下:应用退到后台3.点击launcher图标启动应用:WelcomeActivity->Main...

2019-09-03 10:31:09 2088

原创 Jenkins遇到“该Jenkins实例似乎已离线”问题的解决方法

在打开jenkins的时候出现了“该Jenkins实例似乎已离线“的问题,如图:具体解决方法如下:1.重新开启一个新页面,打开网址:http://localhost:8080/pluginManager/advanced2.拉到底部,把Update Site改为:http://updates.jenkins.io/update-center.json点击submit按钮3...

2019-08-30 16:29:07 780

原创 android studio上传项目到github

在此记录一下android studio上传项目到github的过程,过程比较简单,这里初略记录一下过程:本地配置好git配置github打开一个项目,依次打开VCS->Import into Version Control->Share Project on Github输入导入信息,点击Share根据需要选择需要加入git管理的文件上传到gith...

2019-08-27 23:09:16 619

转载 Android Studio自定义注释模板

转自:https://www.cnblogs.com/linfenghp/p/5561639.html博主是从Eclipse转来Android Studio 的,总体来说,Android Studio是比Eclipse优秀和智能许多。但是对于我们这些用习惯了Eclipse的开发者来说,或多或少还是一些不适应的地方。快捷键什么的额。但是,今天我们不是要说快捷键,我们要说一说自定义注释模板。用过E...

2019-08-13 10:12:41 187

原创 kotlin笔记_包

在kotlin中也存在包的概念,kotlin中的包和目录没有任何关系,它仅仅是为了引用文件中的资源设计的。为了更好说明kotlin中包的概念,首先建立2个kotlin文件:MyKotlin.kt和Person.kt。Person.kt代码如下:package a.bfun getName() : String { return "bill"}class MyClass {}...

2019-07-10 23:15:09 268

原创 kotlin笔记_基础数据类型

1.数值类型kotlin提供了如下的内置数据类型数据类型 占用字节数 Double 8 Float 4 Long 8 Int 4 Short 2 Byte 1 使用kotlin内置数据类型定义的一些变量和常亮示例:var m : Int = 20var price : Double = 10.6var...

2019-07-10 08:10:57 466

转载 android app签名详解

本文及文中图片转自:https://mp.weixin.qq.com/s?__biz=MzIwMzYwMTk1NA==&mid=2247493825&idx=1&sn=e926da39c6bd51397851d7e330d6ba24&chksm=96ce498ca1b9c09a7865264b26eadcf27bd012e9acc999b3eb3ca5c440266...

2019-07-09 10:07:08 1912

原创 kotlin基础语法

1.定义变量kotlin定义变量特点:1.在kotlin中数据类型要放到变量后面,并且用冒号(:)分隔。2.定义变量用var开头,定义常量用val开头3.在kotlin中数据类型都以大写字母开头4.如果定义变量未进行初始化,必须指定变量类型5.如果定义变量进行了初始化,可以不指定类型,kotlin编译器会自动推导代码片段:var n : Int = 30var ...

2019-07-08 23:14:17 145

原创 kotlin集成开发环境-android studio

这里介绍android studio直接调试kotlin的方法。首先下载安装android studio,不介绍了,自行百度,这里安装的android studio 3.3.2免安装版。创建工程File->New->New Project,在弹出的Create New Project窗口中选择Add No Activity,点击Next。输入工程名称,包名,位置等信息,La...

2019-07-08 08:09:03 246

原创 kotlin集成开发环境-Intellij IDEA

Intellij IDEA是跨平台的,有2个版本:商业版(Ultimate)和社区版(Community)。其中商业版是收费的,社区版是免费的,商业版要比社区版功能丰富。开发kotlin应用,只需要选择免费的社区版就可以了,安装过程在此略过,下面尝试在Intellij IDEA运行kotlin程序。1.新建Intellij IDEA测试工程双击运行Intellij IDEA,单击“Cre...

2019-07-08 08:03:36 1535 3

原创 命令行编译运行kotlin程序

1.创建kotlin代码文件创建kotlin命令行编译和运行程序,新建文件hello.kt,准备一段测试代码:fun main(args : Array<String>) { println("hello kotlin!!")}2. 使用命令行运行kotlin代码kotlin编译器提供了一个kotlinc命令,可以通过该命令编译kotlin文件。运...

2019-07-02 22:08:25 1828

原创 Kotlin环境搭建

1.安装JDK由于Kotlin是基于JVM的编程语言,所以要想使用Kotlin,必须安装JDK。参考:https://blog.csdn.net/qq282330332/article/details/886524102. 下载Kotlin编译器进入Kotlin官网:https://kotlinlang.org/滚动页面可以查看Kotlin的开发环境:Kotlin支持...

2019-07-02 22:02:03 2623

原创 使用支付宝SDK报异常:java.lang.NoClassDefFoundError: Failed resolution of: Lcom/alipay/sdk/app/PayTask

项目需要对支付宝SDK进行升级,原来使用alipaySdk-20161129.jar,我把它升级到了alipaySdk-20180601.jar。正常运行的时候抛出异常:从异常堆栈很明显可以知道,是因为找不到PayTask这个类。what???这个类明明就存在呀,为什么会找不到呢??后来经过各种排查,发现是因为项目使用了aspectjx这个库导致的,支付宝并没有提供相...

2019-06-20 21:10:27 16078 6

原创 Apk反编译流程

1.相关工具说明ApkTool:apk反编译工具,能够查看apk的一些资源文件,例如xml图片资源,AndroidManifest.xml等。dex2jar:将dex文件转换jar文件工具。jd-gui:通过dex2jar工具配合转换出jar文件,查看jar文件的内容。2.工具下载apktool下载地址:https://bitbucket.org/iBotPeaches/apk...

2019-06-19 18:23:50 985

原创 android 图片压缩,bitmap压缩总结

1. 图片压缩相关概念在android开发中,图片加载到内存中通常需要占用大量的内存,导致app性能过度消耗,严重的话可能会导致OOM异常,所以对图片进行优化就尤为重要。android图片压缩的格式可以通过以下一张图进行概括,这张图摘自官方API文档:对于各个参数的含义,通过以下一张表格总结一下ALPHA_8 每个像素存储为单个半透明(alpha)通道,占用1字节内存,...

2019-06-13 21:10:07 2881 1

转载 最新Android框架排行榜,上百项资源汇总不容错过

Android框架排行榜1.Retrofit  一句话介绍:Retrofit是一款类型安全的网络框架,基于HTTP协议,服务于Android和java语言上榜理由:Retrofi...

2019-06-11 22:39:25 784

原创 gradle task

1.Task定义及配置1.1.定义直接使用task函数进行定义:task helloTask { println 'I am helloTask'}通过TaskContainer创建Taskthis.tasks.create(name: 'helloTask2') { println 'I am helloTask2'}gradle是通过Task...

2019-06-11 22:16:02 1310

原创 gradle project详解

1.project了解Project在gradle中包括根Project和子Project,例如下面的项目包括3个project,分别是app,module1,module2.我们可以在命令上输入以下命令验证一下:gradlew project输出:而且每一个project下都包含一个build.gradle文件,这是一个Project的标配,Project的配置和管...

2019-06-05 23:10:18 12664

android获取控件宽高

android获取控件宽高总结,测试代码,博客:http://blog.csdn.net/qq282330332/article/details/52183172

2016-08-11

android GridView实现支付宝拖动例子

android GridView实现支付宝拖动例子

2016-07-20

android事件分发流程

android事件分发流程的一个例子,博客地址:http://blog.csdn.net/qq282330332/article/details/51887436

2016-07-12

android app异常收集处理

android 异常收集,app崩溃后处理

2016-06-13

空空如也

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

TA关注的人

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