- 博客(72)
- 资源 (10)
- 收藏
- 关注
原创 Android UI Libs之ExpandableLayout
Android UI Libs之ExpandableLayout1. 说明ExpandableLayout,顾名思义,可扩展的布局,是一个可以帮助我们实现折叠功能的第三方库,折叠时,只显示头部,打开时,显示头部与内容。 2. 配置在模块中添加依赖:compile 'com.github.traex.expandablelayout:library:1.2.2' 因为添加依赖的aar文件中设置了应
2016-06-15 09:34:36
1738
原创 Android UI Libs之ExplosionField
Android UI Libs之ExplosionField1. 说明ExplosionField让视图爆炸成粉尘效果。 2.配置在模块的build.gradle上面添加依赖 dependencies { compile 'tyrantgit:explosionfield:1.0.1' } 3. 基本使用点击一个按钮让icon与image爆炸 this.image =
2016-06-12 09:10:33
693
原创 Android UI Libs之AndroidSwipeLayout
Android UI Libs之AndroidSwipeLayout1. 说明AndroidSwipeLayout,顾名思义,Android平台上的滑动布局,是一个可以让我们很方便使用滑动的库,典型的应用就是侧滑删除与侧滑菜单。 2. 配置在模块中添加依赖:compile "com.daimajia.swipelayout:library:1.2.0@aar" 3.基本使用 1. Show M
2016-06-06 09:23:00
1006
原创 Android UI Libs之android-gif-drawable
Android UI Libs之android-gif-drawable我们经常需要显示gif图片,但是Android自带的ImageView不能完全显示gif图片,它只会显示gif图片的第1帧。那我们要显示gif图片怎么办。本着不重复“造轮子”的原则,本人推荐使用android-gif-drawable。android-gif-drawabl的功能很强大,不仅可以在显示gif图片,还可以让gif图
2016-06-05 14:36:22
704
原创 Android UI Libs之CircleImageView
Android UI Libs之CircleImageView我们经常看到一些任务的图像都是圆形的,那么在Android中我们怎么让一张图片显示成圆形啊。 有一个很好的开源库CircleImageView帮我们实现了这个功能。 CircleImageView的使用非常简单,首先我们在module中添加依赖:compile 'de.hdodenhof:circleimageview:2.0.0'
2016-05-31 16:56:56
665
原创 Android常用Manager
Android常用Manager 1. ActivityManager:与系统中正在运行的所有活动进行交互。获取ActivityManager对象的方法是在拥有context的环境下使用下面的方法。 ActivityManager activityManager= (ActivityManager) getSystemService(ACTIVITY_SERVICE); ActivityMan
2016-05-31 09:32:31
482
原创 Android通用流行框架大全
Android通用流行框架大全 1. 缓存 名称 描述 DiskLruCache Java实现基于LRU的磁盘缓存2.图片加载 名称 描述 Android Universal Image Loader 一个强大的加载,缓存,展示图片的库 Picasso 一个强大的图片下载与缓存的库 Fresco 一个用于管理图像和他们使用的内存的库 Glide
2016-05-19 16:17:23
509
原创 AndroidStudio NDK开发最佳入门实践
AndroidStudio NDK开发最佳入门实践网上一些介绍AndroidStudio NDK入门的教程,感觉都不是很完整和全面,也没有告诉初学AndroidStudio NDK的同学们一些需要注意的地方。网上的方法大多需要使用javah命令,使用本文的方法将不再使用该命令了,是不是方便了很多。 本文所介绍的是在AndroidStudio上搭建最佳的NDK开发环境,给使用NDK的开发人员最大的方
2016-05-19 16:15:53
613
原创 Android其它新控件
Android其它新控件欢迎转载,转载请注明原文出处:http://blog.youkuaiyun.com/lavor_zl/article/details/51312715,谢谢。 Android其它新控件是指非Android大版本更新时提出的新控件,也非谷歌IO大会提出的新控件,而是谷歌发现市场上某种功能的控件被大量使用,而不定期推出实现该功能的官方控件。Android其它新控件常用的有下面两种。
2016-05-04 10:14:41
1110
原创 一个Activity掌握Design新控件
一个Activity掌握Design新控件欢迎转载,转载请注明原文地址:http://blog.youkuaiyun.com/lavor_zl/article/details/51295364谢谢。 谷歌在推出Android5.0的同时推出了全新的设计Material Design,谷歌为了给我们提供更加规范的MD设计风格的控件,在2015年IO大会上推出了Design支持包,Design常用的新控件有下面8
2016-05-02 10:21:44
6237
1
原创 一个Activity掌握Android5.0新控件
一个Activity掌握Android5.0新控件欢迎转载,转载请注明原文地址:http://blog.youkuaiyun.com/lavor_zl/article/details/51279386,谢谢。 谷歌在推出Android5.0的同时推出了一些新控件,Android5.0中最常用的新控件有下面5种。 1. CardView(卡片视图)CardView顾名思义是卡片视图,它继承FrameLay
2016-04-29 09:34:38
7350
原创 一个Activity掌握Android4.0新控件
一个Activity掌握Android4.0新控件欢迎转载,转载请注明原文地址:http://blog.youkuaiyun.com/lavor_zl/article/details/51261380 谷歌在推出Android4.0的同时推出了一些新控件,Android4.0中最常用的新控件有下面5种。 1. Switch的使用Switch顾名思义,就是开关的意思,有开和关两种状态。 当Switch处于
2016-04-27 15:12:05
3613
原创 如何自学Android
如何自学Android欢迎转载,转载请注明原地址:http://blog.youkuaiyun.com/lavor_zl/article/details/51217319,谢谢。1. Java知识储备本知识点不做重点讲解: 对于有基础的同学推荐看《Java编程思想》,巩固基础,查漏补全,了解并熟悉更多细节知识点。 对于没有基础的同学推荐看一本Java基础的书籍,看完后可以继续看《Java编程思想》提升自己。
2016-04-22 09:27:41
4440
原创 Android事件分发机制实例验证
Android事件分发机制实例验证欢迎转载,转载请注明原文出处http://blog.youkuaiyun.com/lavor_zl/article/details/51198634,谢谢。 事件分发机制的学习主要来自下面两篇博文: Android事件传递机制Android 编程下 Touch 事件的分发和消费机制 这两篇博文写的非常好,但是看完了这两篇博文还是有一些不理解的地方,缺少一丝明悟。于是亲
2016-04-20 10:35:08
2330
原创 Google官方MVP示例之TODO-MVP
Google官方MVP示例之TODO-MVP欢迎转载,转载请注明源地址:http://blog.youkuaiyun.com/lavor_zl/article/details/51180537,谢谢TODO-MVP介绍(翻译自官方文档)摘要这个示例是众多的变体示例的基础。它展示了一个没有使用架构框架的MVP模型的简单实现。它使用人工依赖注入为仓库提供本地和远程数据源。异步任务用回调处理。 注意:在一个MVP环
2016-04-18 16:23:00
10473
原创 Android WiFi调式工具WiFi ADB的使用
Android WiFi调式工具WiFi ADB的使用我们用真机进行调试时,一直用数据线连着usb接口,会不会用很不爽的感觉啊。别担心,我们可以用wifi调试工具直接调试手机上面的程序,而不用一直连着那烦人的数据线。 1. 工具的准备下载WiFi调试工具WiFi ADB2. 开始WiFi调试程序1. 第一次使用第一次使用时,要用数据线连接手机与电脑,同时确保开启了开发者选项与USB调试,并且信任该
2016-04-17 18:39:41
2831
原创 Android之Hierarchy Viewer工具使用
Android之Hierarchy Viewer工具使用Hierarchy Viewer是什么Hierarchy Viewer能够可视化地看到Activity上面所有视图以及它们之间的层次关系,还可以看到所有视图的各种属性。 Hierarchy Viewer是用来干什么的一般Activity中布局的层次越深,在测量,绘制,设置布局的时候就会消耗更多的资源,利用Hierarchy Viewer我们可
2016-04-16 18:51:21
964
原创 Android反编译工具jadx的使用
Android反编译工具jadx的使用Android上面的反编译工具很多,我个人比较喜欢jadx,操作简单,界面简洁。 下载jadx并解压,点击“bin”目录下面的“jadx-gui.bat”文件,出现下图所示的界面 选中要反编译的apk文件后,界面变成下图所示 任意点开一个类,我们就可以看到该类的源代码了 有的类的变量和方法名都变成了a,b,c,d。。。,如下图所示 这
2016-04-16 14:42:10
3136
1
原创 AndroidStudio上github使用
AndroidStudio上github使用要想在AndroidStudio上面使用github,首先要下载git工具然后在AndroidStudio上面设置git工具的路径 File->Settings->Version Control->git 点击“Test”,出现如图所示对话框表示该路径是git工具可执行文件的路径 之后就要设置github账户信息 File->Settings
2016-04-16 13:32:54
2961
原创 AndroidStudio上面最好用的插件
AndroidStudio上面最好用的插件Android ButterKnife Zelezny 在Activity,Fragment,Adapter中选中布局xml自动生成butterknife注解 GsonFormat 快速将json字符串转换成一个类 Android Studio Prettify 从布局文件中生成对View的声明,有一个缺陷,多个Module拥有同名的xml布局文件,
2016-04-16 10:58:55
4346
原创 Parse教程三(利用Parse进行本地数据保存与使用)
1、怎么将数据保存在本地首先你要进行一个设置,在Application中的Oncreat()方法中的Parse.initialize()方法之前添加上Parse.enableLocalDatastore(this),这表示Parse允许本地存储。通过下面一段简单的代码就可以将数据保存在本地了。ParseObject gameScore = new ParseObject("GameSc
2015-11-04 09:04:53
2338
原创 Parse教程二(Parse后台数据库的使用)
1、怎么查看Parse的后台数据库Parse作为这么优的秀后台管理工具,肯定会为我们提供后台数据库的功能。点击你的App下面的Core就可以进入你的App的核心功能管理处。我们可以看到这个界面我们可以在这个界面对我们程序的后台数据进行管理。2、怎么创建数据并将它保存到后台数据库这段简单的代码就可以实现我们的功能。ParseObject gameScore
2015-11-02 09:05:17
2834
原创 Parse教程一(使用parse向你的Android程序推送消息)
1、什么是ParseParse是一个专门为我们提供后台管理的网站。对Android个人开发者来说,同时写Android客户端程序与搭建后台服务器,会花费很大的精力,而且服务器端很可能还有大量的Bug,那么有没有什么东西可以帮助我们搭建优良的后台,让我们开发者可以把精力发在客户端程序上。Parse就是一个这样的工具,使用Parse,你开发Android应用程序的速度会提高好几倍。自己没有服务器的
2015-11-01 14:53:36
5673
原创 模式匹配
模式匹配欢迎转载,转载请注明与原文链接:1.BF(Brute Force)算法BF(Brute Force)算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算法是一种蛮力算法。假设目标串S
2015-01-17 16:05:10
925
原创 输出单链表中倒数第k个结点(Java版)
题目:输入带头结点的单链表L,输出该单链表中倒数第k个结点。单链表的倒数第0个结点为该单链表的尾指针。要求只能遍历一次单链表。解题思路:如果不要求只能遍历一次单链表,我们可以先遍历一次单链表,求出它的结点的总个数n(包括头结点),所以单链表的结点是从倒数第n-1个到倒数第0个,然后再遍历一次单链表,遍历时访问的第n-k-1个结点就是该单链表中倒数第k个结点。现在要求只能遍历
2015-01-17 15:40:24
2929
原创 删除单链表某个结点(Java版)
题目:删除带头结点的单链表L中的结点p,p不是最后一个结点,要求时间复杂度为O(1)。解题思路:如果不要求时间复杂度为O(1),我们可以找出p的前驱结点,然后很容易就删除p。现在要求时间复杂度为O(1),因为p不是最后一个结点,知道结点p我们可以删除p的后继结点,那么我们可以把p的后继结点元素的值赋给p结点元素的值。ADT定义://单链表的结点类class LNo
2015-01-17 09:47:59
11462
原创 删除单链表中重复的值(Java版)
题目:删除带头结点的单链表中重复值的元素(即让每种值的元素只有一个)解题思路:用一个动态辅助存储数组,每次要向辅助数组中放入元素时,让辅助数组的长度加1,最长时与单链表一样长,设一个指针p,让它指向头结点,从单链表中第一个元素开始,将它的值放入辅助数组中,然后依次访问单链表后面的元素,用该元素的值与数组中所有已经被赋值的元素的值进行比较,如果不等于数组中任何元素的值,那么让p的
2015-01-17 09:31:17
4044
原创 单链表是否相交(Java版)
题目:有两个带头结点的单链表L1,L2,判断它们是否相交(它们中是否有相同的结点)解题思路:L1,L2中任何一个链表为空它们不相交因为单链表中可能有环,所以分3种情况讨论1、L1,L2中都没有环,那么可以通过判断它们中最后一个结点是否相同,来判断它们是否相交2、L1,L2中一个有环,一个没有环,那么它们一定不相交3、L1,L2中都有环,那么只有当它们的环相同时,它们才相
2015-01-16 21:42:17
1081
原创 单链表是否有环(Java版)
题目:判断一个带头结点的单链表L是否有环解题思路:咋看之下,这题还真不好解,于是又一些投机取巧的人,在访问单链表中元素的时候,用一个比较大的数N控制访问元素的个数,他们认为如果在访问到第N个元素之前有一个元素为null,那么单链表没有环,反之,单链表有环。他们的解释是都访问了这么多元素了,还没有一个元素为空,单链表很有可能有环,再加上一般单链表中的元素都不超过N个,所以单链表有环。对于
2015-01-16 21:29:06
5948
原创 单链表就地逆置(Java版)
题目:有一个线性表(a1,a2,a3,...,an),采用带头节点的单链表L存储,设计一个算法将其就地逆置,线性表变为(an,...a3,a2,a1)。所谓“就地”指辅助存储空间为O(1)。解题思路:如果是顺序存储的话,我们很容易想到解题思路,利用1个辅助变量让第1个元素与第n个元素交换,然后再利用这个辅助变量让第2个元素与第n-1个元素交换,...最后利用这个辅助变量让第
2015-01-16 15:29:15
10612
1
原创 在字符串中删除特定的字符
题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”I am lavor_zl.”和”I love you.”,则删除之后的第一个字符串变成”amar_z"。要求相对于第一个字符串的长度n时间复杂度为O(n)。解题思路:用一个bool数组保存是否在第二个字符串中出现的所有字符,数组下标表示字符,这个数组的长度为256,因为C/C++中字符总共有256个。遍历第
2015-01-15 20:13:21
1963
原创 字符串中第一个只出现一次的字符
题目:在一个字符串中找到第一个只出现一次的字符。比如"lavor_zl"第一个只出现一次的字符是'a'。解题思路:C/C++字符使用Ascii编码,一个字符占一个字节即可以表示2的8次方个数,那么C/C++字符可以表示的256个字符,因此可以用一个256的数组来保存各个字符出现的次数,当然256个字符的Ascii值是0-255之间的所有数,而且'\0'的Ascii值0,所以可以用数
2015-01-15 18:17:34
1029
原创 翻转句子中单词的顺序
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。比如输入"I love you.",输出"you. love I"。解题思路:我们可以先翻转整个字符串,然后再翻转字符串中的每个单词。比如"I love you."翻转整个字符串后得到".uoy evol I",再翻转字符串中的每一个单词得到"you.
2015-01-15 15:54:23
1069
原创 回文字符串
题目:判断一个字符串是不是回文字符串,所谓回文字符串,就是指字符串的第i个字符与字符串的第n+1-i个字符相等,i小于等n/2。比如"abcba","abba"都是回文字符串。解题思路:比较字符串第i个字符与字符串的第n+1-i个字符相等,i小于等n/2,如果不相等就返回false,如果循环执行完了还没有返回的话就返回true。算法实现:bool isPalin
2015-01-15 10:50:44
1053
原创 输出单链表中倒数第k个结点
题目:输入带头结点的单链表L,输出该单链表中倒数第k个结点。单链表的倒数第0个结点为该单链表的尾指针。要求只能遍历一次单链表。解题思路:如果不要求只能遍历一次单链表,我们可以先遍历一次单链表,求出它的结点的总个数n(包括头结点),所以单链表的结点是从倒数第n-1个到倒数第0个,然后再遍历一次单链表,遍历时访问的第n-k-1个结点就是该单链表中倒数第k个结点。现在要求只能遍历一次单链
2015-01-15 10:10:54
2098
原创 左旋转字符串
题目:左旋转字符串,定义字符串的左旋转操作:把前面若干个字符移动到尾部。比如把"lavor_zl"左旋转3位得"or_zllav"。要求时间对长度为n的字符串操作复杂度为O(n),辅助内存为O(1)。解题思路:定义一个整型参数count,用它表示旋转的位数,当左旋转的位数大于等于字符串长度时,可以用它除以字符串长度求余来表示旋转的位数,因为左旋转字符串长度的整数倍,字符串保持不变。
2015-01-14 21:31:52
958
原创 字符串转换成整型
题目:将字符串转换成整型,比如输入“123”,输出123。 解题思路:利用每一个0-9数字字符对应的Ascii减去48就得到了一个0-9的整型数字。用前i-1位表示的整型数字乘以10加上第i位表示的数字,就可以得到转换成的整型了。注意字符串第1个字符也可以是+或-。当字符串第1个字符是-时,用前i-1位表示的整型数字乘以10减去第i位表示的数字,就可以得到转换成的整型了。这样的话,
2015-01-14 09:47:44
3660
原创 字符串翻转
题目:将字符串翻转,比如输入"lavor_zl",输出“lz_roval”。解题思路:类似于顺序表的逆置,假设字符串长度为n,那么交换第1个与第n个字符,然后交换第2个和第n-1个字符,类似的交换其他的字符,一共交换n/2次算法实现:void reverseStr(char str[]){ if(str==NULL) return; int n=0;//用n
2015-01-14 09:33:04
1292
原创 删除单链表某个结点
题目:删除带头结点的单链表L中的结点p,p不是最后一个结点,要求时间复杂度为O(1)。解题思路:如果不要求时间复杂度为O(1),我们可以找出p的前驱结点,然后很容易就删除p。现在要求时间复杂度为O(1),因为p不是最后一个结点,知道结点p我们可以删除p的后继结点,那么我们可以把p的后继结点元素的值赋给p结点元素的值。ADT定义如下#define ElemType int
2015-01-13 16:31:45
2667
1
原创 删除单链表中重复的值
题目:删除带头结点的单链表中重复值的元素(即让每种值的元素只有一个)解题思路:用一个动态辅助存储数组,每次要向辅助数组中放入元素时,让辅助数组的长度加1,最长时与单链表一样长,设一个指针p,让它指向头结点,从单链表中第一个元素开始,将它的值放入辅助数组中,然后依次访问单链表后面的元素,用该元素的值与数组中所有已经被赋值的元素的值进行比较,如果不等于数组中任何元素的值,那么让p的ne
2015-01-13 10:54:22
2254
一个Activity掌握Design新控件
2016-05-02
一个Activity掌握Android5.0新控件
2016-04-28
一个Activity掌握Android4.0新控件
2016-04-27
Thinking in Java 3th Edition习题及答案
2012-01-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人