
Android
文章平均质量分 73
海燕885
我热爱学习,喜欢交盆友,喜欢一个优秀的团队。
展开
-
Android自定义控件系列九:从源码看Android触摸事件分发机制
请尊重原创劳动成果,转载请注明出处:http://blog.csdn.net/cyp331203/article/details/45071069,非允许请勿用于商业或盈利用途,违者必究。 Android触摸事件,网上也有很多文章来讲了,今天在这里想使用例子和源码相结合的方式,可能会看的更清晰一些。 在讲例子和源码之前,还是先把结论讲一下,这样可能会转载 2016-04-07 23:22:15 · 270 阅读 · 0 评论 -
测量控件的宽与高
七、使用 View.post() 方法: Runnable 对象中的方法会在 View 的 measure、layout 等事件完成后触发。 UI 事件队列会按顺序处理事件,在 setContentView() 被调用后,事件队列中会包含一个要求重新 layout 的 message,所以任何 post 到队列中的 Runnable 对象都会在 Layout 发生变化后执行。 该方法只转载 2016-04-07 23:17:45 · 353 阅读 · 0 评论 -
Android自定义控件系列二:自定义开关按钮(一) 标签: Android自定义控件Java开关按钮自定义组件 2014-11-03 10:55 2735人阅读 评论(6) 收藏 举报 分类: J
Android自定义控件系列二:自定义开关按钮(一)这一次我们将会实现一个完整纯粹的自定义控件,而不是像之前的组合控件一样,拿系统的控件来实现;计划分为三部分:自定义控件的基本部分,自定义控件的触摸事件的处理和自定义控件的自定义属性;下面就开始第一部分的编写,本次以一个定义的开关按钮为例,下面就开始吧:先看看效果,一个点击开关按钮,实现点击切换开转载 2016-04-07 23:16:22 · 348 阅读 · 0 评论 -
Android自定义控件系列八:详解onMeasure()(二)--利用onMeasure测量来实现图片拉伸永不变形,解决屏幕适配问题
上一篇文章详细讲解了一下onMeasure/measure方法在Android自定义控件时的原理和作用,参看博文:Android自定义控件系列七:详解onMeasure()方法中如何测量一个控件尺寸(一),今天就来真正实践一下,让这两个方法大显神威来帮我们搞定图片的屏幕适配问题。请尊重原创劳动成果,转载请注明出处:http://blog.csdn.net/cyp331203/artic转载 2016-04-07 23:10:42 · 1329 阅读 · 0 评论 -
Android自定义控件系列七:详解onMeasure()方法中如何测量一个控件尺寸(一)
一:自定义MyImageView继承ImageView[java] view plain copy/** * 这个类纯粹是为了看到控件的onMeasure方法和onDraw方法的执行情况 * 任何控件都是同一个道理 * @author Administrator * */ public class MyImag转载 2016-04-07 22:47:04 · 488 阅读 · 0 评论 -
Android自定义控件系列 十:利用添加自定义布局来搞定触摸事件的分发,解决组合界面中特定控件响应特定方向的事件
这个例子是比较有用的,基本上可以说,写完这一次,以后很多情况下,直接拿过来addView一下,然后再addInterceptorView一下,就可以轻轻松松的达到组合界面中特定控件来响应特定方向的触摸事件了。 请尊重原创劳动成果,转载请注明出处:http://blog.csdn.net/cyp331203/article/details/45198549,非允许请勿用转载 2016-04-07 23:27:43 · 197 阅读 · 0 评论 -
Android属性动画
什么是Android属性动画 属性动画(Property Animation)系统是一个健壮的动画框架系统,它可以满足你大部分动画需求。不管动画对象是否已经绘制到屏幕上,你都可以在动画执行过程中改变它任意的属性值。一个属性动画会在一段特定长度的时间内改变一个属性(一个对象中的字段)的值。你可以通过以下几步定义一个动画:指定你要执行动画的属性,比如动画对象(View)在屏幕上的位置,指定执转载 2016-03-27 23:47:06 · 201 阅读 · 0 评论 -
Android四种补间动画
android的动画分为两大类:补间动画,帧动画。补间动画又分为四大类:移动补间动画,缩放补间动画,旋转补间动画,透明补间动画。这四种补间动画都是Animation的子类。移动补间动画:TranslateAnimationeg:Animation animation = new TranslateAnimation(0,50,0,50)转载 2016-03-27 23:37:35 · 2583 阅读 · 0 评论 -
Android Volley入门到精通:定制自己的Request
经过前面两篇文章的学习,我们已经掌握了Volley各种Request的使用方法,包括StringRequest、JsonRequest、ImageRequest等。其中StringRequest用于请求一条普通的文本数据,JsonRequest(JsonObjectRequest、JsonArrayRequest)用于请求一条JSON格式的数据,ImageRequest则是用于请求网络上的一张图片转载 2016-03-25 00:03:14 · 204 阅读 · 0 评论 -
Android Volley入门到精通:使用Volley加载网络图片
在上一篇文章中,我们了解了Volley到底是什么,以及它的基本用法。本篇文章中我们即将学习关于Volley更加高级的用法,如何你还没有看过我的上一篇文章的话,建议先去阅读Android Volley完全解析(一),初识Volley的基本用法。在上篇文章中有提到过,Volley是将AsyncHttpClient和Universal-Image-Loader的优点集成于一身的一个框架。我们都知转载 2016-03-24 23:53:25 · 260 阅读 · 0 评论 -
Android中的内部类引起的内存泄露
静态内部类(又叫嵌套类)不会引起内存泄漏,而内部类引起内存泄漏的原因:引子什么是内部类?什么是内存泄露?为什么Android的内部类容易引起内存泄露?如何解决?什么是内部类? 什么是内部类?什么又是外部类、匿名类、局部类、顶层类、嵌套类?大家可以参考我这篇文章 ,再查查一些资料,先弄清楚什么是内部类和内部类的特性再向下看。 经常会遇见Android程序中这样使用handler:转载 2016-03-23 22:49:31 · 2049 阅读 · 0 评论 -
Android Service的生命周期
Managing the Lifecycle of a Service service的生命周期,从它被创建开始,到它被销毁为止,可以有两条不同的路径:A started service 被开启的service通过其他组件调用 startService()被创建。 这种service可以无限地运行下去,必须调用stopSelf()方法或者其他组件调用stopServi转载 2016-03-23 22:01:45 · 297 阅读 · 0 评论 -
android 了解你的APP如何使用内存
转自http://blog.csdn.net/a396901990/article/details/38390135Android 4.4 KitKat 提出了一个新系统服务,叫做procstats。它将帮助你更好的理解你的app是如何使用内存资源的。Procstats可以去监视你app在一段时间的行为,包括在后台(background)运行了多久,并在此段时间使用了多少内存。从而帮助你快转载 2016-03-23 20:45:45 · 2005 阅读 · 0 评论 -
Android Studio 设置内存大小及原理
标签: android studio内存http://www.cnblogs.com/justinzhang/p/4274985.htmlhttp://tsroad.lofter.com/post/376316_69363aeAndroid studio 1.0.2默认最大内存是750M,这样跑起来非常的卡,难以忍受,机器又不是固态硬盘,最后发现,这个默转载 2016-03-23 20:51:08 · 685 阅读 · 0 评论 -
如何优化app的运行内存占用
一、尽量减少Service的使用:当你的app需要使用service来处理后台任务的时候,要保证当前的任务完成时,该service也要停止。另外,要注意的是,当停止这个service的时候,不要引起它的泄漏。当启动一个service之后,系统总会保持这个service处于运行状态。这样,就会占用大量的RAM。所以,app的运行效率就会因此降低。保留没有用的service最可怕的内存管理转载 2016-03-23 20:38:59 · 3508 阅读 · 0 评论 -
Android中App可分配内存的大小
现在真实测试结果: 1,为了搞清楚每个应用程序在Android系统中最多可分配多少内存空间,我们使用了真机进行测试,测试机型为魅族MX4 Pro,3G内存。测试方法是直接申请一块较大的内存空间,看应用程序在最多申请多大的内存空间时会崩溃。 结果:(1)未设定属性android:largeheap = "true"时,可以申请到的最大内存空间为221M。 (2)设定属性a转载 2016-03-23 18:15:41 · 37943 阅读 · 0 评论 -
Gradle实现的两种简单的多渠道打包方法
本来计划今天发Android的官方技术文档的翻译——《Gradle插件用户指南》的第五章的,不过由于昨天晚上没译完,还差几段落,所以只好推后了。今天就说一下使用Gradle进行类似友盟这样的多渠道打包的方法吧。本文原创,转载请注意在CSDN上的出处:http://blog.csdn.net/maosidiaoxian/article/details/42000913目前我掌握的转载 2016-03-23 01:40:15 · 436 阅读 · 0 评论 -
Android消息推送机制
1.推送方式基础知识:当我们开发需要和服务器交互的应用程序时,基本上都需要获取服务器端的数据,比如《地震应急通》就需要及时获取服务器上最新的地震信息。要获取服务器上不定时更新的信息一般来说有两种方法,第一种是客户端使用Pull(拉)的方式,隔一段时间就去服务器上获取信息,看是否有更新的信息出现。第二种就是服务器使用Push(推送)的方式,当服务器端有新信息了,则把最新的信息Push到客户端上。转载 2016-03-23 01:33:06 · 351 阅读 · 0 评论 -
Handler详解系列——利用Handler在主线程与子线程之间互发消息,handler详解
MainActivity如下:package cc.c;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Looper;import android.os.Message;import android.widget.TextView;转载 2016-03-23 01:19:19 · 5111 阅读 · 0 评论 -
Android Handler机制 (一个Thead中可以建立多个Hander,通过msg.target保证MessageQueue中的每个msg交由发送message的handler进行处理 ,但是
在android中提供了一种异步回调机制Handler,使用它,我们可以在完成一个很长时间的任务后做出相应的通知 handler基本使用: 在主线程中,使用handler很简单,new一个Handler对象实现其handleMessage方法,在handleMessage中提供收到消息后相应的处理方法即可,这里不对handler使用进行详细说明,在看本博文前,读者应转载 2016-03-23 01:00:28 · 539 阅读 · 0 评论 -
在Android子线程中初始化handler后,为什么该子线程也能更新UI?
在Android子线程中初始化handler后,然后初始化looper,使得该子线程具有消息处理机制。 因为该looper是非主线程的消息循环,那为什么这个子线程也能更新Android UI 呢?提问者采纳子线程的hanlder里面是不能更新Android UI的。简单说下:如果你在子线程里面创建hander是用的是以下代码:n转载 2016-03-23 00:18:12 · 1499 阅读 · 1 评论 -
卓有成效的敏捷开发流程
随着带的团队做的事情越来越多, 发布的产品也越来越多,关于软件开发的流程的思考也越来越多.前段时间的高效虚拟自适应团队是在历经困难后磨练出来的方法的总结,在此基础上,又经过几个版本发布的洗礼,对之前的认识又有了更新,更深入的看法. 在此特提炼出一套方法论, 供大家参考. 一个软件从开发到上市(我们抛去维护部分), 一般需要经历阶段有 需求分析, 方案设计, 开发方案设计(包括概要设计, 详转载 2016-03-22 23:16:59 · 227 阅读 · 0 评论 -
AIDL在android系统中的作用
AIDL,Android Interface definition language的缩写,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口。最近看了下AIDL在Android系统中的用法,在网上看到很多初学的朋友不太明白AIDL的实际作用,android提供了很多进程间通信的组件,像action、broadcast、contentprovide都可以实现进程间转载 2016-03-22 00:06:55 · 353 阅读 · 0 评论 -
Android 基础教程之---动态更改屏幕方向的简单例子(LANDSCAPE与PORTRAIT)!
大家好,今天要讲的是Android手机如何动态手机屏幕方向的,我们当中有可能手机也会有这种功能,当我们手机方向改变时,屏幕也会跟着改变,在这Android当中是很容易实现的.本节的Demo主要是界面有一个按钮,当点击时,如果屏幕方向是横排(PORTRAIT)刚将屏幕方向更改为竖排(LANDSCAPE),反之依然!我们这里主要是运用了getRequestedOrientation(),和setReq转载 2016-03-20 17:31:05 · 7323 阅读 · 0 评论 -
Android基础教程之-------Android中两种设置全屏的方法!!!
在开发中我们经常需要把我们的应用设置为全屏,这里我所知道的有俩中方法,一中是在代码中设置,另一种方法是在配置文件里改!一、在代码中设置:view plaincopy to clipboardprint?package com.android.tutor; import android.app.Activity; import android.os转载 2016-03-20 17:05:01 · 289 阅读 · 0 评论 -
Android基础教程之-----访Iphone 拖动相片特效Gallery的简单应用.
Step 1:准备图片素材.将icon2,icon3,icon4,icon5,icon6五张图片导入res/drawable里加上icon.png本身一共有6张图片.Step 2:新建Android工程,命名为GalleryDemo.Step 3:设计UI,修改main.xml代码如下: xmlns:android="http://schemas.android.com/转载 2016-03-20 17:25:50 · 301 阅读 · 0 评论 -
Android基础教程之---Android状态栏提醒(Notification,NotificationManager)的使用!
大家好今天简单讲一下Android状态栏提醒,这个在开发中也会经常使用,当我们插上USB会有状态栏提醒,来短信时也会有状态栏的提醒。而在Android中有提醒功能的也可以用AlertDialog,但是我们要审重的使用,因为当使用AlertDialog 的时候,用户正在进行的操作将会被打断因为当前焦点被AlertDialog得到。我们可以想像一下,当用户打游戏正爽的时候,这时候来了一条短信。转载 2016-03-20 17:28:00 · 320 阅读 · 0 评论 -
【FastDev4Android框架开发】AndroidAnnnotations注入框架使用之注入组件Components(九)
转载请标明出处:http://www.jianshu.com/p/ba562173187e本文出自:【江清清博客-代号独狼】(一).前言:前面我们已经对于AndroidAnnotations注入框架的基本介绍项目配置和运行原理做了讲解,今天我们开始具体学习怎么样使用这个框架。FastDev4Android框架项目地址:https://github.com/jiangqqlmj/Fa转载 2016-03-19 00:12:41 · 392 阅读 · 0 评论 -
fir.im Weekly - 1000 Android 开源项目集合
冬天到了,适宜囤点代码暖暖身。本期 fir.im Weekly 收集了最近一些不错的 GitHub 源码、开发工具和技术实践教程类文章分享给大家。codeKK — 集合近 1000 Android 开源项目@Trinea 说道:codeKK 集合了近 1000 Android 开源项目,支持搜索。功能已经比较完善,超过国内外同类网站,可以正式对外了。支持:每小时自动同步最新转载 2016-03-19 00:10:59 · 340 阅读 · 0 评论 -
NFC在Android中的应用
什么是NFC?Google一大坨,百度一大坨,我就不讲了,这里我只讨论技术细节。首先我们先讨论一下这样的一个问题,当我们把NFC标签靠近手机,并且手机感应后,我们通过什么方式能得到NFC标签信息呢?答案就是通过Intent的方式来获取。现在的需求是我想在启动一个Activity后通过读NFC的方式得到里面的信息。下面我来介绍具体做法。通过分析需求得知,我们需要前台调度系统机制,这种机制允许转载 2016-03-19 00:09:54 · 934 阅读 · 0 评论 -
RxJava 入门
原文地址:RxJava 入门翻译原文:Getting Started with RxJava and Android什么是 ReactiveX?ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。实时数据处理是一件普通的现象,有一个高效、干净和可扩展的方式来处理这些情景是重要的。使用 Observ转载 2016-03-19 00:09:01 · 506 阅读 · 0 评论 -
android 权重
权重总结以下内容是变成过程中遇到问题后,查阅资料后获得,可能涉及到部分博客内容,在此感谢大神们提前为我们走出一条路,让我们走的更快。(本文为基础内容,了解的请跳过)当然,本文可能存在一些问题,欢迎指正,相互交流。知识点权重用在什么地方在我看来,权重是为了适配而出现的,当你想使用一个成比例的布局的时候可以考虑到使用权重。1.包括两个button这种基础布局转载 2016-03-19 00:04:15 · 208 阅读 · 0 评论 -
Android studio下的SerialPort开发
首先是Google的demo,https://code.google.com/p/android-serialport-api/但是这是个很老的demo,因此是eclipse上的。现在要在Android studio使用此demo:下面简单介绍一下我所做的,说是简单介绍,因为还有些问题没有搞明白,还望路过的高手指点一下。同时也希望能帮助初学的同学跑通程序。试验时间:2015转载 2016-03-19 00:03:01 · 762 阅读 · 0 评论 -
android 权重
权重总结以下内容是变成过程中遇到问题后,查阅资料后获得,可能涉及到部分博客内容,在此感谢大神们提前为我们走出一条路,让我们走的更快。(本文为基础内容,了解的请跳过)当然,本文可能存在一些问题,欢迎指正,相互交流。知识点权重用在什么地方在我看来,权重是为了适配而出现的,当你想使用一个成比例的布局的时候可以考虑到使用权重。1.包括两个button这种基础布局转载 2016-03-18 23:59:26 · 327 阅读 · 0 评论 -
Android Butter Knife 框架——最好用的View注入
最近在看GitHub上的一些代码时,发现很多工程都用到了Butter Knife这个框架,能节省很多代码量。像findViewById这种代码就不用再出现了,而且这个框架也提供了很多其他有用的注解。抱着学习的心态看了官网上的文档,挺简单,也很实用,决定以后就用这个库了。下面是我翻译的官方文档,诸位看官轻喷。官方文档也挺简单,英语好的不好的,都建议去看看原文。image.png转载 2016-03-18 23:54:39 · 2213 阅读 · 0 评论 -
Java 8+Android M新特性总结(简略版)
这次把这两个主题放在一起写下。虽然 Java 8出来已经有很长一段时间了,而 Android M还只有几周时间,但是前者的很多特性也许很多 Android 程序员都不了解或是没有使用过,所以姑且都算新东西了。再插一句:作为程序员去了解自己所专研平台或语言的最新趋势是很重要的,所以也为我这么晚才去关注 Java 8的新特性而感到一点惭愧(囧)。Java 8新特性一、接口的默认方法转载 2016-03-18 23:52:03 · 544 阅读 · 0 评论 -
andorid studio 启动 fetching android sdk..问题解决办法
现象安装完android studio后,启动的时候会出现"fetching android sdk...."的提示,然后就基本死掉了。解决办法进入Android Studio安装目录下的bin目录。找到idea.properties文件,用文本编辑器打开。在idea.properties文件末尾添加如下内容,并保存disable.android.first.run=true重转载 2016-03-18 23:49:29 · 312 阅读 · 0 评论 -
Dialog实现BottomSheet设计
BottomSheet:从底部滑出的dialog,解决上一篇中的bugBottomSheet : Android 5.0的Material Design中的新的设计方案详解:http://www.google.com/design/spec/components/bottom-sheets.html#/本次只用来实现退出功能。在上一篇中,通过设置的dialog的windowEnte转载 2016-03-18 23:45:49 · 1558 阅读 · 0 评论 -
如何获取 Android 设备的CPU核数、时钟频率以及内存大小
因项目需要,分析了一下 Facebook 的开源项目 - Device Year Class。Device Year Class 的主要功能是根据 CPU核数、时钟频率 以及 内存大小 对设备进行分级。代码很简单,只包含两个类:DeviceInfo -> 获取设备参数,YearClass -> 根据参数进行分级。下表是 Facebook 公司提供的分级标准,其中Year转载 2016-03-18 23:48:09 · 1426 阅读 · 0 评论 -
自定义底部滑出的dialog
目的:实现一个自定义dialog,用于退出,从底部滑入和滑出要解决的问题:1.dialog的位置要修改到底部;2.dialog有默认的padding,要去这些padding,让dialog于屏幕同宽;(这个无法通过设置Gravity.width办到)3.dialog的滑入和滑出动画;(style中有enter和exit Animation属性)解决方案:示例:写一个Logo转载 2016-03-18 23:40:13 · 492 阅读 · 0 评论