
Android 技术
文章平均质量分 58
Android 技术学习与深入研究
阿Q没精神
你若盛开,清风自来。
展开
-
BroadcaseReceiver实现开机启动
1.在AndroidManifrst.xml中添加权限 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />2.在AndroidManifrst.xml中配置BroadcaseReceiver<receiver android:name=".BootBroadcastReceiver">原创 2016-12-08 11:00:54 · 1270 阅读 · 0 评论 -
android 自定义view之概述(一)
View相关的开发,在移动端占很大的比重。在开发自定义view过程中,要了解view的工作原理,View的事件处理,View的派生子类,view的属性以及自己所需的新增属性,view的绘制原理,以及响应用户消息和相关自定义回调函数 。一、View的结构Android系统的视图结构的设计采用了树模式,即View作为所有图形的基类,Viewgroup对View继承扩展为视图容器类。二、View和View原创 2017-04-05 11:52:49 · 1188 阅读 · 0 评论 -
android 自定义view之绘制(二)
自定义view的概括自定义view(一)中已经讲过,不清除的朋友可以去看看,接下来讲解自定义view主要实现方式中的一种,绘制view。连接地址: http://blog.youkuaiyun.com/haoaoo/article/details/69230440一、View绘制基本流程 1、了解绘制view的基本方法。 2、思考自己自定义Vie原创 2017-04-05 19:57:01 · 1345 阅读 · 2 评论 -
android 自定义view之组合(三)
在项目开发过程中,多处用到相同布局的控件,这时我们就可以选择组合控件,节约代码,还利于维护。一、概念 组合控件,把现有的控件根据自己的需求组合到一起形成一个新的控件。这些小的控件多是系统自带的控件。比如很多应用中普遍使用的标题栏控件,其实用的就是组合控件。二、示例 1.新建一个android项目,创建自定义view的布局文件group_view.xml<?xml version="原创 2017-04-06 11:21:19 · 1180 阅读 · 0 评论 -
android 自定义view之继承(四)
继承控件,顾名思义就是继承现有的控件来满足自己的需求与扩展。一般除了控件自身的属性外,我们会在onDraw()里进行扩展。1.继承TextView控件,定义属性。 public class TvView extends TextView { public TvView(Context context) { super(context); } public Tv原创 2017-04-06 15:39:51 · 1296 阅读 · 0 评论 -
android studio之Lint代码质量控制提升
不同级别的工程师,编程水平不尽相同,导致开发出的 APP 在性能和实现效果上面差异很大。而起android开发还存在适配性的问题,Google 也考虑到这个问题,推出了一些常见的编程建议,并通过 lint 这个工具可以告诉我们代码中有哪些不合理的实现。Lint 是一款静态代码分析工具,能检查安卓项目的源文件,查找潜在的程序错误以及优化提升的方案。Lint在默认情况下是启动的。具体给我设置的原创 2017-04-07 16:29:50 · 1867 阅读 · 0 评论 -
Android DES数据加密
DES加密介绍: DES是一种对称加密算法,所谓对称加密算法即:加密和解密使用相同密钥的算法。DES加密算法出自IBM的研究,后来被美国政府正式采用,之后开始广泛流传,但是近些年使用越来越少,因为DES使用56位密钥,以现代计算能力, 24小时内即可被破解。DES加密使用方式:1.)DesUtil常量类介绍 private final static String HEX = "0123456原创 2017-04-11 14:33:40 · 1224 阅读 · 0 评论 -
Android性能提升之LeakCanary
在build.grade 里加上依赖dependencies { debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5' releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5' testCompile 'com.squareu原创 2017-04-11 17:30:28 · 1092 阅读 · 0 评论 -
android 系统架构分析
了解系统架构对知识点梳理以及学习方向把控都要一定好处。Android分为4个主要功能层,分别是Linux内核层(Linux Kernel),系统运行时库层(Libraries和Android Runtime),应用程序架构层(Application Framework)和应用程序层(Applications)。应用框架层(Application Framework) 应用层上包含系统内置的应用程序原创 2017-04-14 16:30:47 · 1843 阅读 · 0 评论 -
HTTP协议分析
一、简介 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。Ted Nelson组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(Internet Engineering Task Force )共同合作研究,最终发布了一系列的RFC,其中著名原创 2017-04-20 20:06:31 · 2734 阅读 · 0 评论 -
HTTPS之SSL/TLS协议分析
一、简介 HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,也可以讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。其实是表示目前连接使用了SSL进行加密,把保证客户端到服务器端的通信保护起来。 采用https的服务器原创 2017-04-21 15:10:40 · 1763 阅读 · 0 评论 -
HttpClient与HttpURLConnection分析
1.HttpClient Android SDK中包含了HttpClient,在Android6.0版本直接删除了HttpClient类库,如果仍想使用则解决方法 是在android studio相应的module下的build.gradle中加入 android { useLibrary 'org.apache.http.legacy' }HttpClient的G原创 2017-04-21 16:21:00 · 1109 阅读 · 0 评论 -
android 网络框架之okhttp3
1.在android studio配置添加权限<uses-permission android:name="android.permission.INTERNET"/>gradle配置compile 'com.squareup.okhttp3:okhttp:3.2.0'compile 'com.squareup.okio:okio:1.7.0'2.异步get请求和post请求get请求priva原创 2017-05-17 16:33:40 · 449 阅读 · 0 评论 -
dalvik和Jvm的区别
一、Dalvik概要 在Android的体系框架中有一部分叫做Android Runtime,即Android运行时环境,Android Runtime环境包括了两个部分,第一部门是Android的核心类库,第二部分是Dalvik虚拟机。Dalvik虚拟机对内存具有高效的使用,以及在低速CPU上运行具有高性能。 依赖于底层Posix兼容的操作系统,它可以简单的完成进程隔离和线程管理。每一个And原创 2017-06-06 15:38:00 · 1120 阅读 · 0 评论 -
NDK环境搭建和JNI示例详解
一、概述 JNI是Java Native Interface的缩写,提供一些API实现了Java和C&C++语言的通信。以下示例开发用的工具是android stduio。二、NDK环境配置 1.配置gradle.properties文件android.useDeprecatedNdk=true2.下载NDK文件配置local.properties文件。如果NDK已经下载,直接配置使用就可以原创 2017-07-21 10:02:02 · 496 阅读 · 0 评论 -
android 保持后台推送简要分析
android和ios不同之处:ios有自己系统的apns通道,这apns通道其实就是极光后台推送到苹果服务器,苹果服务器来做推送,而安卓呢,有自己的GCM通道,但是被屏蔽了。所以现在衍生出很多第三方推送。第三方推送是客户端直接跟极光服务器通过长连接来做推送。android系统适配不同之处:4.4以上6.0以下机型:可以设置开机自动开启功能。代码可以控制 6.0以上机型:安装APP时可以设置自动开原创 2016-12-08 10:39:28 · 2711 阅读 · 0 评论 -
移动架构设计之路
随着急速开发的快速推进,以及版本迭代的频率提高。需求的多样化要求程序模块的耦合度、健壮性越来越高。团队的复杂度、项目的可控性也对我们有着很大的挑战。整体项目的把控以及团队和项目的设计越来越重要。所以,架构设计流程规划也越来越重要。所谓架构从文件目录管理到对需求的分析评估,都属于整个系统的架构。当我们开一个新项目,就要考虑目录建设。目录建设主要考虑为工程存放目录、需求UI资料存放目录、所需第三方资原创 2016-11-08 14:48:57 · 2206 阅读 · 0 评论 -
android 代码混淆
为了提高代码安全性,故做代买混淆。 在gradle里配置。 buildTypes { debug { // 是否混淆 minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules原创 2016-11-17 19:19:05 · 1295 阅读 · 0 评论 -
android View长按事件简单写法
android View长按事件简单写法原创 2016-09-20 15:32:02 · 5116 阅读 · 2 评论 -
android studio生成jar包
简要概述,配置gradle:1.在项目中如果存在重复的jar,在cradle文件dependencies的权限需要设置为provided。2.如果项目中使用了ndk,需要在dependencies里配置 compile fileTree(dir: “$buildDir/native-libs”, include: ‘native-libs.jar’),生成idk的jar包。(如果项目中没有使用idk原创 2016-09-22 17:01:45 · 1472 阅读 · 0 评论 -
android 设计模式之代理模式
代理模式(Proxy Pattern)1.概念介绍 代理模式也成为委托模式,通俗的讲就像卖商品的中间代理商。2.代码示例//代理模式基类,该类声明实体类与代理的共同接口方法,用接口和抽象方法实现都可以 public abstract class BaseClass { public abstract void run(); }//EntityClass.实体类,该类实现了代理模式的真原创 2016-09-28 14:47:31 · 1087 阅读 · 0 评论 -
Android Studio下使用JNI
在Android Studio下使用ndk开发配置流程:先看看有没有.so文件,如果没有生成.so库文件创建libs文件夹(jniLibs文件夹也行),然后把.so库放进创建的文件夹下。然后在grade里配置.so存放目录sourceSets{ main(){ jniLibs.srcDirs = [‘libs’] } }然后在代码中调用该jni方法: //在原创 2016-09-26 11:00:05 · 1385 阅读 · 0 评论