- 博客(667)
- 资源 (111)
- 收藏
- 关注
原创 Android 6.0/7.0权限
Android6.0动态权限控制在Android6.0(M)之前,在用户安装应用的时候会产生一个权限列表,只有用户允许这些权限后,应用才可以正常的安装,这就会产生一个问题,这些权限对用户是不具有感知性的,也就是说用户都不知道你要这些权限干什么,我明明装的是一个阅读类型的应用,你却要我拨打电话的权限,你想干嘛呢?当然绝大部分的开发者是善意的,但也避免不了一些特殊人群利用这些“漏洞”做一些不好的事情。而
2017-11-07 14:21:16
2081
原创 Android常见异常处理
Android常见异常处理什么是异常?Exception是指在程序运行过程中所出现的不可预测的可处理可恢复的问题,这些错误会干扰到指令的正常执行,从而造成程序的异常退出或者意外终止。比如:FileNotFountException、NullPointException.Error是指程序运行过程中较为严重的不可挽回的问题,大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟
2017-11-06 11:06:29
3718
原创 Retrofit简要介绍
Retrofit A type-safe HTTP client for Android and Java 适用于Java和Android的安全的HTTP客户端Retrofit是一个可用于Android和Java的网络库,使用它可以简化我们的网络操作,提高效率和正确率。它将请求过程和底层代码封装起来只暴露我们业务中的请求和返回数据模型。public interface GitHubSer
2017-11-04 11:08:32
1064
原创 Android中的SVG资源
Android中的SVG资源Android 5.0(Lollipop, API 21)后,新增了SVG是什么?SVG:可缩放矢量图形是基于可扩展标记语言(标准通用标记语言的子集),用于描述二维矢量图形的一种图形格式。它由万维网联盟制定,是一个开放标准。SVG 使用 XML 格式定义图形 与其他图像格式相比,使用 SVG 的优势在于: SVG 可被非常多的工具读取和修改(比如记事本)
2017-11-03 17:41:36
1259
原创 MVP结构基础框架分享
GitLab源码仓库地址:git@gitlab.com:lxqxsyu/TestKotlin.git框架介绍MVP架构,Retrofit+Rxjava+Okhttp网络请求,可切换Glide和Fresco图片框架,封装基础刷新分页加载,部分功能后期会有所改进。框架整体结构MVP网络框架结构联系作者(吉格斯实验室)
2017-11-02 21:43:06
1008
原创 设计模式梳理(一)
设计模式梳理(一)总体来说设计模式分为三大类: @案例源码地址:https://gitlab.com/lxqxsyu/DisgnPattern创建型模式简单工厂模式工厂类是整个模式的关键。它包含必要的判断逻辑,能够根据外界给定的信息知道创建那个类的实例,外部无需了解该对象是如何被创建和组织的。有利于软件体系结构化。由于工厂类集中了所有实例的创建逻辑,简单工厂模式的缺点也体现在工厂类上。@简单工厂模
2017-11-02 21:18:21
1194
原创 RxJava操作符
RxJava操作符Creating Observables (创建操作符)createcreate是最基础的创建方法Observable.create(new Observable.OnSubscribe<String>() { @Override public void call(Subscriber<? super String> subscri
2017-11-01 23:44:12
614
原创 RxJava响应式编程
相应式编程响应式编程是一种基于异步数据流概念的编程模式响应式编程关键性概念就是事件,在某种程度上,这并不是什么新东西。事件总线(Event buses)或咱们常见的单击事件就是一个异步事件流,你可以观察这个流,也可以基于这个流做一些自定义操作(原文:side effects,副作用,本文皆翻译为自定义操作)。响应式就是基于这种想法。你能够创建所有事物的数据流,而不仅仅只是单击和悬停事件数据流。 流廉
2017-11-01 22:28:24
2422
原创 单片机系列(2)流水灯程序是如何写入单片机的
在上一篇中《单片机实现跑马灯》中我们完成了一个漂亮的流水灯,里面有一段代码我们来分析一下吧,看看单片机是怎么理解这段代码的。 《单片机实现跑马灯》(点击图片跳转)#include //此文件中定义了51的一些特殊功能寄存器void Delay10ms(unsigned int); //误差 0usvoid m
2017-10-16 10:46:06
5204
原创 单片机系列(1)从第一行代码到跑马灯的制作
从今天开始吉格斯准备给大家带来单片机系列实验【酷玩单片机】,你可能还不知道什么是单片机,其实单片机在我们身边无处不在的,各种电器和路边红红绿绿的广告牌都用到了它。它既然这么强大,是不是很大很贵呢?这个小家伙并不贵,一块就几块钱。别看它小,它可是一台有一定规模的微型计算机,简称为“单片微型计算机”或者“单片机”。我们可以将写好的程序烧入单片机内来制作智能小车、家电等。没错,接下来我们就来完成它!使用
2017-10-14 23:33:14
4779
2
原创 这支笔竟然浮在空中了,是什么力量让它掉不下来
我们生活中神奇的现象很多,能被解释的我们叫做科学,不能被解释的我们就去迷信,今天这个悬浮在空气中的笔当然是科学实验了。实验材料磁悬浮笔木板、磁铁、剪刀实验过程第一步,将木板上的零部件抠下来,注意不要抠坏了。第二步,让6块磁铁吸在一起,统一极性。第三步,将统一好极性的磁铁安装到磁铁支架上。注意所有磁铁方向是一致的。第四步,将磁铁架插入底座。第五步,检查一下所有磁体的极性,然后试着让笔悬浮在磁铁架上方
2017-10-08 22:20:20
1621
原创 前端开发笔记(5)js基础
js的作用1、网页特效 2、用户交互 3、表单提交 4、控制结构和样式入口函数window.onload = function(){ 内部放js }这个函数的意思就是说,当我们页面加载完毕(页面结构样式节点等加载完)之后,采取执行函数体里面的js部分。所以这句话可以在页面的顶端<script> window.onload = function(){ /*要
2017-06-06 08:14:18
960
原创 Android联系人列表实现
演示汉字转拼音String pinyingStr = PinyinHelper.getShortPinyin( String.valueOf(charSequence).toLowerCase().trim());获取分组Key(A,B,C….#) @Nullable private String getPingyingKey(Stri
2017-02-14 22:54:54
2589
原创 前端开发笔记(4)css基础(下)
标签定位相对定位相对定位是用来微调元素位置的,让元素相对于原来的位置进行调整。<head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Document</title> <style type="text/css"> div{ wid
2016-11-24 21:02:05
1429
原创 前端开发笔记(3)css基础(中)
上一篇中我们学习了html的标准文档流,下面我们先来看看如何脱离标准流。脱离标准流css中一共有三种方法脱离标准流浮动绝对定位固定定位浮动我们要搞清楚什么是浮动,先来看一个标准文档流的例子<style type="text/css"> div{ width:100px; height:100px; margin:10px;
2016-11-18 21:51:36
2110
原创 前端开发笔记(2)css基础(上)
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。
2016-11-18 20:08:29
2371
原创 前端开发笔记(1)html基础
HTML介绍HTML是HyperTextMarkupLanguage超文本标记语言的缩写 HTML是标记语意的语言编辑器任何纯文本编辑器都能够编辑html,比如记事本,editplus,notepad++ 比较有名的专门制作网页工具有:DreamWeaver (Adobe公司的产品,过时了,不是一个好的代码编辑器) Sublime (高效率的程序书写工具) WebStorm (更高级的项目
2016-11-18 16:58:41
2373
原创 Stage6--Python简单爬虫
正则表达式简单介绍正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。字符 [a-z] 数字 [0-9] 或 \b* 匹配前面的子表达式零次或多次 + 匹配前面的子表达式一次或多次 ? 匹配前面的子表达式零次或一次一个简单爬虫例子import reimport u
2016-07-31 09:07:05
1763
原创 Stage5--Python GUI编程TKinter
Python图形库简要介绍python提供了多个图形开发界面的库,几个常用Python GUI库如下:Tkinter: Tkinter模块(“Tk 接口”)是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里.,Tk8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。wxPyth
2016-07-31 08:43:31
2103
原创 Stage4--Python面向对象
理解面向对象编程万事万物皆对象我们从窗户向外望去: 每棵树:每一课树都可以看成一个对象。 路上每个人:每一个人也可以看成一个对象。 每个人上班的事件: 可以看成一个对象。类和对象类则是从某一部分对象中抽象出来的一个群体,这些群体具有某些共同的特征,我们可以根据我们所需的某几个特征抽象出我们自己想要的类。每个人都是对象,我们可以抽象出来人的共同特征,就像我们给自然界的物质分类一样(如何分类?根据
2016-07-23 12:03:09
1593
原创 Stage3--Python控制流程及函数
条件语句if 判断条件1: 执行语句1……elif 判断条件2: 执行语句2……elif 判断条件3: 执行语句3……else: 执行语句4……if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要
2016-07-23 11:56:59
1832
原创 Stage2--Python的数据类型
变量变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。 变量的本质是内存中一段存储空间(大小由数据类型决定),变量名和这段存储空间的地址发生关联。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。定义变量Python 中的变量赋值不需要类型声明。 每个变量在内存中创建,都包括变量的标识,
2016-07-23 11:43:19
1451
原创 Stage1--Python的特点和安装
Python语言的特点Python是一种解释性语言编译型语音:在程序执行前,会通过编译器将程序(代码)转换为机器语言(计算机可以看懂的语音),比如C语音。解释型语音:没有编译过程,在程序执行的时候通过解释器对程序逐行解释然后直接运行。比较:因为编译型语音在执行前已经做了编译(翻译给计算机),所以执行比较快(执行过程中不需要翻译)。Python是面向对象的语言面向过程:一般就是先分析解决问题需要的步骤
2016-07-23 11:19:05
2167
原创 AndroidStudio多AppId多渠道快速打包
一直感觉AndroidStudio没有eclipse快,但是最近由于遇到一个问题不得不将工程迁移到AndroidStudio上,迁移后之前在eclipse上所做的所有批量打包又得重新在AndroidStudio上搞一遍,不得不说这个过程远比我想象的让人愉快,AndroidStudio的强大和好用改变了之前我对这个IDE的偏见,无疑这个IDE是开发Android的最好工具。一、普通打包配置 de
2016-07-12 22:45:39
5757
1
原创 Gradle项目构建(1)——Gradle的由来
一、项目自动构建介绍作为Java的开发者对eclipse都非常熟悉,其实eclipse就是居于ant来构建项目的,我们先来看看为什么需要自动化构建项目。1、为什么我们要自动化构建项目可以假设我们如果不适用eclipse或者其他集成开发环境去开发我们的项目,这个对于当今的软件来说几乎不可能,项目自动化构建可以帮助我们完成一些重复性规律的工作,避免一些人为造成的错误。2、项目自动化的类型按需构建 按需
2016-04-24 00:00:53
2259
原创 六大设计原则浅析
一、设计在软件开发中的重要性重要性在上大学的时候我们总是不理解为什么要讲这么理论性的东西,当时就一个感觉就是没什么用,我们更想去学习一些可以看到结果的东西,当你毕业之后就会发现基础的知识是多么重要,而这些知识都有一个共性就是可以脱离具体的技术或者问题而存在,是一种可以长期指导我们学习和进步的重要思想,设计原则和模式就是软件开发中的这种思想。设计原则我们先来思考一个问题: 怎么样的软件才算一个好的
2016-04-14 22:08:59
9129
2
原创 Android给图片加文字和图片水印
我们在做项目的时候有时候需要给图片添加水印,水寒今天就遇到了这样的问题,所以搞了一个工具类,贴出来大家直接调用就行。/** * 图片工具类 * @author 水寒 * 欢迎访问水寒的个人博客:http://www.sunhome.org.cn * */public class ImageUtil { /** * 设置水印图片在左上角 * @param Cont
2016-04-13 23:53:53
37378
15
原创 Android自定义组件系列【17】——教你如何高仿微信录音Toast
一、Toast介绍平时我们在Android开发中会经常用到一个叫Toast的东西,官方解释如下 A toast is a view containing a quick little message for the user. The toast class helps you create and show those. When the view is shown to the use
2016-04-11 21:46:59
5164
1
转载 volley框架下发送和读取cookie
首先volley本身不支持cookie,但是volley又非常好用(比如封装了网络请求的实现,内部支持并发, 不用我们再额外设计网络管理异步处理,网络请求不应在UI线程等等),那既想使用volley又想在对服务器发起http请求时加上cookie,并从服 务器给的响应中读取cookie。怎么办呢?庆幸的是volley是开源的,我们可以重写一些方法来实现我们的目标。 我们平时开发android应用都
2016-04-10 00:39:24
2449
翻译 Android里的网格空隙
在很多移动端或者web端开发中我们会遇到很多网格布局,如果我们使用线性布局来实现一些简单的网格布局就需要使用padding/margin等属性来使其对齐,代码如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" an
2016-04-10 00:29:09
2819
原创 像音乐播放App一样移动背景
如果你经常听歌,你会发现歌曲app的背景会随着音乐移动的,从左到右或者从上到下,这种动画虽然简单,但是这里有一个技巧。如果你还不明白这种动效看看下面的demo (更多详细请参考:https://github.com/flavienlaurent/PanningView) 一,使用setImageMatrix播放图片动画 下面是官方文档给出的解释 你可以看到这里的解释很简单,就是代替I
2016-04-10 00:20:08
2555
原创 Android自定义TabBar
转载请说明出处:http://www.sunhome.org.cn我发现现在的移动开发界面都被iOS主导了,UI动不动设计出来的东西都是ios的风格,对于一个做Android的程序员来说甚是苦恼啊,为了适应这种环境和氛围,今天我们来自定义一个TabBar,这个是移动开发很常用的一个组件。
2015-05-19 12:20:40
3707
原创 iOS菜鸟成长笔记(3)——斯坦福公开课学习(1)
一、iOS四层结构1、Core OS是用FreeBSD和Mach所改写的Darwin, 是开源、符合POSIX标准的一个Unix核心。这一层包含或者说是提供了整个iPhone OS的一些基础功能,比如:硬件驱动, 内存管理,程序管理,线程管理(POSIX),文件系统,网络(BSD Socket),以及标准输入输出等等,所有这些功能都会通过C语言的API来提供。另外,值得一题的是,这一层最具有UNI
2015-05-09 15:53:36
1981
原创 iOS菜鸟成长笔记(2)——网易彩票练习
距离上一篇《第一个iOS应用》已经有一个多月了,今天来和大家一起学习和分享一下一个小练习《网易彩票》首先我们向storyboard中拖入一个TabBarController和5个NavigationController,如下:我们先来看看什么是导航控制器1、导航控制器“如果应用程序有多个内容视图层次,就需要能够在它们之间进行切换。为此,可以使用专门的视图控制器:导航控制器 (UINavigatio
2015-05-06 21:13:35
1913
原创 iOS菜鸟成长笔记(1)——第一个iOS应用
前言:阳光小强最近抽时间学习iOS开发,在学习过程中发现了很多有趣的东西也遇到了很多问题,为了在学习过程中能和大家交流,记录下学习的心得和学习成果,所以就有了这一个系列文章,希望这一系列文章能形成一个系统性的东西,让和我一样刚步入iOS开发的朋友少走弯路,用最少的时间获得最大的收益。既然是学习笔记,希望大家多提意见,如果你是iOS大牛多多拍砖。说起iOS开发很多朋友就会望而却步,有一部分朋友可能是
2015-03-14 14:27:23
2707
1
原创 Android自定义组件系列【16】——最帅气的自动滚动广告条
前一段时间要实现一个滚动的广告条,参考了一下网上许多实现,发现实现都很麻烦,所以我决定自己使用ViewFlipper来实现一个,在此将代码贴出来,与大家共享。转载请说明出处:http://blog.csdn.net/dawanganbanimport java.util.ArrayList;import java.util.List;import java.util.Timer;import
2015-02-26 09:11:47
4532
6
原创 版本控制Git(1)——理解暂存区
一、svn和Git的比较我们都知道传统的源代码管理都是以服务器为中心的,每个开发者都直接连在中间服务器上, 本地修改,然后commit到svn服务器上。这种做法看似完美,但是有致命的缺陷。1. 开发者不能本地跟踪代码版本。 所有的信息都是在服务器上。 你把本地的代码改了很多,但是又不能提交。通常,本地只能缓存一个版本。对于小项目无所谓, 但是项目一复杂,人员多就麻烦了。 通常你本地的代码都全是红
2015-02-07 13:19:17
2485
翻译 Android程序测试
一、建立测试环境安装了Android Developer Tools (ADT) 插件的Eclipse将为你创建,构建,以及运行Android程序提供一个基于图形界面的集成开发环境。Eclipse的一项方便的特性是可以自动为你的Android应用项目创建一个对应的测试项目。1、建立一个Android工程(如下,名为AndroidNormalProject)、或者导入已经存在的工程。2、生成一个该工
2015-02-04 23:22:36
2027
翻译 设计兼容不同的屏幕尺寸的Android界面
Android的屏幕类型有几百种不同的尺寸,从小型的手机到大型的电视机。因此要使我们的应用程序兼容不同屏幕尺寸,同一个应用就可以提供给更多的用户使用。一、支持不同的屏幕尺寸为了确保布局的灵活性,来适应不同尺寸的屏幕,我们应该使用“wrap_content"来匹配组件的最小尺寸和使用”match_parent"来设置某些视图来匹配父视图的大小。这样设置和直接设置视图大小(如48dip)不同的是该视图
2015-01-21 15:18:30
5197
1
原创 是男人就下100层【第六层】——高仿豆瓣客户端
前一段时间阳光小强安装了一个豆瓣客户端,第一次打开就被这种界面风格吸引了,今天早上起来在打开豆瓣听音乐的时候,突然产生一个念头,来试着实现一下这种效果,打开客户端分析了一下发现其实这种效果的实现并不是想象中的那么难,下面我先分析一下这种效果的实现思路,然后一步步解释实现的过程,希望大家能提出意见和建议,一起交流学习。先给大家展示一下我的成果吧:其实豆瓣客户端的界面上还有其他的文字和菜单,但是这两个
2015-01-18 15:57:25
8228
19
html5博客主页
2014-03-31
高仿帮美女更衣系列源码(1)
2014-03-09
微信高仿系列源码(9)
2014-03-06
Android布局文件反编译工具
2014-03-05
高仿微信界面系列源码(8)
2014-03-04
高仿微信系列源码(6)
2014-03-03
Android一个小闹钟例子
2014-02-26
android高仿iphne开关
2014-02-12
极光消息推送(服务器自动生成内容)
2014-02-10
Android贪吃蛇源码
2014-01-26
appframework-master 2.0
2014-01-17
ios_网易彩票
2015-05-06
Android高仿豆瓣客户端
2015-01-18
Android自定义对话框
2014-12-30
unity3d制作的一个3d游戏源码
2014-11-11
unity3d开发的游戏demo
2014-11-11
Android2048游戏
2014-07-18
2048apk安装文件
2014-07-17
贪吃蛇源码(未完结版)
2014-07-13
Android自定义组件——单向滑动(仿facebook)
2014-04-22
PhoneGap+Jquery mobile汇率计算器
2014-04-14
PhoneGap环境搭建demo
2014-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人