Android
IT_大仙
擅长Asp.net Android开发。
展开
-
Android View坐标
其实只要把下面这张图看明白就没问题了。涉及到的方法一共有下面几个:view获取自身坐标:getLeft(),getTop(),getRight(),getBottom()view获取自身宽高:getHeight(),getWidth()motionEvent获取坐标:getX(),getY(),getRawX(),getRawY()首先是转载 2016-07-06 13:58:26 · 357 阅读 · 0 评论 -
H264 GOP 扫盲
提供基于SIP的通信服务器(企业级UC,电话会议,调度系统等)及客户端解决方案,承接 sip/ims 视频客户端开发,支持接入sip软交换,ims核心网,支持 语音,视频,即时通信功能,视频格式支持 h263,h264,mpeg4 软编软解,提供硬件编解码接口对接,提供服务器,有兴趣请联系我。在视频编码序列中,主要有三种编码帧:I帧、P帧、B帧,如下图所示。 ● I帧即Intra转载 2016-07-17 22:32:14 · 1319 阅读 · 0 评论 -
视频---码率、帧率、清晰度、分辨率、流畅度的关系与设置
举一个可能不恰当的例子,如果把画面清晰度比作自来水龙头的出水量,那么码率大概就是自来水管网的水压,720p/1080p就相当于自来水管网的直径,而屏幕分辨率则是家里的自来水龙头的粗细。这些因素决定的是一个系统在整体或局部的最大能力或最高性能,而水龙头水流量是否充足,除了这些系统因素的影响,更重要的是水源地的水源是否充足。如果被摄景物本身就是全白,或摄像机性能低下,那么,再好的编码、再高的码率、再好原创 2016-07-18 22:01:33 · 7118 阅读 · 0 评论 -
Android动画详解
3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三种动画模式在SDK中被称为property animation,view animation,drawable animation。 1. View Animation(Tween Animati转载 2016-07-08 15:27:30 · 401 阅读 · 0 评论 -
Android 属性动画(Property Animation)二
ObjectAnimator实现动画,ValueAnimator实现动画,AnimatorSet的使用等~当然了属性动画还有一部分的知识点,也能做出很不错的效果,将在本篇博客为您展示~1、如何使用xml文件来创建属性动画大家肯定都清楚,View Animator 、Drawable Animator都可以在anim文件夹下创建动画,然后在程序中使用,甚至在Theme中设转载 2016-07-08 15:33:41 · 408 阅读 · 0 评论 -
Android 属性动画(Property Animation)一
1、概述Android提供了几种动画类型:View Animation 、Drawable Animation 、Property Animation 。View Animation相当简单,不过只能支持简单的缩放、平移、旋转、透明度基本的动画,且有一定的局限性。比如:你希望View有一个颜色的切换动画;你希望可以使用3D旋转动画;你希望当动画停止时,View的位置就是当前的位置;这些Vi转载 2016-07-08 15:32:06 · 332 阅读 · 0 评论 -
Android中的Interpolator
Interpolator用于动画中的时间插值,其作用就是把0到1的浮点值变化映射到另一个浮点值变化。 本文列出Android API提供的Interpolator的若干种实现,列出源码,并且用一个程序绘制出其数学曲线。(项目链接附在文后)。 AccelerateDecelerateInterpolator/** * An interpolator where转载 2016-07-08 16:25:28 · 423 阅读 · 0 评论 -
Android 状态栏、titlebar的高度计算
日常开发中我们经常会因为绘图、绘制自定义组件、定位组件或者是计算布局高度需要减去状态栏高度等需要来获取Activity界面中状态栏、标题栏的高度。但很多人马上要拿起来就用还是会遇到各种各样的问题,一时要查很多资料,很是不爽!今天也是猛然发现这个问题费了不少时间,终于有所收获,特地记录下来,希望给遇到同样问题的你一点帮助,也给以后留个笔记。废话少说,开始正题吧—— 一、Activi转载 2016-07-08 18:42:02 · 1016 阅读 · 0 评论 -
Android开发代码格式规范
书写规范1. 编码方式统一用UTF-8. Android Studio默认已是UTF-8,只要不去改动它就可以了。2. 缩进统一为4个空格,将Tab size设置为4则可以保证tab键按4个空格缩进。另外,不要勾选上Use tab character,可以保证切换到不同tab长度的环境时还能继续保持统一的4个空格的缩进样式。3. 花括号不要单独一行,和它原创 2016-07-12 20:56:20 · 3373 阅读 · 0 评论 -
关于Eclipse Adt插件删除不掉的解决方法!
跟好多做android开发的一样,遇到一个很奇葩的问题,就是在更新sdk后 由于adt版本没更新,导致版本不匹配,从而项目报错,好多人都想更新adt来让版本一致,但是发现在install details里的installed sofeware选项卡中,总有一个android developer tools 卸载不掉!从而想更新就报 什什么冲突!经过一晚上的坚持,最总找到原因,其实就是由于在原创 2014-12-05 01:47:15 · 7230 阅读 · 6 评论 -
Android控件之WebView ScrollView问题录
1. Webview加载页面时,有时发现通过一个webview显示不同的页面,有的不能够完全显示,或者空白的情况。这个和html页面有关系的,html如果没有设置固定的高度值,则webview的wrapcontent值则会默认为0,如果html高度有默认高度值,则webview设置为wrapcontent后的高度值就是html默认的高度值。2. scrollview控件如果子控件的高度达不到s原创 2016-03-15 14:01:09 · 913 阅读 · 0 评论 -
Dex分包变形记
一、背景就在项目灰度测试前不久,爆出了在 Android 3.0以下手机上安装时出现 INSTALL _ FAILED_DEXOPT,导致安装失败。这一问题意味着项目将不能在 Android 3.0以下的手机上安装使用,对项目的发布有比较大的影响,所以必须尽快解决。INSTALL _ FAILED_DEXOPT导致无法安装的问题,从根本上来说,可能是两个原因造成的:(1)转载 2016-03-15 15:25:32 · 593 阅读 · 0 评论 -
Android Studio断点调试和高级调试
有人说Android 的调试是最坑的,那我只能说是你不会用而已,我可以说Android Studio的调试是我见过最棒的。好了开始写一个简单的调试程序,我们先来一个for循环?12345678<codeclass="language-java hljs转载 2016-05-31 10:51:26 · 342 阅读 · 0 评论 -
Android前端开发随笔
2015.04.221. 关于居中gravite 和layout_gravite的问题:gravite是控件对其自身内容的居中设置;layout_gravite是控件在其父容器中的居中设置;但该属性要视情况而定,比如在LinerLayout中,有水平流式和垂直流式,那么就会影响居中的位置,当水平布局时,垂直居中无效;当垂直布局时,水平居中无效。原创 2015-04-22 13:35:31 · 444 阅读 · 0 评论 -
android 开发命名规范
标识符命名法标识符命名法最要有四种:1 驼峰(Camel)命名法:又称小驼峰命名法,除首单词外,其余所有单词的第一个字母大写。2 帕斯卡(pascal)命名法:又称大驼峰命名法,所有单词的第一个字母大写3 下划线命名法:单词与单词间用下划线做间隔。4 匈牙利命名法:广泛应用于微软编程环境中,在以Pascal命名法的变量前附加小写序列说明该变量的类型。 量的取名方转载 2016-06-01 09:42:28 · 297 阅读 · 0 评论 -
Android开发规范总结
1.在java代码中获取资源文件时,要根据方法中的参数的规定类型来获取和添加资源文件,比如:设置ImageView.setImageResource(@DrawableRes int resId)时,参数已经规定了事DrawableRes类型的int型的值,则我们添加res时就需要将资源文件添加到res/drawable文件夹下,这样ADT在生成R文件时,将该资源文件的ID值设置在drawab原创 2016-06-02 17:19:37 · 421 阅读 · 0 评论 -
UI设计师不可不知的安卓屏幕知识
不少设计师和工程师都被安卓设备纷繁的屏幕搞得晕头转向,我既做UI设计,也做过一点安卓界面布局,刚好对这块内容比较熟悉,也曾在公司内部做过相关的讲座,在此,我将此部分知识重新梳理出来分享给大家!1、了解几个概念(1)分辨率。分辨率就是手机屏幕的像素点数,一般描述成屏幕的“宽×高”,安卓手机屏幕常见的分辨率有480×800、720×1280、1080×1920等转载 2016-06-24 15:51:19 · 429 阅读 · 0 评论 -
Android UI适配
前言Android设计之初就考虑到了UI在多平台的适配,它本身提供了一套完善的适配机制,随着版本的发展适配也越来越精确,UI适配主要受平台两个因素的影响:屏幕尺寸(屏幕的像素宽度及像素高度)和屏幕密度,针对不同的应用场景采用的适配方案也不一样,此文档仅针对Android4.0及以下版本相关概念分辨率:整个屏幕的像素数目,为了表示方便一般用屏幕的像素宽度(水平像素转载 2016-09-09 16:54:42 · 606 阅读 · 0 评论 -
Android中View绘制流程
前言: 本文是我读《Android内核剖析》第13章----View工作原理总结而成的,在此膜拜下作者 。同时真挚地向渴望了解 Android 框架层的网友,推荐这本书,希望你们能够在Android开发里学到更多的知识 。 整个View树的绘图流程是在ViewRoot.Java类的performTraversals()函数展开转载 2017-01-14 10:43:21 · 420 阅读 · 0 评论 -
Android屏幕自适应
以下是Demo首页的预览图demo下载:http://www.eoeandroid.com/forum.php?mod=attachment&aid=NjE0Njh8ZTIyZDA2M2N8MTMzODgyOTQxN3w1NzAwOTV8MTczOTcz一、细说layout_weight 目前最为推荐的Android多屏幕自适应解决方案。 该属性转载 2017-02-10 11:34:12 · 364 阅读 · 0 评论 -
android 监听网络状态的变化及实际应用
平时我们在请求错误的情况下,通常会进行处理一下,一般来说,主要分为两方面的错误 - 没有网络的错误 - 在有网络的情况下,我们客户端的错误或者服务器端的错误今天这篇博客主要阐述以下问题怎样监听网络状态的变化,包括是否打开WiFi,否打开数据网络,当前连接的网络是否可用网络没有打开情况下的处理,如弹出对话框,跳转到 打开 WiFi设置的界面等非WiFi情况下是否加载图片,转载 2017-10-09 10:39:00 · 1243 阅读 · 0 评论 -
Android开发必备的知识社区
1、源码网站https://github.com/googlesamplesAndroid系统每次推出一些新特性,Google都会写一些Demo放在Github上,对于想要了解新特性怎么玩的同学,肯定不能错过它。https://www.codota.com/如果你不知道一个Android的类怎么用,可以在Codota上面快速的找到很多不错的示例代码。h...转载 2019-06-10 10:14:44 · 318 阅读 · 0 评论 -
View系列之事件分发机制源码
思考几个问题:1. recycleview嵌套recycleview 双向滑动如何解决滑动冲突问题?2. 自定义viewgroup如何指定内部view的事件响应顺序?3. view和viewgroup的在事件处理上有和区别?4. 事件分发对象有哪几类?5.onTouch()和onTouchEvent()哪个优先级高?6.事件在哪些对象之间进行传递?阅读建议:网上...原创 2019-06-25 22:28:11 · 222 阅读 · 0 评论 -
Fragment系列之Fragment管理源码简介
简介:作为一个android开发者,UI架构设计、开发肯定是必备技能,至少android应用开发还没Web端开发分的那么细,前端/后端/数据库,android从UI到数据存储都在客户端完成,而Fragment作为系统提供的页面级别的组件类,在构建复杂的页面布局和页面功能复用上有着很重要的地位,它和Activity一样有生命周期,当然就会有一个对Fragment管理类FragmentManager...原创 2019-06-29 16:19:12 · 277 阅读 · 0 评论 -
Android开源项目及库整理总结 字数10731 阅读2704 评论2 喜欢85 自己总结的Android开源项目及库。 github排名https://github.com/trending,
Android开源项目及库整理总结字数10731 阅读2704 评论2 喜欢85自己总结的Android开源项目及库。 github排名https://github.com/trending, github搜索:https://github.com/searchUIAwesome-MaterialDesign- MaterialD转载 2017-09-25 16:30:01 · 1574 阅读 · 0 评论 -
Android窗口机制分析与UI管理系统
类图关系 在看Android的窗口机制之前,先看看其主要的类图关系以及层级之间的依赖与调用关系 1.window在当前的android系统的中的呈现形式是PhoneWindow (frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java); 2.WindowMa转载 2017-06-19 10:16:20 · 653 阅读 · 0 评论 -
Android开发:最全面、最易懂的Android屏幕适配解决方案
前言Android的屏幕适配一直以来都在折磨着我们Android开发者,本文将结合:Google的官方权威适配文档 郭霖: Android官方提供的支持不同屏幕大小的全部方法 Stormzhang:Android 屏幕适配 鸿洋:Android 屏幕适配方案 凯子: Android屏幕适配全攻略(最权威的官方适配指导) 自身的思考&实践给你带来一种全新、全面而逻辑清晰的Androi转载 2017-02-10 13:35:53 · 1799 阅读 · 0 评论 -
详解Android 教你打造高效的图片加载框架
优秀的图片加载框架不要太多,什么UIL , Volley ,Picasso,Imageloader等等。但是作为一名合格的程序猿,必须懂其中的实现原理,于是乎,今天我就带大家一起来设计一个加载网络、本地的图片框架。有人可能会说,自己写会不会很渣,运行效率,内存溢出神马的。放心,我们拿demo说话,拼得就是速度,奏事这么任性。关于加载本地图片,当然了,我手机图片比较少,7000来张:转载 2017-02-21 10:32:39 · 1169 阅读 · 0 评论 -
Android中保持Service的状态
关于如何让Service keep alive,我在上篇博客给出的解决方案是:方案一,让服务器端发一个推送,检查Service是否还存活;方案二,将Service独立出来,运行在另一个进程中。这两个方案有些地方需要说明和改进,然后还会有其他方案补充进来。方案一:利用推送来确保Service存活。方案一的做法有点“偷懒”。因为相当于把这个难题转移给推送服务提供者来处理,或者说转载 2017-04-24 17:31:42 · 846 阅读 · 0 评论 -
Android智能心跳微信
前言:在13年11月中旬时,因为基础组件组人手紧张,Leo安排我和春哥去广州轮岗支援。刚到广州的时候,Ray让我和春哥对Line和WhatsApp的心跳机制进行分析。我和春哥抓包测试了差不多两个多礼拜,在我们基本上摸清了Line和WhatsApp的心跳机制后,Ray才告诉我们真正的任务——对微信的固定心跳进行优化,并告诉我们这不是一件容易的事情。于是我和春哥开始构思第一个方案,我们开始想用统计的方转载 2017-04-24 18:21:14 · 752 阅读 · 0 评论 -
Activity与Fragment易混点归纳
Android开发中Activity和Fragment是非常重要的两个知识点,这里我们就分别归纳一下,在使用Activity和Fragment时需要注意的一些事项,特别是对于Fragment,在对其进行管理时我们要选择好的一些方式。一、Activity要点Activity负责展示UI给用户,负责和用户的交互操作。本部分主要对Activity的生命周期、如何保存状态信息、如何讲一个A转载 2017-05-31 14:06:56 · 470 阅读 · 0 评论 -
实现Android 动态加载APK(Fragment or Activity实现)
最近由于项目太大了,导致编译通不过(Android对一个应用中的方法个数貌似有限制),所以一直琢磨着能否将某些模块的APK不用安装,动态加载,通过在网上查找资料和网友的帮助,终于实现了APK的动态加载,网络上介绍APK动态加载的文章非常多,但是我觉得写得非常好的就是这位大牛的,我基本上就是使用他的这种方案,然后加入了自己的元素。这位大牛是通过Activity实现的,我稍作修改,通过Fragment转载 2017-06-02 19:56:41 · 649 阅读 · 0 评论 -
老版本彻底解决Android 应用方法数不能超过65K的问题
作为一名Android开发者,相信你对Android方法数不能超过65K的限制应该有所耳闻,随着应用程序功能不断的丰富,总有一天你会遇到一个异常:Conversion to Dalvik format failed:Unable toexecute dex: method ID not in [0, 0xffff]: 65536可能有些同学会说,解决这个问题很简单,我们只需要在Projec转载 2017-06-02 19:59:19 · 895 阅读 · 0 评论 -
2017Android面试题(临时版一)
JAVA 相关1.静态内部类、内部类、匿名内部类,为什么内部类会持有外部类的引用?持有的引用是this?还是其它?静态内部类:使用static修饰的内部类内部类:就是在某个类的内部又定义了一个类,内部类所嵌入的类称为外部类匿名内部类:使用new生成的内部类因为内部类的产生依赖于外部类,持有的引用是类名.this2.Java中try catch fin转载 2017-06-19 10:09:45 · 1837 阅读 · 0 评论 -
Fragment系列之BackStackRecord源码
1. 简介:本文章基于Fragment管理源码简介,对BackStackRecord的相关细节技术实现做详细的解读。2. 主要的操作方法从源码可以看到BackStackRecord中对Fragment的操作方法都是对FragmentTransaction的实现,主要的方法包括:add、replace、remove、hide、show、detach、attach、addToBackSt...原创 2019-06-29 16:22:44 · 712 阅读 · 0 评论 -
Android RelativeLayout用到的一些重要的属性
第一类:属性值为true或falseandroid:layout_centerHrizontal 水平居中android:layout_centerVertical 垂直居中android:layout_centerInparent 相对于父元素完全居中android:layout_alignParentBottom 贴紧父元素的下边缘android:layout_al转载 2014-04-14 15:25:59 · 504 阅读 · 0 评论 -
Android4.0-Fragment框架实现方式剖析
经过反复的学习对比,个人觉得带着问题学习新知是最有效的学习方式,因此文本就以提问的方式来讲述Fragment框架实现方式。1、什么是Fragment?Fragment包含在Activity中,Fragment只能存在于Activity的上下文(context)内,没有Activity就无法使用Fragment,因此Fragment只能在Activity的上下文(context)创建。F转载 2014-04-10 11:48:47 · 417 阅读 · 0 评论 -
andorid实例源码地址分享(一)
分享45个android实例源码,很好很强大http://www.apkbus.com/android-20978-1-1.htmlandriod闹钟源代码http://www.apkbus.com/android-20974-1-1.htmlandroid源码分享之指南针程序http://www.apkbus.com/android-20973-1-1.html转载 2014-04-13 16:35:18 · 1028 阅读 · 0 评论 -
Android xml资源文件中@、@android:type、@*、?、@+含义和区别
一.@代表引用资源1.引用自定义资源。格式:@[package:]type/nameandroid:text="@string/hello" 2.引用系统资源。格式:@android:type/name android:textColor="@android:color/opaque_red" 注意:其实@android:type/name是翻译 2014-07-02 11:26:40 · 342 阅读 · 0 评论 -
Android中View绘制优化
译序 最近一直在做锁屏界面,之前也写过关于锁屏界面的一些简单原理,未曾想自己真正去深入理解锁屏时,才 发觉锁屏框架真是又大又复杂,主要体现在如下两个方面: 1、界面的组成以及更新机制; 2、对电源管理的控制,在锁屏界面会禁用系统的电源管理,自己接管屏幕亮度的控制。转载 2014-07-09 15:10:59 · 714 阅读 · 0 评论