- 博客(98)
- 资源 (4)
- 收藏
- 关注
原创 Android 网络链接状态 网络是否可用
判断Android 网络已连接状态下,网络是否可用。首先分析是否链接网络;在根据Android版本判断网络是否可用:6.0以后系统提供API可用,6.0之前使用ping命令即可。public static boolean netCanUse(Context context) { if (context != null) { ConnectivityManag...
2018-04-18 11:11:01
1459
转载 关于设备唯一标识
http://blog.csdn.net/dfqin/article/details/45533455首先结论是令人失望的,对于android来说,这是一个没有完美方案的问题。大家只能努力提高它的准确性,对于大的公司来说,可以自己开发出一套自己的机制,例如我上家公司成立过一个手机指纹的项目,专门处理设备唯一性的问题防止用户刷单,原理很简单,就是尽可能的把手机能读取到的信息获取到上传到后台,甚至令人...
2018-03-02 09:34:15
4556
1
转载 Android设备唯一码的获取
https://www.cnblogs.com/maohai/p/6454013.htmlAndroid设备唯一码的获取UTDID是集团无线设备统一ID方案,目的是给每一台设备一个ID,作为唯一标识。UTDID由客户端生成,并在设备中各个客户端之间共享。UTDID的生成中包含时间戳和随机数等,因此重新生成的UTDID值一定是会改变的,UTDID的稳定性强依赖于手机存储,UTDID方案是一个重在持久...
2018-03-01 15:30:49
1042
转载 Android模块化(三)——模块可插拔单独编译运行
转自:此文属于finddreams的原创博客,转载请注明出处:http://blog.csdn.net/finddreams/article/details/78354209下面主要来讲一下单一模块的独立编译运行和插拔式的集成。单一模块的独立编译运行 模块化的好处之一就是单一模块可以独立的开发编译运行安装到用户的手机上,这样就方便了对某一模块的单独开发调试
2017-12-21 18:19:28
1336
转载 Android模块化(二)——模块通信和模块间服务调用
转自:此文属于finddreams的原创博客,转载请注明出处:http://blog.csdn.net/finddreams/article/details/78349267上一篇《我所理解的Android模块化(一)》笔者讲到了Android模块化的基本知识和模块化跳转路由的基本用法,解决了模块化中跳转的问题,下面就来讲讲如何实现模块化之间的通信和跨模块方法调用。模块
2017-12-21 18:01:01
1210
转载 Android模块化(一)——模块化概念和路由
转自: 此文属于finddreams的原创博客,转载请注明出处:http://blog.csdn.net/finddreams/article/details/78339809笔者在公司的项目中使用模块化的方式开发APP已经快一年的时间,其中经历过以模块化的方式来重构项目中一些相对来说业务比较独立的模块。遇到了一些问题,也积累了一些经验,所以想谈一谈我对Android模块化的理解,也希
2017-12-21 17:46:36
680
转载 基于Retrofit2.0+RxJava+Dragger2实现不一样的Android网络构架搭建
转自:一起分享,一起进步。finddreams:http://blog.csdn.net/finddreams/article/details/50849385 众所周知,手机APP的核心就在于调用后台接口,展示相关信息,方便我们在手机上就能和外界交互。所以APP中网络框架的搭建一直是我们开发者所关心的问题,在Android中关于如何搭建网络框架分为两种:一种是不想重复造轮子使
2017-12-21 14:08:08
364
2
转载 Android 消息机制——你真的了解Handler?
原文 前言 Android的消息机制主要是指Handler的运行机制,对于大家来说Handler已经是轻车熟路了,可是真的掌握了Handler?本文主要通过几个问题围绕着Handler展开深入并拓展的了解。「本文建议PC端阅读」看该篇文章可能需要掌握一定的「Activity 启动过程」的理论知识。并且对Handler有一定的了解。已经有经典的好文介绍Handler,所以墙裂推荐先了解以下2篇文章
2017-11-18 11:05:31
681
原创 AsyncTask学习笔记
AsyncTask的机制原理: 1.本质是一个静态线程池,派生出来的子类的任务都提交的到静态线程池中去执行。 2.在doInBackground()方法中是在工作线程执行异步任务调用而方法。 3.任务状态改变,是由任务线程发送给UI线程消息,AsyncTask中有个InteralIntent来接收消息回调给先关方法,例如:onPreExcute9()/onProgressUpdate()/on
2017-11-12 16:07:39
307
1
原创 面向对象六大基本原则
1.单一原则:一个类中有的是一组相关性很高的函数,或数据。 2.开闭原则:对扩展开放,对修改关闭。 3.里氏代换原则:所有引用基类的地方必能透明的使用其子类对象。(扩展的基础)。 4.依赖倒置原则:高层模块(调用端)不应依赖低层模块(实现端),两者都应该依赖其抽象;抽象(抽象类或接口)不应该依赖细节(实现类);细节应该依赖抽象。(主要作用是解耦)。 5.接口隔离原则:类间的依赖应该建立在最小
2017-11-12 16:06:29
547
原创 Android WebView 关闭无痕浏览
只需做如下设置: settings.setDatabaseEnabled(true); settings.setAppCacheEnabled(true); settings.setDomStorageEnabled(true);
2017-08-29 17:42:47
2640
原创 EditText 屏蔽选择、复制、粘贴等一切剪切板的操作
EditText 如何屏蔽选择、复制、粘贴等一切剪切板的操作呢?找到的资料,总结起来都是这的:editText.setLongClickable(false);editText.setCustomSelectionActionModeCallback(new ActionModeCallbackInterceptor()); private class ActionModeCallbackIn
2017-08-25 09:54:50
10838
2
转载 Android NDK开发——CMake的编译使用
原文:Android NDK开发扫盲及最新CMake的编译使用mark: 1 NDK 简介在介绍 NDK 之前还是首推 Android 官方 NDK 文档。传送门官方文档分别从以下几个方面介绍了 NDKNDK 的基础概念 如何编译 NDK 项目 ABI 是什么以及不同 CPU 指令集支持哪些 ABI 如何使用您自己及其他预建的库 本节将会对文档进行总结和补充。所以建议先浏览一遍文档,或者看
2017-08-07 17:19:09
2176
原创 Android Webview适配屏幕宽度
网上有很多解决方案,但是,要么不适用(改h5),要么影响其他h5显示。 下面的代码,亲测,至少目前为止,管用。//支持javascript web.getSettings().setJavaScriptEnabled(true); // 设置可以支持缩放 web.getSettings().setSupportZoom(true); // 设置出现缩放工具 web.ge
2017-07-25 15:36:50
12446
2
转载 Https:从tcp建立连接到https接收到第一个数据包,到底发生了什么?
转自:http://blog.csdn.net/arthur_killer/article/details/71405249https 建立连接过程Abstracthttps 是基于http 和 ssl(安全套接字层) 的安全传输协议,使用ssl 协议作为会话层协议,这里通过这篇文章结合抓包来看一下具体过程About SSL / TLS
2017-07-06 14:28:05
578
转载 HTTPS优化探索与实践
转自:http://www.sohu.com/a/154584659_268033HTTPS 是互联网安全的基础之一,然而引入 HTTPS 却会带来性能上的损耗。本文作者深入解析了 HTTPS 协议优化的各个方面,对实战很有帮助。2012 年斯诺登(Edward Snowden)爆出棱镜门事件后,互联网安全问题日益得到大家的重视。去年 Apple 宣布 2017 年 1 月 1 日
2017-07-06 10:50:35
1251
转载 Layout新姿势—ConstraintLayout
Layout新姿势—ConstraintLayout。突然发现as的创建新项目时,导入的默认布局是个新名词——ConstraintLayout。这个新姿势,感觉有必要搞一搞,转载了郭林大神这篇文章,撸起来吧~~~~原文:http://blog.csdn.net/guolin_blog/article/details/53122387内容如下:今天
2017-06-01 17:15:16
1031
原创 Kotlin干货集中营
Kotlin 成为 Android 官方支持的编程语言。 笨鸟先飞,不要成为后知后觉的那一簇。来死狗吧! 1. kotlin的官方github地址 2. kotlin语言中文站 3. Kotlin 语言官方参考文档 中文版 4. 《Kotlin for android developers》中文版翻译 5. 张涛的开源实验室-《kotlin 一门强大的语言》 6. 大精-wing的地方
2017-05-19 14:26:00
882
原创 NestedScrollView嵌套RecyclerView (官方)
NestedScrollView嵌套RecyclerView LinearLayoutManager layoutManager = new LinearLayoutManager(this);layoutManager.setSmoothScrollbarEnabled(true);layoutManager.setAutoMeasureEnabled(true);recycler
2017-04-27 11:24:00
1868
原创 Android WebView加载https网页(亲测)
只需加两处设置: 1 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); }2webView.setWebViewClient(new WebView
2017-04-25 17:09:53
12440
1
转载 自定义view——Path之基本操作(转载)-8
自定义view——Path之基本操作(转载)-8原文作者: GcsSloop原文链接在上一篇Canvas之图片文字中我们了解了如何使用Canvas中绘制图片文字,结合前几篇文章,Canvas的基本操作已经差不多完结了,然而Canvas不仅仅具有这些基本的操作,还可以更加炫酷,本次会了解到path(路径)这个Canvas中的神器,有了这个神器,就能创造出更多炫(zhuang)酷(B)的东东了。一.Pa
2017-04-13 16:38:17
467
转载 自定义View——Canvas之图片文字(转载)-7
自定义View——Canvas之图片文字(转载)-7原文作者: GcsSloop原文链接在上一篇文章Canvas之画布操作中我们了解了画布的一些基本操作方法,本次了解一些绘制图片文字相关的内容。如果你对前几篇文章讲述的内容熟练掌握的话,那么恭喜你,本篇结束之后,大部分的自定义View已经难不倒你了,当然了,这并不是终点,接下来还会有更加炫酷的技能。一.Canvas的常用操作速查表 操作类型
2017-04-12 14:10:21
414
转载 自定义View之Canvas之画布操作(转载)-6
自定义View之Canvas之画布操作(转载)-6原文作者: GcsSloop原文链接上一篇Canvas之绘制基本形状中我们了解了如何使用Canvas绘制基本图形,本次了解一些基本的画布操作。本来想把画布操作放到后面部分的,但是发现很多图形绘制都离不开画布操作,于是先讲解一下画布的基本操作方法。一.Canvas的常用操作速查表 操作类型 相关API 备注 绘制颜色 drawColo
2017-04-11 18:30:50
327
转载 自定义View之Canvas之绘制基本形状(转载)-5
自定义View之Canvas之绘制基本形状(转载)-5原文作者: GcsSloop原文链接在上一篇自定义View分类与流程中我们了解自定义View相关的基本知识,不过,这些东西依旧还是理论,并不能拿来(zhuang)用(B), 这一次我们就了解一些能(zhaung)用(B)的东西。在本篇文章中,我们先了解Canvas的基本用法,最后用一个小示例来结束本次教程。一.Canvas简介Canvas我们可以
2017-04-11 16:31:04
907
转载 自定义View分类与流程(转载)-4
自定义View分类与流程(转载)-4原文作者:GcsSloop原文链接经历过前面三篇啰啰嗦嗦的基础篇之后,终于到了进阶篇,正式进入解析自定义View的阶段。前言本章节为什么要叫进阶篇?(虽然讲的是基础内容),因为从本篇开始,将会逐渐揭开自定义View的神秘面纱,每一篇都将比上一篇内容更加深入,利用所学的知识能够制作更加炫酷自定义View,就像在台阶上一样,每一篇都更上一层,帮助大家一步步走向人生巅峰
2017-04-11 16:25:56
300
转载 View的颜色(转载)-3
View的颜色(转载)-3原文作者:GcsSloop原文链接简要介绍安卓中的颜色相关内容,包括颜色的定义,创建颜色的几种方式,以及颜色的混合模式等。一.简单介绍颜色安卓支持的颜色模式: 颜色模式 备注 ARGB8888 四通道高精度(32位) ARGB4444 四通道低精度(16位) RGB565 屏幕默认模式(16位) Alpha8 仅有透明通道(8位)PS
2017-04-11 16:21:21
510
转载 View角度与弧度(转载)-2
View角度与弧度(转载)-2原文作者: GcsSloop原文链接安卓中角度(angle)与弧度(radian)的有关问题。一.前言1.为什么讲这个?在我们自定义View,尤其是制作一些复杂炫酷的效果的时候,实际上是将一些简单的东西通过数学上精密的计算组合到一起形成的效果。这其中可能会涉及到画布的相关操作(旋转),以及一些正余弦函数的计算等,这些内容就会用到一些角度、弧度相关的知识。2.为什么对角的
2017-04-11 16:18:29
484
转载 View的坐标系(转载)
View的坐标系(转载)-1原文作者: GcsSloop原文链接一.屏幕坐标系和数学坐标系的区别由于移动设备一般定义屏幕左上角为坐标原点,向右为x轴增大方向,向下为y轴增大方向, 所以在手机屏幕上的坐标系与数学中常见的坐标系是稍微有点差别的,详情如下:(PS:其中的∠a 是对应的,注意y轴方向!) 实际屏幕上的默认坐标系如下: PS: 假设其中棕色部分为手机屏幕二.View的坐标系注意:V
2017-04-11 16:14:04
280
转载 ViewPager 设置滑动翻页距离(亲测有效!)
前言:老板说,android项目的这个viewpager不灵敏,需要滑动较长的距离才可以翻页。要求缩短滑动距离,实现较短距离翻页。这个东西,确实不好弄,网上查了很多资料,试验了很多方法,直到下面转载的文章,解决了我的问题。注意,要修改viewpager的源码,也就是说,要把Viewpager源码copy到项目,进行修改。(包括PageAdapter的源码也要copy)。亲测,有效!
2017-02-12 11:36:47
9460
10
转载 RecyclerView之ItemDecoration
原文:http://www.jianshu.com/p/b46a4ff7c10aRecyclerView没有像之前ListView提供divider属性,而是提供了方法recyclerView.addItemDecoration()其中ItemDecoration需要我们自己去定制重写,一开始可能有人会觉得麻烦不好用,最后你会发现这种可插拔设计不仅好用,而且功能强大。
2017-01-13 16:44:53
978
转载 深入理解JVM—JVM内存模型
原文:http://www.cnblogs.com/dingyingsi/p/3760447.html我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致CPU的等待成本,但是随着CPU的发展,内存的读写速度也远远跟不上CPU的读写速度,
2017-01-13 16:42:38
420
转载 解决fragment错误 Can not perform this action after onSaveInstanceState
原文:http://www.cnblogs.com/zgz345/archive/2013/03/04/2942553.html今天使用Fragment的时候,出现了这个错误 IllegalStateException: Can not perform this action after onSaveInstanceState: E/AndroidRuntime
2016-12-20 10:01:20
663
转载 Android TextView Span的使用详解
转自:http://www.cnblogs.com/flyme2012/p/3063667b50f3a62dcd29d821123677b1.htmlAndroid中的TextView是个显示文字的的UI类,在现实中的需求中,文字有各式各样的样式,TextView本身没有属性去设置实现,我们可以通过Android提供的 SpannableString类封装。Android提供了很多的S
2016-11-16 15:22:06
3193
原创 shape虚线运行显示实线问题
真吊,这个问题搞好好一会。mark一下。 首先 shape_dashed.xml代码:<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line"> <stroke androi
2016-11-15 15:59:50
710
转载 Android命名规范
原文:https://github.com/D-clock/Doc/blob/master/Code/Android编码命名规范.mdAndroid编码命名规范今年正式本科毕业,目前为止参与过的团队开发项目也有四五个。阅读过各式各样的混乱代码,最离谱的见过所有的变量都用中文拼音首字母,心中真是万千匹草泥马在奔腾。由此,也意识到命名对于编码的重要性。有人说,看一个开发者的水平如何,从看他代码的命名可以
2016-10-19 11:09:49
386
原创 监听软键盘 刷新布局视图
第一步:需要在manifest的相应activity中设置android:windowSoftInputMode=”stateHidden|adjustResize” 里面的值很迷糊,备注一下: 【1】stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置【2】stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个act
2016-10-09 17:44:56
666
原创 Android混淆笔记
如何添加混淆呢? 这里我们使用as作为开发工具。一般我们会在gradle里进行如下设置: buildTypes { release { minifyEnabled false //是否压缩(没有用的方法以及资源 会进行压缩) proguardFiles getDefaultProguardFile('proguard-
2016-09-28 11:37:00
838
转载 android 毛玻璃
原文出处:wingjay的博客。 在iOS设备上我们随处可见毛玻璃效果,而且最近越来越多的场合应用到了这种美观的虚化效果,包括本人的一个开源项目BlureImageView也是受此启发。所以,恰到好处的虚化效果能很好的改善用户体验,而且也能让你的app显得更加优雅。不过,我们目前在android上很少见到毛玻璃效果,我认为很重要的原因是性能问题,虚化一张图片所需要的时间会因设备而异
2016-08-08 09:10:49
757
原创 AS中build.gradle文件配置讲解
module中的build.gradle的文件配置。 一般主要包括如下根节点: apply plugin必须放在第一行,它可以指定这个module是一个应用(用 apply plugin: ‘com.android.application’ 配置),或是一个库(用 apply plugin: ‘com.android.library’ 配置)。allprejects依赖中一
2016-07-27 11:13:35
5308
原创 Gradle sync failed: Gradle DSL method not found: 'compile()',Consult IDE log for more details
同步gradle出现 Gradle sync failed: Gradle DSL method not found: ‘compile()’,Consult IDE log for more details (Help | Show Log) 错误。 原因:多个依赖在一行里。 eg: dependencies { compile "com.android.support:ap
2016-07-26 13:35:25
9303
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人