Android
文章平均质量分 69
lyri
爱IT
展开
-
GridView总结
1、常用功能:实现九宫格,横向滑动(例如:网易新闻分类title)2、用法:和ListView很类似,需要添加一个适配器。对于简单的布局,SimpleAdapter就可满足要求。往往还是选择实现BaseAdapter,可扩展性强。 步骤:1)指定GridView每一行显示的列数 2)List数据 3)继承Ba原创 2015-06-14 22:47:50 · 569 阅读 · 0 评论 -
Jenkins的安装与Android项目构建
什么是JenkinsJenkins是一个用Java编写的开源的持续集成工具。Jenkins提供了软件开发的持续集成服务。它运行在Servlet容器中(例如Apache Tomcat)。它支持软件配置管理(SCM)工具(包括AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase和和RTC),可以执行基于Apache Ant和Apache Maven的项目,以原创 2017-02-28 22:43:49 · 540 阅读 · 0 评论 -
Android UI优化工具——Hierarchy Viewer
Hierarchy Viewer工具Hierarchy Viewer能够很便捷可视化的查看各种View嵌套关系,是一个很好的研究xml视图结构的工具。 主要有两个用途: (1)分析当前页面视图层级; (2)分析布局的时间统计(Measrue、Layout、Draw)所需要的具体时间。 有利于发现潜在的渲染瓶颈,并解决之。原创 2017-03-01 15:02:25 · 1027 阅读 · 0 评论 -
Android UI优化
Android UI渲染机制渲染模型分类从Android 3.0开始(API L11),Android开始全面使用硬件加速来进行2D渲染,硬件加速是指Android中在View上进行绘制的图形图像都使用GPU来进行绘制,使用硬件加速,在大部分时候都让绘制更加流畅,但付出的代价是需要消耗更多的内存资源。软件绘制模型软件绘制模型,这里由CPU主导绘图,按照以下2个步骤绘图:原创 2017-03-01 14:54:14 · 832 阅读 · 0 评论 -
Mac下安装artifactory的正确姿势
确定你安装了JAVA SDK 8在你开始之前,请确定你现在已经安装了Java 8,否则Artifactory将无法运行。你可以通过java -version这个命令获取Java的版本:$ java -versionjava version "1.8.0_40"Java(TM) SE Runtime Environment (build 1.8.0_40-b27)Java HotSpot(TM)原创 2017-03-06 17:15:01 · 1506 阅读 · 0 评论 -
ActivityThread读书笔记2-onResume的调用时机
之前一片文章,学习了ActivityThread是App的真正入口,他在内部维护了一个ApplicationThread对象,他和远程的ams进行通信。当创建Activity时,调用ams通过Binder机制调用ApplicationThread对象的方法,进而调用ActivityThread中的handleResumeActivity方法,最终调用Activity中的onResume()方法。在以原创 2017-03-07 15:37:45 · 1250 阅读 · 1 评论 -
Physics-based Animation 学习总结
Android O 出来了,带来了一种全新的动画 Physics-based Animation 先上Demo地址:https://github.com/lyric315/SpringAnimationTest 效果图: 概述Physics-based Animation依赖于物理规律,在动画中表现出高度的现实感。 在我们的日常生活中,当一个变化发生时,我们会自然而然的意识到它会伴随着一段物理原创 2017-05-25 22:54:34 · 2161 阅读 · 0 评论 -
Android svg 绘制三角形
三角形作为一个基本的Shape,在Android中是不支持的。 以前我们这样来定义三角形: <rotate android:fromDegrees="45" android:toDegrees="45" android:pivotX="-40%" android:pivotY="80%">原创 2017-06-05 23:47:59 · 3340 阅读 · 1 评论 -
手机通过WiFi连接adb
在通过WiFi连接ADB之前,需要确保三件事:确保PC正确安装了ADB驱动并且能够识别你的Android设备 。Android设备USB调试模式已打开。用USB数据线将PC与设备相连接。然后执行以下命令:adb kill-serveradb start-serveradb tcpip 5555adb connect xxx.xxx.xxx.xxx:5555其中xxx.xxx.xxx.x原创 2017-06-07 13:12:46 · 530 阅读 · 0 评论 -
Retrofit简单原理分析
Retrofit原理分析之前学习了怎么使用Retrofit,现在来学习它的原理。Retrofit使用接口+注解的形式来定义一个网络请求,在通过OkHttp来执行网络请求。现在有很多开源使用了注解Annotation,如Dagger2、ButterKnife等,以及Retrofit。所不同的是他们利用注解干的事却不一样。Dagger2、ButterKnife他们在编译期间就处理注解生成代码,提供依赖注原创 2016-09-30 12:00:01 · 3360 阅读 · 1 评论 -
Retrofit入门
Retrofit是什么Retrofit是一个类型安全的HTTP客户端,支持Android和Java.它是Square公司开源的项目,当前版本2.0。在实际开发中,我们Retrofit配合OKHTTP来使用。我们使用OKHTTP当做传输层,使用Retrofit在OKHTTP之上,使用Java的接口描述我们的HTTP协议。 简单的说: 使用Retrofit转换HTTP 的API协议成一个java的In原创 2016-09-28 21:02:04 · 498 阅读 · 0 评论 -
Android Fragment嵌套使用问题总结
1、Fragment类的使用 1)xml文件中使用Fragment:将Fragment当成一个控件来使用,灵活性很差,一般不推荐使用。 2)代码中动态添加Fragment,使用FragmentManager来管理Fragment; 3)最常用:viewpager+fragment,组合使用,实现欢动切换Fragment2、动态添加Fragment原创 2015-06-06 17:22:34 · 1994 阅读 · 0 评论 -
百度地图使用基础篇
百度地图API的官方教程太乱了,不容易上手。就一个定位的小功能,摸索了好久才搞定了。 第一步,核心类 public LocationClient mLocationClient; //定位的核心类public MyLocationListener mMyLocationListener;//定位数据的返回接口(public class MyLocationL原创 2015-03-14 15:59:44 · 626 阅读 · 0 评论 -
ExpandableListView不能展开的原因
最近做了两个关于ExpandableListView的项目,第一个项目好好地,什么问题都没发生,第二个项目偏偏遇到了ExpandableListView不能展开的问题。花了两天,各种调试,终于找到原因并解决。 问题原因:group中添加了button,导致ExpandableListView的焦点被button抢了。 解决方法: 1、在grou原创 2015-03-12 21:32:07 · 1003 阅读 · 0 评论 -
Service和BroadcastReceiver总结
Service1、service的隐式启动和显示启动( 如果在同一个包中。两者都可以用。在不同包时。只能用隐式启动) 隐式启动 final Intent serviceIntent=new Intent(); serv原创 2015-06-07 11:25:24 · 1014 阅读 · 0 评论 -
Dagger2的使用
之前已经学习了注解和依赖注入的相关知识,现在来学习Dagger2框架 dagger2的大名我想大家都已经很熟了,它是解决Android依赖注入的一个类库(DI类库)。Dagger2没有使用反射技术,而是在变异阶段使用生成代码实现完整依赖注入的框架,而且框架生成的代码就像我们自己手写的,很容易了解其原理。原创 2016-09-09 00:13:33 · 393 阅读 · 0 评论 -
EventBus 使用123
EventBus是针一款对Android的发布/订阅事件总线。它简化了应用程序内各组件间、组件与后台线程间的通信,并且代码的可读性更好,耦合度更低。原创 2016-09-07 23:14:49 · 506 阅读 · 0 评论 -
EventBus的源码分析
通过这片文章可以回答以下两个问题 1、为啥EventBus的事件处理方法必须申明为Public?但是我用protected也是OK的 2、粘性事件的原理,为啥发送多次Event,只有最新的event能够得到处理?EventBus类图 EventBus的类结构相对来说比较简单。其中最核心的类为EventBus和SubscriberMethodFInder原创 2016-09-07 23:29:27 · 837 阅读 · 0 评论 -
布局优化——include、merge 、ViewStub
在项目开发中,UI布局是我们都会遇到的问题,如果布局过于复杂,层级过深,不仅会影响阅读性,还会导致性能降低。Android官方给了几个优化的方法include、merge、ViewStub。这里我们我们简单的介绍下使用方法,注意事项,并从源码角度分析他们的好处,注意事项。布局重用标签标签是我们最常用的标签,能够重用布局文件。把一套布局封装起来,使用的时候使用include标签引入即可:include原创 2016-10-10 17:02:11 · 723 阅读 · 0 评论 -
ActivityThread笔记1
APP入口是ActivityThread,入口是一个main方法原创 2016-10-12 16:31:08 · 460 阅读 · 0 评论 -
Android自定义音量弹窗
GitHub地址:https://github.com/lyric315/CustomVolueAdjust定义CustomVolueAdjust是一个Android自定义音量弹窗Demo,当用户按下音量按键后,将系统音量弹窗替换为我们自定义的音量弹窗。原理Android系统音量按键的控制逻辑在PhoneWindow类中//PhoneWindow的onKeyDown用于方法处理音量按键...原创 2018-11-22 14:14:34 · 2043 阅读 · 0 评论