
安卓-工具篇
黑色之路
每个人都依靠自己的知识和认识,却又被之所束缚,还将这些称之为现实。但知识和认识是非常暧昧的东西,那个现实也许只不过是镜中花水中月。人们都生活在自我意识之中,你不这么认为吗?
展开
-
提高工作效率的16条Android开发小经验
笔者在经历了多个Android开发项目之后,个人积累也从别处学习了很多在Android开发中非常实用的小经验。下面从中选择了最实用的16条,分享给大家。1.TextView中的getTextSize返回值是以像素(px)为单位的,而setTextSize()是以sp为单位的.所以如果直接用返回的值来设置会出错,解决办法是用setTextSize()的另外一种形式,可以指定单位:转载 2015-07-22 13:26:48 · 426 阅读 · 0 评论 -
Android 数据库框架ormlite 使用精要
目录(?)[-]Android 数据库框架ormlite 使用精要前言ormlite是什么为什么要用ormlite如何使用导入jar包到项目libs文件夹下继承OrmLiteSqliteOpenHelper类定义数据库帮助类定义实体类Bean代表一张表ormlite的外键约束一对一一对多多对多关系定义Bean的DAO对数据库进行增删改查ormlite的批处理操作在Andro转载 2015-06-02 20:23:26 · 751 阅读 · 0 评论 -
如何检查 Android 应用的内存使用情况
[-]解析日志信息查看堆的更新跟踪内存分配查看总体内存分配获取堆转储使用Eclipse内存分析工具对比堆转储触发内存泄露Android是为移动设备而设计的,所以应该关注应用的内存使用情况。尽管Android的Dalvik虚拟机会定期执行垃圾回收操作,但这也不意味着就可以忽视应用在何时何处进行内存分配和释放。为了提供良好的用户体验,做到系统在不同应转载 2015-05-18 18:52:29 · 584 阅读 · 0 评论 -
Android应用层View绘制流程与源码分析
背景View绘制流程第一步递归measure源码分析2-1 measure源码分析2-2 measure原理总结View绘制流程第二步递归layout源码分析3-1 layout源码分析3-2 layout原理总结View绘制流程第三步递归draw源码分析4-1 draw源码分析4-2 draw原理总结View的invalidate和postInvalidate转载 2015-05-31 19:58:30 · 543 阅读 · 0 评论 -
Android开发--IntentService的用法,你错过了什么
IntentService是Android中提供的后台服务类,我们在外部组件中通过Intent向IntentService发送请求命令,之后IntentService逐个执行命令队列里的命令,接收到首个命令时,IntentService就开始启动并开始一条后台线程执行首个命令,接着队列里的命令将会被顺序执行,最后执行完队列的所有命令后,服务也随即停止并被销毁。与Service的不同转载 2015-05-31 19:40:05 · 452 阅读 · 0 评论 -
android 源码编译
. 磁盘空间预留50G左右,内存3G,因为下载的androd文件非常多并且编译后,会生成很多文件,最终生成会达到45G的大小 2. virchobox 3. 按装 Ubuntu 我的版本是12.04 4. 安装Git工具。Android源代码采用Git工具来管理, sudo apt-get install git-core转载 2015-05-31 20:01:52 · 434 阅读 · 0 评论 -
android利用线程池高效实现异步任务
不管是开发android应用程序还是java应用程序,异步任务都是经常用到的,尤其是android本身做为线程不安全,只要稍微耗时的操作都要用到异步任务,而无论是java还是android通用的异步任务开发以前无非就是利用Thread和Runnable来实现, android系统本身还有属于他自己的AsyncTask去专门处理异步任务.但其实这些都不是最高效的异步任务处理方法,尤其是任务有多个的情转载 2015-05-29 20:37:08 · 824 阅读 · 0 评论 -
_利用android提供的HanziToPinyin工具类实现汉字与拼接的转换
汉字转换成拼接的效果有很多实现方式,例如pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制(后面的博客会详细介绍使用方法)。但是在android的系统应用联系人中也给我们实现了汉字与拼接转换的方式,接下来我们简单介绍一下android中汉字与拼音的转换。 1.首先到https://github.com/android网站上去下载android提供转载 2015-05-29 20:01:01 · 1067 阅读 · 0 评论 -
Fragment onCreateView inflate注意事项
用Fragment很久了,今天忽然发现自己写的东西,明明子Fragment是全屏,但是宽度只有那么一点点。其实这个问题的本质是inflate的方法的使用,之前也研究过但么有留下记录,在fragment使用上又暴漏出来了。直觉告诉我一定是哪块出问题了,很快锁定到onCreateView上。 在onCreateView里我们一般有两种写法,方法1: @Override p转载 2015-06-19 11:33:17 · 507 阅读 · 0 评论 -
浅析Context及可能带来的内存泄漏问题
什么是 ContextContext 能干什么Context 类继承图使用 Context 你不知道的事什么是 Context纯英文含义来看,Context 意指上下文、环境、背景等等……那么 Android 中的 Context 的含义和这些英文释义有什么联系呢?不妨看看 Google 给出的定义:Interface to global i转载 2015-05-31 19:37:43 · 523 阅读 · 0 评论 -
于cookie 和session 的理解
目录(?)[-]定义cookie 和session 的区别Android的cookie和sessionWebView中的Cookie同步问题定义当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie转载 2015-05-31 19:32:38 · 432 阅读 · 0 评论 -
Android应用开发:网络工具——Volley(二)
[-]引言源头RequestQueueCacheDispatcher缓存操作NetworkDispatcher网络处理ExecutorDelivery消息分发者与Request请求总结引言在Android应用开发:网络工具——Volley(一)中结合Cloudant服务介绍了Volley的一般用法,其中包含了两种请求类型StringRequest和JsonObj转载 2015-05-31 19:25:41 · 684 阅读 · 0 评论 -
Android Studio使用jni、so库
Android Studio使用jniso库添加lib库添加so库简单粗暴自定义目录使用警告包名so库版本Android Studio使用jni、so库在Android Studio1.1之后,AS就已经支持jni和so库了,马上发布的1.3正式版,更是可以在clion环境下编译c、c++,更加方便的使用NDK进行开发,网上有转载 2015-06-02 20:23:54 · 671 阅读 · 0 评论 -
关于goole IO大会发布的android M和android studio1.3的更新
一听说google IO大会新发布了,就默默关注google的新的方向,这不,之前盛传已久的android M 棉花糖发布了(目前名字还没定,我比较希望google选择marshmallow这个名字),我就着急的去想去体验一把了,码农就这点爱好,喜欢尝鲜,再者体验一下新版android studio1.3的新功能,可查看编辑c++代码,这个我就比较期待了,鉴于一些不明原因(咳咳,你懂的),andr转载 2015-06-02 20:35:16 · 447 阅读 · 0 评论 -
Android HandlerThread 源码分析
HandlerThread 简介HandlerThread使用步骤创建实例对象启动HandlerThread线程构建循环消息处理机制HandlerThread实例HandlerThread源码分析HandlerThread构造方法HandlerThrad的run方法HandlerThread的其他方法getLooper获得当前线程的Looper对象quit结束当前线转载 2015-07-16 19:12:17 · 547 阅读 · 0 评论 -
收集-Android快速开发框架、第三方库
Universal Image Loader - httpsgithubcomonlyTanAndroid-Universal-Image-LoaderLitePal - android-percent-support-extend - 在开发过程中,使用一些封装好的框架,可以节约时间,减少代码量。因为这些框架将常用的功能模块封装好,开发的时候只需简单的代码进行调用。转载 2015-07-16 13:38:11 · 623 阅读 · 0 评论 -
Android AIDL Service 跨进程传递复杂数据
黑夜传值方式传递类型简单流程传递类UserJavaUseraidlIServiceAidlInterfaceaidlIndependentServicejava文件梳理与配置文件结构独立进程配置使用核心代码打印日志进程引申代码写在最后黑夜黑夜给了我黑色的眼睛,我却用它寻找光明~传值方式AIDL是允许跨进程传递值的,一般来说转载 2015-07-15 20:10:31 · 1226 阅读 · 0 评论 -
[转]使用handler时的warning:ThisHandlerclassshouldbestaticorleaksmightoccur
在使用handler 的时候经常会出现这样一条警告: This Handler class should be static or leaks might occur 。 这条warning不会影响代码的编译和执行,但既然弹出了一条warning,肯定是有问题的,希望能把这个点给解开。 从stackoverflow上找到的解答是这样的(【4】): I转载 2015-07-14 19:43:03 · 495 阅读 · 0 评论 -
Android实战技巧之三十八:Handler使用中可能引发的内存泄漏
问题描述解决方案一为什么会内存泄漏另一个解决方案的尝试问题描述曾几何时,我们用原来的办法使用Handler时会有下面一段温馨的提示:This Handler class should be static or leaks might occur1下面是更详细的说明(Android Studio上的警告,不知道Eclipse上是否相同)Since th转载 2015-07-14 19:37:38 · 406 阅读 · 0 评论 -
[Android Studio 权威教程]AS 中配置强大的版本管理系统(Git、SVN、等)
安装GitCVS新建一个本地空仓库新建AS项目配置Git上传代码下拉代码版本控制面板最后一个变化配置github账户从github克隆项目其他版本管理工具的配置在Eclipse中添加Git等版本管理工具需要自己添加插件,而且个人觉得不咋好用,在AS中已经给我们集成好了,我们只需要配置一下就OK了,今天就和大家聊聊怎么配置以及使用的要点。1. 安装Git/CV转载 2015-07-10 12:09:17 · 493 阅读 · 0 评论 -
[Android Studio 权威教程]AS构建系统-Gradle
androidandroid-studio教程Gradle构建系统目录(?)[-]等级配置文件模块配置文件SDKNDK配置文件前几篇我们主要讲了AS的配置的一些东西,今天我们就开始认识一下Android Studio的【构建系统】-Gradle。Gradle是什么?Gradle 是以 Groovy 语言为基础,面向Java应用为主。基于D转载 2015-07-10 12:08:17 · 535 阅读 · 0 评论 -
Android开源框架Universal-Image-Loader详解
如果说评价一下哪个图片开源库最被广泛使用的话,我想应该可以说是Universal-Image-Loader,在主流的应用中如果你随便去反编译几个,基本都能看到他的身影,它就像个图片加载守护者,默默的守护着图片加载。相信很多人对这个异步加载图片框架还不是很熟,再加上最近它更改优化了好几个地方,而网上的大部分资料还是以前的,于是花了几天时间专门的研究了下开源框架Universa转载 2015-05-27 12:31:29 · 669 阅读 · 0 评论 -
Android是如何根据限定符,来寻找合适的资源文件的?
转载请注明出处:http://blog.youkuaiyun.com/zhaokaiqiang1992本文主要介绍了当我们使用限定符修饰我们的资源文件夹,例如drawable-en-ldpi时,Android系统是根据什么规则对这些文件夹进行筛选和选择的。本文不是严肃翻译,想查看原文的请戳 Providing Resources我们都知道,当我们使用限定符修饰资源文件夹,比如说转载 2015-05-19 19:15:30 · 641 阅读 · 0 评论 -
Android 自动化测试之------ Monkey工具
虽然 一般公司都有专门的测试人员,但是有时候 免不了 我们既要去开发产品,也要去测试产品,测试产品,有些机械化的 点界面的操作,谷歌已经给我们提供了工具,Monkey, 猴子测试。 什么是MonkeyMonkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发转载 2015-06-02 20:29:20 · 494 阅读 · 0 评论 -
2015推荐的Android框架
一、GuavaGoogle的基于java1.6的类库集合的扩展项目,包括collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O等等. 这些高质量的API可以使你的JAVA代码更加优雅,更加简洁.功能模转载 2015-06-01 19:43:35 · 796 阅读 · 0 评论 -
Android 纹理定距离移动(openGl可以看这货代码)
http://blog.youkuaiyun.com/sh15285118586/article/details/46284947效果图:右边的文字栏上下移动,没有文字会自动停止移动。这和之前我写的纹理移动不同,之前的是循环移动,这次是定位移动。顶点着色器:[cpp] view plaincopyuniform mat4 uM转载 2015-05-31 19:46:54 · 494 阅读 · 0 评论 -
Android 程序框架设计
一些概念设计之前应该做什么3程序框架如何设计4一些基本原则这篇文章主要内容来自于之前我讲的一个PPT文档,现在将其整理如下。欢迎指正。以下的内容都是来自于我自身的经验,欢迎大家多提自己的建议。1、一些概念模式的定义:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重转载 2015-06-19 11:44:54 · 582 阅读 · 0 评论 -
Android常用工具类(收藏)
Android常用工具类主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java。目前包括(HttpUtils、DownloadManagerPro、ShellUtils、PackageUtils、PreferencesUtils、JSONUtils、FileUtils、ResourceUtils、StringUtils、ParcelUtils、转载 2015-05-14 20:54:13 · 363 阅读 · 0 评论 -
android 在android中教你一行代码判断是不是主线程
我们有些时候需要判断这是不是主线程,特别是在一些使用别人框架的时候,比如想在某个回调中显示textview控件上的文字,但是我不知道他是不是在主线程中,下面一行代码就可以判断是不是在主线程中android 在android中教你一行代码判断是不是主线程,代码如下if (Looper.myLooper() == Looper.getMainLooper()){转载 2015-05-14 21:18:24 · 403 阅读 · 0 评论 -
关于新版ADT每次创建项目都出现appcompat_v7的问题
做Android开发的朋友最近会发现,更新ADT至22.6.0版本之后,创建新的安装项目,会出现appcompat_v7的内容,而且项目会报错。这到底是怎么回事呢?原来appcompat_v7是Google自己的一个兼容包,就是一个支持库,能让2.1以上全使用上4.0版本 的界面。下面简单说几种解决方案吧!1.删除appcompat_v7包删除appcompat_v7包转载 2015-05-16 10:06:17 · 502 阅读 · 0 评论 -
Android studio导入开源项目
1什么是gradle2导入android studio 前几天从github上下载一个开源项目,发现他并不是以前Eclipse那种的目录结构 而是最近在用到的android studio的文件目录。从上图中我们可以看到多次出现了gradle这个单词。Android Studio + Gradle的组合用起来非常方便,很多第三方开源项目也早都迁移到了Studi转载 2015-05-16 09:44:39 · 469 阅读 · 0 评论 -
Android实战技巧之九:最新Android开发环境(Eclipse+ADT+Android 5.0)
androidadtsdkAndroid 5.0目录(?)[-]一一切由运行时错误引起二尝试三最新开发环境的搭建Eclipse ADTSDK各tools的升级ADT的升级eclipse luna再次安装ADT四dex的问题五结论一、一切由运行时错误引起dalvikvm Could not find class '引用包.类', refer转载 2015-05-15 17:56:47 · 659 阅读 · 0 评论 -
Eclipse ADT插件和Android SDK使用离线包升级笔记
2013.10.9打开SDK Manager,SDK Tools和Android4.3版本的许多内容都提示有更新了,于是更新吧,更新过程中各种问题和bug,历经千辛万苦升级成功,记录于此,并附上离线包百度网盘下载地址。0. 在进行下面步骤前,默认你已无法在线下载这些数据,不论是用https还是http(Option中设置)。否则请忽略此文。1. 更新SDK Tools和An转载 2015-05-15 22:11:06 · 857 阅读 · 0 评论 -
【资源】最新Android SDK_API_开发包_离线包_下载
原文地址:SDK_API_开发包_离线包_下载" style="text-decoration:none; color:rgb(117,76,39)">【资源】最新Android SDK_API_开发包_离线包_下载作者:我在深圳等你_开发Android应用少不了Android SDK,由于谷歌服务器的原因,在国内下载Android SDK速度非常慢,如果要把所有的Android SDK下转载 2015-05-15 19:10:28 · 857 阅读 · 0 评论 -
关于Android SDK使用离线包更新的说明
参考博客:http://blog.youkuaiyun.com/feiniao1221/article/details/12557889。因为没找到csdn文章是怎么转载,所以备注下。在试用Android SDK Manager工具进行SDK升级是非常慢的,所以想通过像ADT工具那样也使用SDK包离线安装,千辛万苦终于找到原版的SDK离线包了。在使用Android SDK Mana转载 2015-05-15 22:12:04 · 680 阅读 · 0 评论 -
Android studio导入eclipse项目且不改变目录结构
Android studio的安装与配置论坛当中已经有很多在此就不在细说了,现在开始说下如何在Android studio当中导入eclipse的项目且不改变其目录结构和配置,让使用eclipse的同学也可以继续使用,当然使用android studio的同学也可以使用。废话少说上图1. 使用open的方式打开一个已经存在的android项目(eclipse创建的)转载 2015-05-15 13:34:42 · 492 阅读 · 0 评论 -
安卓获取某apk的签名信息,可用作防盗版进入。
一般项目中有防盗版的需求,必须是正版软件才能使用,这就需要获取当前安装包的签名信息和提前规定的签名,Md5值做验证,或者发布时候要检验apk签名信息以防止发错包,造成不必要的损失。 获取签名信息,通过遍历已安装的apk 获得安装过的对应apk是否与已知apk签名一致,包名你也可以指定任意已安装过的apk,可以获取第三方apk的签名哦[j转载 2015-05-14 21:08:09 · 456 阅读 · 0 评论 -
TCP、UDP和HTTP
先来一个讲TCP、UDP和HTTP关系的1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UDP协议。在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。因此,HTTP本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传送协议。转载 2015-05-20 18:18:33 · 538 阅读 · 0 评论 -
如何正确的使用SharedPreferences?
这是我最近碰到过的一个问题,之前并没有一个清晰的认识!唯一的印象是,SharedPreferences 是可以用来存取数据。直到前些日子,在360漏洞扫描应用后,才意识到这个问题,如何正确的使用SharedPreferences呢?以下是360漏洞扫描的信息:关于SharedPreferences顺便再复习一下:SharedPreferences 是Andr转载 2015-06-18 10:39:46 · 933 阅读 · 0 评论 -
Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
这个图片异步加载并缓存的类已经被很多开发者所使用,是最常用的几个开源库之一,主流的应用,随便反编译几个火的项目,都可以见到它的身影。 可是有的人并不知道如何去使用这库如何进行配置,网上查到的信息对于刚接触的人来说可能太少了,下面我就把我使用过程中所知道的写了下来,希望可以帮助自己和别人更深入了解这个库的使用和配置。 GITHUB上的下载路径为:htt转载 2015-05-27 12:31:05 · 359 阅读 · 0 评论