android
文章平均质量分 68
代码猫
一只混迹代码中的大猫,技术控
展开
-
Builder模式
Builder模式的误区:将复杂对象的构建进行封装,就是Builder模式了吗? 最近重读GOF的《设计模式》,读到Builder模式的时候,发现还是不能领悟;网上搜了下其他人的解释,发现很多人都用错了Builder模式,结构形似Builder,实际上却更像Template、或者Factory Method,或者四不像,并没有体现出Builder模式的思想和威力;通过对比学习,也逐渐原创 2017-08-01 11:30:06 · 281 阅读 · 0 评论 -
android 消息循环机制--looper handler
Looper类说明 Looper 类用来为一个线程跑一个消息循环。 线程在默认情况下是没有消息循环与之关联的,Thread类在run()方法中的内容执行完之后就退出了,即线程做完自己的工作之后就结束了,没有循环的概念。 调用Looper类的 prepare() 方法可以为当前线程创建一个消息循环,调用loop() 方法使之处理信息,直到循环结束。 大多数和消息循环的交互是转载 2017-08-01 11:31:26 · 283 阅读 · 0 评论 -
android studio 与gradle的版本对应
参考官网:https://developer.android.com/studio/releases/gradle-plugin.htmlPlugin for Gradle 和 Gradle 之间的版本对应关系 如下Plugin versionRequired Gradle version1.0.0 - 1.1.32.2.原创 2017-07-24 16:01:42 · 2924 阅读 · 0 评论 -
TCP、UDP和HTTP详解
http:是用于www浏览的一个协议。tcp:是机器之间建立连接用的到的一个协议。1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UDP协议。在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。因此,HTTP本身就是一个协议,是从Web服务器原创 2017-08-16 10:40:50 · 251 阅读 · 0 评论 -
Android targetSdkVersion详解
Android targetSdkVersion 原理17 January 2016前几天 Google 官方发布文章解析 compileSdkVersion、minSdkVersion 以及 targetSdkVersion 的含义,以及合理设置各个值的意义,原文Picking your compileSdkVersion, minSdkVersion, and targetSd转载 2017-08-16 14:01:06 · 588 阅读 · 0 评论 -
关于Android消息机制你所需要知道的
Android的消息机制几乎是面试必问的话题,当然也并不是因为面试,而去学习,更重要的是它在Android的开发中是必不可少的,占着举足轻重的地位,所以弄懂它是很有必要的。下面就来说说最基本的东西。Looper作用:关联起Thread循环取出消息1、Looper是否可以直接实例化?Looper构造方法是私有的,其中做了两件事创建一个MessageQueue转载 2017-08-16 14:18:02 · 231 阅读 · 0 评论 -
weex环境搭建
1. 前言Weex能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS、安卓、YunOS及Web等多端部署。外文名Weex内测时间2016年4月21日特 点支持iOS、安卓、YunOS等部署用 途APP客户端等目录1 产原创 2017-07-28 14:18:29 · 208 阅读 · 0 评论 -
sql 常用语句
设有关系型数据库如下:人员信息表person的数据如下:Person_id(PK)Person_GroupPerson_namePerson_age00102关羽3500202张飞3300301原创 2017-08-14 09:06:40 · 1284 阅读 · 0 评论 -
根据 UserAgent 判断网页是在浏览器、或在微信、或在APP中
1条回复根据 UserAgent 是否存在 Android,或 iPhone 可以判断网页是运行在 苹果手机 或 微信手机中。具体是安卓的在 微信中、还是在浏览器中、还是在APP中,在iPhone的 微信中、还是在浏览器中、还是在WebApp中,都可以通过UserAgent来判断。前端JS 获取 UserAgent 可以使用:navigator.userAgent。后端程序可以转载 2017-08-21 14:31:42 · 3648 阅读 · 0 评论 -
通过 UserAgent 判断是否在我们自己的安卓APP中
之前 写过一篇 根据 UserAgent 判断网页是在浏览器、或在微信、或在APP中 (http://www.miaoqiyuan.cn/p/useragent-in-where),那篇文章能通过 UserAgent 判断出 是否在微信、浏览器或者其他APP中,如果需要判断是否在我们自己开发的APP中,就无能为力了。WebView 提供了 setUserAgentString,可以任意修改转载 2017-08-21 14:35:27 · 6521 阅读 · 1 评论 -
二维码这把利刃,产品应该用到极致
注:本文有一些二维码干货,希望对二维码不是非常熟悉的产品/开发能有所收获。注2:查看本文前,请先确保你手机里有足够可扫描二维码的App(微信/微博/QQ/浏览器/淘宝/支付宝/我查查/豌豆荚/360……)转载请注明来自牛冰峰的博客:http://www.uxfeng.com/product/27.html二维码,业界当然是人人听说,人人用过。这个话题,我倒是百感交集,我一直认为转载 2017-08-21 14:50:33 · 684 阅读 · 0 评论 -
老司机谈APK瘦身套路-项目优化篇
老司机谈APK瘦身套路-项目优化篇 在上一篇文章中,老司机带领大家一起学习了图片资源的瘦身套路,收到了很多中学生读者的好评。 想了解的童鞋请点击:blog.csdn.net/mynameishua… 这次,老司机继续开车,给大家分享APK瘦身套路之项目优化篇。为了更好的跟大家说明瘦身套路,我把优化分为项目结构瘦身和代码瘦身两部分。1.项目结构瘦身套转载 2017-08-15 17:46:40 · 310 阅读 · 0 评论 -
android 8.0 移除静态注册广播
Android O 前瞻 - 是时候和 Implict Broadcast 说再见了Hevin5 个月前简评:果然省电是 Android O 的第一任务。日前,Android O 预览版已经发布,这里就来介绍下 Android O 中对 Broadcast 的改变。Android O 对于系统广播(Broadcast)的改变归根结底都是为了进一步的节省功耗。Goog转载 2017-08-16 09:21:46 · 4930 阅读 · 0 评论 -
android path 详解
Path主要用于绘制复杂的图形轮廓,比如折线,圆弧以及各种复杂图案方法列表:reset() lineTo(float x, float y)moveTo(float x, float y)close()path.addArc(oval, startAngle, sweepAngle)arcTo(Re转载 2017-08-24 10:04:36 · 1549 阅读 · 0 评论 -
include、ViewStub、merge优化布局标签
前言在写Android的xml布局时,用好 include、ViewStub、merge这三个标签,可以是我们的xml更加简洁、高效。include按照官方的意思,include就是为了解决重复定义相同布局的问题。相当于Java代码中将相同的部分抽取出来,然后复用,需要的时候引入它即可,而不必每次都自己写一遍。举例说明:一个公共布局文件 my_layout.xml(这个布局原创 2017-08-24 10:14:28 · 263 阅读 · 0 评论 -
启动模式 和 任务栈
1. LaunchMode再简单的东西也需要认真对待。Activity的四中启动模式:standard:标准模式(默认)singleTop: 栈顶复用模式singleTask:栈内复用模式singleInstance:单实例模式首先是 standard ,这是系统默认的启动模式。当我们启动新的Activity时候,是调用 Context 的startActivity() 方原创 2017-08-24 10:17:10 · 323 阅读 · 0 评论 -
Android Studio 分析器详解
Android Profiler分为三大模块: cpu、内存 、网络。基本的使用在上一篇文章有讲到。这里详细说一下。一、 CPU分析器CPU ProfilerCPU分析器可帮助您实时检查应用程序的CPU使用情况和线程活动,并记录方法跟踪,以便您可以优化和调试应用程序的代码。要打开CPU Profiler,请按照下列步骤操作:点击 View > Tool Windows > A转载 2017-11-09 09:19:49 · 2738 阅读 · 0 评论 -
几种常用的加密方式简单介绍
1 Base64加密方式(可逆)Base64中的可打印字符包括字母A-Z/a-z/数组0-9/ 加号’+’斜杠’/’ 这样共有62个字符Base64 ios7之后加入系统库 2 MD5加密Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护是计算机广泛使用的杂凑算法之一(又译摘原创 2017-07-13 15:46:31 · 11104 阅读 · 1 评论 -
android 开发规范1
Android开发规范 一、Android编码规范 1.java代码中不出现中文,最多注释中可以出现中文 2.局部变量命名、静态成员变量命名 只能包含字母,单词首字母出第一个外,都为大写,其他字母都为小写 3.常量命名 只能包含字母和_,字母全部大写,单词之间用_隔开 4.layout中的id命名 命名模式为:view缩写_模块名称_view的逻辑名转载 2017-07-18 14:22:01 · 185 阅读 · 0 评论 -
Activity中UI框架基本概念
Activity 是应用程序的基本组成部分,提供了可视的界面,与用户进行交互;具体Acitivity是怎么样显示这些事视图元素以及响应事件交互的。一Activity相关概念Activity:Activity包含一个Window,该Window在Activity的attach方法中通过调用PolicyManager.makeNewWindo创建;View:最基本的UI组件,表示屏原创 2016-03-22 13:49:35 · 318 阅读 · 0 评论 -
android 组件(activity,service,content provider,broadcast receiver,intent)详解
Android应用程序由若干个不同类型的组件组合而成,每一个组件具有其特定的安全保护设计方式,它们的安全直接影响到应用程序的安全。Android应用程序组件的主要类型有:活动(Activity),服务(Service),广播接收者(Broadcast Receiver),内容提供者(Content Provider),意图(Intent),小组件(Widget),通知(Notification)等原创 2016-03-22 14:17:31 · 1369 阅读 · 0 评论 -
dalvik 与art 区别
Dalvik 模式应该是在Dalvik虚拟机里对程序代码进行解析,这样的话每次运行软件都会启动Dalvik 虚拟机,然后对软件代码进行解析,简单的说处理一个程序需要启动两个程序,但是在安装软件的时候不需要Dalvik虚拟机来解析软件代码,所以Dalvik模式安装软件会比较快。 ART模式 是在安装软件的时候对软件代码进行直接解析,所以ART模式下安装软件会比Dalvik模式安装软件要稍原创 2016-03-22 14:41:05 · 639 阅读 · 0 评论 -
android manifest简介
每个Android项目都包含一个Manifest文件(Android Manifest.xml),它存储在项目层次中的最顶层。Manifest可以定义应用程序及其组件和需求的结构和元数据。它包含了组成应用程序的每一个Activity,Service,Content Provider和Broadcast Receiver的节点,并使用Intent Filter和权限来确定这些组件之间以及这些组件和其原创 2016-03-22 14:12:10 · 749 阅读 · 0 评论 -
Android .so .aar..jar文件的使用方式
一、这三种文件的使用1,*.jar:拷贝到:libs目录dependencies { compile fileTree(include: ['*.jar'], dir: 'libs')}第一种方法:然后打开工程所在Project Structure,选择Dependencies,点击加号选择File Dependency,然后在Libs文件夹选择要导入的jar原创 2017-02-08 10:56:34 · 486 阅读 · 0 评论 -
android intent-fliter 标准Category
表5.3 标准CategoryCategory常量对应字符串简单说明CATEGORY_DEFAULTandroid.intent.category.DEFAULT默认的CategoryCATEGORY_BROWSABLEandroid.intent.category.BROWSABLE指定该Activity能被浏览器安全原创 2017-07-12 09:46:13 · 448 阅读 · 0 评论 -
android 标准 action
android 标准的action,主要用于隐示启动actiity时过滤使用原创 2017-07-12 09:48:49 · 362 阅读 · 0 评论 -
Android中Uri的使用
uri转载 2017-07-12 14:22:19 · 8636 阅读 · 1 评论 -
ASCII
ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。请注意,ASCII是American Standard Code for Information Intercha转载 2017-07-13 14:53:42 · 548 阅读 · 0 评论 -
MVP介绍以及优化封装
近期把项目工程给换了一个架构,原来是用的是mvc ,现在转换为MVP模式,略有心得,给大家分享一下。mvp优缺点都比较明显,希望大家都能理解,不要为了用MVP而用MVP。MVP的优点:代码复用,条理清晰等等。不过在程序元来说MVP最大的优点还是代码解耦,逻辑清晰,至于代码复用,暂时没有感觉很好用,除非是界面和逻辑基本一样的,不然想要复用,其实不太现实。MVP的缺点:会多出许多类,增加了原创 2017-07-12 15:19:30 · 490 阅读 · 0 评论 -
MVP模式
Android MVP PatternAndroid MVP 模式1 也不是什么新鲜的东西了,我在自己的项目里也普遍地使用了这个设计模式。当项目越来越庞大、复杂,参与的研发人员越来越多的时候,MVP 模式的优势就充分显示出来了。导读:MVP模式是MVC模式在Android上的一种变体,要介绍MVP就得先介绍MVC。在MVC模式中,Activity应该是属于View这一层。而实质上,它既原创 2017-07-12 15:17:23 · 389 阅读 · 0 评论 -
Android混淆详解
综述毫无疑问,混淆是打包过程中最重要的流程之一,在没有特殊原因的情况下,所有 app 都应该开启混淆。首先,这里说的的混淆其实是包括了代码压缩、代码混淆以及资源压缩等的优化过程。依靠 ProGuard,混淆流程将主项目以及依赖库中未被使用的类、类成员、方法、属性移除,这有助于规避64K方法数的瓶颈;同时,将类、类成员、方法重命名为无意义的简短名称,增加了逆向工程的难度。而依靠 Gradle原创 2017-07-20 17:39:42 · 369 阅读 · 0 评论 -
anroid 图片处理加载对比(image loader,Picasso ,glide,fresco)
Android 三大图片缓存原理、特性对比这是我在 MDCC 上分享的内容(略微改动),也是源码解析第一期发布时介绍的源码解析后续会慢慢做的事。 从总体设计和原理上对几个图片缓存进行对比,没用到他们的朋友也可以了解他们在某些特性上的实现。 上篇关于选择开源项目的好处及如何选择开源项目可见:开源项目使用及选型。 一. 四大图片缓存基本信息Universal Ima转载 2017-07-18 10:04:28 · 360 阅读 · 0 评论 -
android 图片操作
Android中图片的读取,修改,显示和保存涉及到的类大致如图所示。在读取图片文件时,先将图片文件转换为InputStream对象,然后通过BitmapFactory将其转换为Bitmap对象。 在图片保存时,先将Bitmap对象转换为OutputStream对象,然后再将OutputStream输出到文件中。 如果要对图片进行修改,可以通过将Bitmap对象转换为颜色数组(int原创 2017-07-18 11:15:52 · 371 阅读 · 0 评论 -
android 手机投影演示 ——vysor操作手册
vysor操作手册原创 2017-07-18 14:01:50 · 2181 阅读 · 0 评论 -
android studio 3.0新功能介绍
谷歌2017发布会更新了挺多内容的,而且也发布了AndroidStudio3.0预览版,一些功能先睹为快。(英语一般,有些翻译不太好)下载地址https://developer.android.google.cn/studio/archive.html选择显示全部即可看到下载地址,这里给出来了。Windows (64-bit): android-studio-ide-171转载 2017-11-09 09:23:07 · 3318 阅读 · 0 评论