
Android
文章平均质量分 71
tangjiean
这个作者很懒,什么都没留下…
展开
-
ImageView.scaleType属性意义
ImageView.ScaleType共八种:1·ImageView.ScaleType.center:图片位于视图中间,但不执行缩放。2·ImageView.ScaleType.CENTER_CROP 按统一比例缩放图片(保持图片的尺寸比例)便于图片的两维(宽度和高度)等于或者大于相应的视图的维度3·ImageView.ScaleType.CENTER_INSIDE按统一比例缩放图片(保持图片的原创 2014-01-14 11:05:21 · 562 阅读 · 0 评论 -
Android混淆打包配置(忽略第三方jar)
在project.properties里加上 proguard.config=proguard.cfgproguard.cfg 配置如下:-optimizationpasses 5-dontusemixedcaseclassnames-dontskipnonpubliclibraryclasses-dontpreverify-verbose-optimiza转载 2014-07-07 15:09:51 · 901 阅读 · 0 评论 -
Android View生命周期
onFinishInflate() 当View中所有的子控件均被映射成xml后触发 onMeasure( int , int ) 确定所有子元素的大小 onLayout( boolean , int , int , int , int) 当View分配所有的子元素的大小和位置时触发 onSizeChanged( int , int , int , int原创 2014-07-31 23:08:12 · 1221 阅读 · 0 评论 -
Android注解(annotation)实现绑定事件的原理
注解是一种很优雅的书写方式,也是我们的代码变的简洁,更加原创 2014-08-30 11:21:23 · 3663 阅读 · 1 评论 -
利用线程运行栈StackTraceElement设计Android日志模块
如果你想实现自动MainActivity:onCreate(line:37)原创 2014-08-25 20:19:21 · 2618 阅读 · 0 评论 -
Android Picasso图片加载库源码剖析
Picasso是一个优秀的轻量级网络图片加载缓存库。花了两天时间研读了下的阅读了下他的源码。做一下的剖析:Picasso的优点:足够轻量级:maven打包出来的jar只有130kb左右二级缓存策略,分别缓存内存和磁盘空间自动监控内存大小数据很好的线程控制,根据网络状态控制线程数量、具有优先级调度策略。图片适应、压缩处理策略预加载功能代码质量高、易拓展。Picasso整体画像1 流程图原创 2016-05-15 15:05:25 · 2058 阅读 · 0 评论 -
retrofit2+rxjava+mockserver使用和理解
特点概要Square的retrofit作为目前android比较火的网络框架,具有以下特点: 1、rest api 风格 2、网络核心使用优秀开源框架okttp,其本身致力于组装request和便捷转换response。 3、代码简洁,拓展性高,开发包只有90k左右 4、支持RxJava、Guava、Java8等适配器。简单使用案例是一个简单的登陆请求案例。使用name和pw原创 2016-06-20 15:58:55 · 6365 阅读 · 0 评论 -
okhttp连接池复用机制
1、概述 提高网络性能优化,很重要的一点就是降低延迟和提升响应速度。通常我们在浏览器中发起请求的时候header部分往往是这样的keep-alive 就是浏览器和服务端之间保持长连接,这个连接是可以复用的。在HTTP1.1中是默认开启的。连接的复用为什么会提高性能呢? 通常我们在发起http请求的时候首先要完成tcp的三次握手,然后传输数据,最后再释放连接。原创 2016-06-21 18:26:41 · 49526 阅读 · 2 评论 -
Okhttp任务队列工作原理
1 概述1.1 引言 android完成非阻塞式的异步请求的时候都是通过启动子线程的方式来解决,子线程执行完任务的之后通过handler的方式来和主线程来完成通信。无限制的创建线程,会给系统带来大量的开销。如果在高并发的任务下,启用个线程池,可以不断的复用里面不再使用和有效的管理线程的调度和数量的管理。就可以节省系统的成本,有效的提高执行效率。1.2 线程池ThreadPoolExecutor原创 2016-06-22 17:57:16 · 6629 阅读 · 0 评论 -
NDK调用第三方so共享库
这两天被一个问题所困扰。其他公司提供的三方so如何调用的问题(只提供了so和.h头文件),他们的so不符合JNI的标准,从提供的.h头文件信息中无法调用so中方法。《一》首先我们看下:Android NDK标准:1.定义本地的native方法private native int pinpanOpen(String dev); 2.使用javah工具生成.原创 2014-03-05 17:13:15 · 3519 阅读 · 0 评论 -
Andriod基础2
目录: 1.junit单元测试 2.保存数据到rom中 3.andriod下的文件访问权限 4.数据保存到SDcard 5.sharedPreference保存数据 6.Pull解析xml 7.SQLite数据库 一.Junit单元测试 在实际开发中原创 2014-01-14 11:05:00 · 645 阅读 · 0 评论 -
Android基础3
目录: 1、在命令行中使用sqlite工具 2、sqlite数据库的另一种增删改查 3、sqlite中的事务处理 4、ListView的用法(充气泵LayoutInflater的用法) 5、simpleAdapter的用法 一、在命令行中使用sqlite工具 1 cmd adb she原创 2014-01-14 11:05:02 · 622 阅读 · 0 评论 -
android判断是否是第三方应用
1 /** 2 * 第三方应用过滤器 3 * 4 * @param info 5 * @return 6 */ 7 public boolean filterApp(ApplicationInfo info) { 8 if ((info.flags & ApplicationInfo.F原创 2014-01-14 11:05:19 · 1050 阅读 · 0 评论 -
解决Adb Server ACK error的问题(端口占用)
今天碰到一个很奇怪的问题,adt没法启动了,按照网上的那些方式解决也没有效果。网上一般的做法都是这样:1.进入到platform-tool目录下adb kill-server后在重新启动adb start-server,在重启下eclipse 2.在任务管理器中关闭所有有段adb的进程试过了以上的方法都没有效果,无奈不原创 2014-01-14 11:05:28 · 1157 阅读 · 0 评论 -
android自定义animation
在res目录下创建文件夹anim,在文件夹中创建xml文件xml version="1.0" encoding="UTF-8"?>set xmlns:android="http://schemas.android.com/apk/res/android"> Tween Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效原创 2014-01-14 11:05:23 · 608 阅读 · 0 评论 -
Android屏蔽后退键的方法
1 public boolean onKeyDown(int keyCode, KeyEvent event) {2 if (event.getAction() == KeyEvent.ACTION_DOWN3 && event.getKeyCode() == KeyEvent.KEYCODE_BACK) {4原创 2014-01-14 11:05:17 · 684 阅读 · 0 评论 -
android屏幕适配
UI在不同的屏幕像素或大小中显示效果可能会不同1、建议使用尽量使用线性布局和相对布局,基本上不会产生屏幕大小不适应的问题2、设置控件宽高的时候使用单位dip(dp),是根据当前设备大小比例计算出来的3、文字设置尽量使用sp单位4、尽量不使用px设置大小 像素px和dip相互转换工具,实现两种单位的相互转换,达到适配屏幕的目的工具类:DensityUtil 1 p原创 2014-01-14 11:05:15 · 700 阅读 · 0 评论 -
号码归属地的查询
实现Android号码归属地的查询:号码归属地的数据库可以从淘宝或者其他地方购买。数据库需要需要和程序一起打包放进apk中,所以数据库数据不能太大。可以对数据库进行优化。 表tb_address 表numinfo优化方法:1.提取冗余数据 2.原创 2014-01-14 11:05:11 · 905 阅读 · 0 评论 -
Android多线程下载
一、多线程下载的原理、 将服务端的资源划分给成几个等分的块,分配给不同的线程同时执行下载。 划分方法 : 每个线程分配的长度为:int blocksize = length/n 每个线程的起止位置(i-1)*blocksize--->i*blocksize-1原创 2014-01-14 11:05:07 · 870 阅读 · 0 评论 -
Notification的用法
Notification的用法:查看文档 实现步骤: // 1.获取NotificationManager String ns = Context.NOTIFICATION_SERVICE; NotificationManager manager = (NotificationManager) getSystemService原创 2014-01-14 11:05:13 · 627 阅读 · 0 评论 -
Weex初识和问题
weex 初识一句话概括就是 A framework for building Mobile cross-platform UI.面向开发者就是使用Javascript来开发native级别的weex界面。兼具web开发方式的灵活跨平台和接近于native方式的执行效率。我们都知道,H5沸沸扬扬的叫嚣 说到底运用在webview上还是一个大坑。虽是解决性能的痛点,weex在复杂的交互和页面上原创 2016-08-19 15:13:00 · 2233 阅读 · 0 评论