- 博客(50)
- 资源 (10)
- 收藏
- 关注
转载 CoordinatorLayout问题汇总
如果你只打算学习一下CoordinatorLayout然后写2个Demo试试,那么本文并没有什么卵用,但是如果你打算在生产环境使用CoordinatorLayout,那么强烈推荐阅读一下本文,可以减少很多弯路,这个东西看起来很好,但是实际上坑也很多。###前言很多应用主页常见的构造模式一个包含ActionBar和Banner的header+ViewPager的组合模式比如这
2017-01-04 16:11:43
3646
1
翻译 Android 7(N)网络安全配置
Android N 包含一个网络安全配置特性,让应用可以在一个安全的声明性配置文件中自定义其网络安全设置,而无需修改应用代码。 可以针对特定域和特定应用配置这些设置。 该特性的主要功能如下所示:自定义信任锚:针对应用的安全连接自定义哪些证书颁发机构 (CA) 值得信赖。 例如,信任特定的自签署证书或限制应用信任的公共 CA 集。仅调试重写:在应用中以安全方式调试安全连接,而不会增加安装基数的风险。Cleartext traffic 选择退出:防止应用意外使用 cleartext traffic。证
2016-07-18 16:37:47
5748
2
原创 Git服务之gogs部署安装
Gogs 是一款使用golang编写的轻量的、开源的、自助式git托管服务。其功能与 github 及 gitlab 比较相似,不过gogs的部署要比前者简单的多,而且其功能也比较轻量。它是用 Go 语言写的,能兼容各个系统。它能运行于 Windows,MAC,Linux,ARM 等。
2016-07-14 10:32:12
16444
原创 Https SSL/TLS详解
SSL:(Secure Socket Layer,安全套接字层),为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取。当前版本为3.0。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协
2016-05-20 14:44:37
4140
转载 http状态码(备忘)
http状态返回代码 1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。http状态返回代码 代码 说明100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。http状态返回代码 2xx (成功)表示成功处理了请求的状态代码。http状态返回代码 代码 说明200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了
2016-04-22 09:55:39
4788
转载 dagger2-重点篇
Qualifier(限定符)、Singleton(单例)、Scope(作用域)、Component的组织方式概念讲解dagger2能带来哪些实惠?
2016-03-28 15:52:47
5023
转载 dagger2-基础篇
dagger2中的Inject,Component,Module,Provides等等都是什么东东,有什么作用?dagger2到底能带来哪些好处?怎样把dagger2应用到具体项目中?
2016-03-28 15:50:00
5300
1
转载 饿了么移动APP的架构演进
时代演进,技术也随之发展。到今天,APP已然成为绝大多数互联网企业用来获取用户的核心渠道。与此同时,伴随着业务量的增长,愈来愈大、愈来愈多的APP也在不断地、持续地挑战着每一个移动端研发人员的知识深度,而我们的移动端技术人员也在这个不断接受挑战的过程中,成就了今天的移动互联网时代。饿了么移动APP就是这样一个挑战,多用户量、多业务量,在接受着更多更挑剔用户的同时,默默地、不断地演进着移动端的架构。
2016-03-16 18:06:38
7657
转载 自定义Android Studio工程模板
Android Studio的工程模板在安装目录的“\plugins\android\lib\templates\gradle-projects”文件夹下,这里面包含了导入工程模板、新建工程模板、新建module模板等。
2016-03-16 17:23:35
8889
原创 android APP从后台重启后如何避免异常
android中,当我们按home键(一般指手机的物理按钮的中间那个键)回到手机桌面,此时app并没有退出,而是一直运行与后台中,此时如果我们点击app图标,还是会进入刚刚的界面之中。但是这存在一个问题,就是如果内存紧张或者当我们回到桌面,点击了别的应用造成内存紧张,此时再通过点击图标进入app,此时会出现异常。这样造成的用户感觉非常不好!其实,归纳起来,并不仅仅这种情况下造成数据丢失,造成数据丢失的情况有如下几种:
2016-02-18 14:57:02
5417
原创 gradle maven私服构建aar
gradle 对maven仓库的依赖非常好,所以在使用aar之前,需要将aar上传到maven仓库中,(一般都是部门自己搭建的私有maven仓库,如何搭建此处跳过)。 1.首先构建push的gradle 脚本 xxx-gradle-mvn-push.gradleapply plugin: 'maven'apply plugin: 'signing'def
2016-01-21 09:27:00
10523
原创 使用gradle多渠道打包
以友盟的多渠道打包为例,假设我们需要打包出如下渠道:UMENG, WANDOUJIA, YINGYONGBAO。第一种方法,是需要创建文件的。我们在写完我们的代码之后,在app/src下面,分别创建和main同级目录的文件夹umeng, wandoujia, yingyongbao,这三个文件夹里面都各只有一个AndroidManifest.xml文件,文件只需要如下:
2016-01-21 09:13:32
7396
原创 Android 获取签名公钥 和 公钥私钥加解密
[java] view plaincopypublic class GetPublicKey { /** * 获取签名公钥 * @param mContext * @return */ protected static String getSignInfo(Cont
2015-12-12 15:59:08
7061
转载 Android应用内多进程的使用
Android应用内多进程介绍及使用 一个应用默认只有一个进程,这个进程(主进程)的名称就是应用的包名,进程是系统分配资源和调度的基本单位,每个进程都有自己独立的资源和内存空间,其它进程不能任意访问当前进程的内存和资源,系统给每个进程分配的内存会有限制。 如果一个进程占用内存超过了这个内存限制,就会报OOM的问题,很多涉及到大图片的频繁操作或者需要读取一大段数据在内存中使用时,
2015-12-12 15:22:03
2600
转载 APK瘦身值得分享的一些经验
现在apk越来越大,原因有如下几个: APK在安装和更新之前都需要经过网络将其下载到手机,如果APK越大消耗的流量就会越多,特别是对于使用移动网络的用户来讲,消耗流量越多就代表需要花更多的钱去购买流量。同时一些第三方应用商城也会对上传的APK大小有限制,所以为了能够让产品能够更受商城和用户欢迎,APK瘦身是第一步,更小的APK标示着更多地用户愿意去下载和体验。 为了能够减小AP
2015-12-12 15:19:42
3447
原创 Android 提升进入界面的速度
应用除了有内存占用、内存泄露、内存抖动等看不见的性能问题外,还有很多看得见的性能问题,比如进入界面慢、点击反应慢、页面卡顿等等,这些看得见的体验问题会严重影响用户使用APP心情,但用户的情绪又无法通过异常采集、数据分析来发现,尽早优化APP的性能体验问题非常重要,会在一定程度上提升用户的留存率。 本文结合最近一段时间对项目中APP各界面进入速度的优化,总结一下进入界面慢的优化方案。先
2015-12-12 15:16:57
2180
原创 Android Studio最新配置教程2016
1.Studio中有Project和Module的概念,Studio中一个窗口只能有一个项目,即Project,代表一个workspace,但是一个Project可以包含多个Module,比如你项目引用的Android Library, Java Library等,这些都可以看做是一个Module。2.Gradle是一种依赖管理工具,Gradle的核心是一个丰富的可扩展的基于Groovy的领域特定语言(DSL)。Gradle通过提供说明性语言元素将说明性构建推到下一层,您可以组装。这些元素也提供build
2015-07-22 11:41:33
4320
原创 GitHub中常用开源库
awesome-androidIntroductionandroid libs from githubSystem requirementsAndroidNoticeIf the lib is no longer being maintained,please do not add it here.LibsTable of c
2015-05-20 14:46:22
6244
1
原创 Eclipse常用插件在线安装和离线安装方式
1.Subclipse源码管理工具Subversion的Java客户端,对使用Subversion做源码管理的,这个相信用的会比较多。默认使用JavaHL接口,如果使用中没有问题的话,最好别切换官网地址:http://subclipse.tigris.org/Update site: http://subclipse.tigris.org/update_1.6.xlink方
2014-12-22 14:59:07
9195
原创 异常分析:java.lang.IllegalMonitorStateException
java.lang.IllegalMonitorStateExceptionJavaDoc上关于IllegalMonitorStateException的解释是:Thrown to indicate that a thread has attempted to wait on an object's monitor or to notify other threads wa
2014-12-17 00:40:17
8500
原创 HTML - HTML Commonly Used Character Entities
HTML EntitiesSome characters are reserved in HTML.It is not possible to use the less than (<) or greater than (>) signs in your text, because the browser will mix them with tags.To actually display reserved characters, we must use character entities
2014-08-27 16:27:09
1082
原创 volatile关键字解析
ListView中每个Item项之间都有分割线,设置android:footerDividersEnabled表示是否显示分割线,此属性默认为true。1.不显示分割线只要在ListView控件中添加android:footerDividersEnabled="false"即可。
2014-08-27 16:18:05
2536
1
原创 Android AndroidManifest 清单文件以及权限详解
每个Android应用都需要一个名为AndroidManifest.xml的程序清单文件,这个清单文件名是固定的并且放在每个Android应用的根目录下。它定义了该应用对于Android系统来说一些非常重要的信息。Android系统需要这些信息才能正常运行该应用。Android程序清单文件主要具有下面作用:· 它给应用程序Java包命名,这个包名作为应用程序唯一标识符。· 它描述了应用程序中的每个程序组件—Activity,Service,Broadcast Receiver
2014-08-09 10:50:21
12502
2
原创 Android Notification通知详解
Android Notification通知详解Notification.Builder类中提供的方法:builder.setAutoCancel(); 设置点击通知后,状态栏自动删除通知。builder.setSmallIcon(R.drawable.alert); 设置通知小图标builder.setLargeIcon(R.drawable.alert2); 设置通知大图标builder.setContentTitle("标题"); 设置通知标题builder.setContentText(
2014-08-09 10:45:45
3776
原创 android Loader——装载器
装载器从android3.0开始引进。它使得在activity或fragment中异步加载数据变得简单。装载器具有如下特性:它们对每个Activity和Fragment都有效。他们提供了异步加载数据的能力。它拥有一个数据改变通知机制,当数据源做出改变时会及时通知。 当Cursor 发生变化时,会自动加载数据,因此并不需要再重新进行数据查询。android设计Loader的初衷是想让大家像CursorLoader的做法一样,通过loader去维护数据,每次启动loader时先检查有没有旧的数据并把旧
2014-08-08 21:02:21
2862
原创 Android Handler消息传递机制
Looper的字面意思是“循环器”,它被设计用来使一个普通线程变成Looper线程。所谓Looper线程就是循环工作的线程。在程序开发中(尤其是GUI开发中),经常会需要一个线程不断循环,一旦有新任务则执行,执行完继续等待下一个任务,这就是Looper线程。使用Looper类创建Looper线程很简单,代码如下:
2014-08-08 21:01:55
2467
原创 隐式意图调用系统自带组件的各种Uri总结
显示意图要求必须知道被激活组件的包和class隐式意图只需要知道跳转activity的动作和数据,就可以激活对应的组件A 主activity B 接收跳转的activity步骤1:在主配置文件中声明B 至少要声明一个android:name属性[html] <activity android:name=".DemoActivity" android:label="@string/demoActivity" > <
2014-08-07 16:49:34
3632
原创 Android AsyncTask异步任务
AsyncTask是抽象类.AsyncTask定义了三种泛型类型 Params,Progress和Result。 Params 启动任务执行的输入参数,比如HTTP请求的URL。 一般用String类型;Progress 后台任务执行的百分比。 一般用Integer类型;Result 后台执行任务最终返回的结果,一般用byte[]或者String。
2014-08-07 10:02:59
946
转载 Android进阶之大话设计模式
Android进阶之大话设计模式一般来说,常用的设计模式有以下八种:单例、工厂、观察者、代理、命令、适配器、合成、访问者……>>详细 1 Android设计模式系列-组合模式Android中对组合模式的应用,可谓是泛滥成粥,随处可见,那就是View和ViewGroup类的使用。在android UI设计,几乎所有的widget和布局类都依靠这两个类。组合
2014-08-07 10:01:11
1318
转载 Android非常好用的组件或者框架
Android非常好用的组件或者框架 1. https://github.com/novoda/ImageLoader 异步加载图片,缓存,生成缩略图, 基本上每个应用都会需要这个lib。2. https://github.com/chrisbanes/Android-PullToRefresh 类似新浪微博,twitter,下拉刷新列表, 更牛的是还支持上拉
2014-08-07 09:59:52
2068
转载 Android UI开发详解之ActionBar
Android UI开发详解之ActionBar 在Android3.0之后,Google对UI导航设计上进行了一系列的改革,其中有一个非常好用的新功能就是引入的ActionBar,他用于取代3.0之前的标题栏,并提供更为丰富的导航效果。一、添加ActionBar1、不需要导入ActionBar,因为在android3.0或者以上版本中,ActionBar已经默认的包含在A
2014-08-07 09:59:08
2063
原创 Android BroadcastReceiver广播
BroadcastReceiver一.广播简介:(一)、广播传播机制:广播接收器,也被称为全局事件,或系统事件。在Android中,有一些操作完成以后,会发送广播,比如说发出一条短信,或打出一个电话,如果某个程序接收了这个广播,就会做相应的处理。这个广播跟我们传统意义中的电台广播有些相似
2014-08-07 09:53:52
2433
原创 Android Service 服务详解
Service 一、Service:(一)、Service 简介:1、何谓“Service”?“Service” 意思即“服务”的意思, 像 Windows 上面的服务一样,服务是在后台上运行,承担着静悄悄的不为人所注意的工作。Service运行在后台,它是不可见的、无界面的程序。
2014-08-07 09:53:00
2521
原创 android Animation动画
Animation是一个用于View,Surfaces和其它对象实现动画效果的抽象类,其中常用的类是TranslateAnimation用于控制位置的改变.以下列出一些重要的属性和方法:Xml属性android:duration:运行动画的时间android:interpolator:定义用于平滑动画运动时的加速曲线(速率)andro
2014-08-07 09:48:16
2480
原创 android SQLite数据库相关的操作
SQLite数据库相关的操作 一.SQLite数据库的简介:Android中的数据库存储中包含SQLite。 SQLite是一个轻量级的数据库,支持基本SQL语法,是常被采用的一种数据存储方式。Android为此数据库提供了一个名为SQLiteDatabase的类,封装了一些操作数据库的API。在Android应用中创建数据库后数
2014-07-24 13:25:47
2891
原创 Android SDcard操作工具类
完成功能:/** * 1/判断SD卡是否存在(挂载);. * 2/获取SD卡的根目录(物理绝对路径);. * 3/获取外部公共储存文件夹的路径;. * 4/获取应用内部储存目录(跟随应用自身的文件路径);. * 5/获取SD卡的总空间大小;. * 6/获取SD卡的可用(剩余)空间;. * 7/将文件储存到SD卡上的目录里;. * 8/将文件储存到SD卡上的公共文
2014-07-22 22:58:56
1506
原创 android使用lrucache与softReference对图片进行优化
⑴强引用(StrongReference) Person p=new Person();强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。 ⑵软引用(SoftReference)如果一个对象只具有软引用,则内
2014-07-17 22:27:14
1664
Android最新面试题
2014-07-23
android greenDAO
2014-07-23
移动人员必备的颜色对照表
2014-05-22
android学习推荐书名
2014-05-22
最强悍的Android三方库,afinal
2014-05-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人