
Android
文章平均质量分 77
上帝灬半毛钱
09年走进Android,一直前行,15年成立公司。致力于协同开发,覆盖三大平台:PC,IOS,ANDROID。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android的消息机制,用Android线程间通信的Message机制,Android中Handler的使用方法——在子线程中更新界面,handler机制
Android的消息机制(一)android 有一种叫消息队列的说法,这里我们可以这样理解:假如一个隧道就是一个消息队列,那么里面的每一部汽车就是一个一个消息,这里我们先忽略掉超车等种种因素,只那么先进隧道的车将会先出,这个机制跟我们android 的消息机制是一样的。转载 2011-09-08 15:31:14 · 1638 阅读 · 0 评论 -
安卓手册 第六章(开发之EditText)
安卓手册 第六章(开发之EditText)概述:此篇文章涵盖EditText的所有属性和基本知识,在介绍的过程中会举例相应的使用场景(实战),建议大家能仔细阅读,因为这些常用组件当中有个别属性会给你带了程序性能的提升和开发技巧的提高。 首先,笼统的介绍下EditText的官方属性: 红色表示的属性都是具有使用窍门(技巧)的属性(长期更新),至于属性值的介绍可以自行检索相应原创 2016-07-11 10:17:41 · 9256 阅读 · 3 评论 -
安卓手册 第五章(开发之TextView)
安卓手册 第五章(开发之TextView)概述:以后的文章将采用Android每一个组件为单章介绍,涵盖textview的所有属性和基本知识,在介绍的过程中会举例相应的使用场景(实战),建议大家能仔细阅读,因为这些常用组件当中有个别属性会给你带了程序性能的提升和开发技巧的提高。首先,笼统的介绍下textview的官方属性:红色表示的属性都是具有使用窍原创 2016-07-10 12:02:46 · 12794 阅读 · 3 评论 -
安卓手册 第一章(环境配置)
安卓手册 第一章(环境配置)概述:每用一台新的电脑,都要进行一次Android开发环境的部署,今天就给大家带来Android两种开发工具(eclipse和Android studio)的详细配置方法,以下描述的PC端以64位windows系统为主。 相关工具地址(个人网盘,也可从官方下载):1、Android sdk+eclipse(adt)地址:http://pan.ba原创 2016-07-08 14:57:58 · 8020 阅读 · 4 评论 -
Android提高第一篇之MediaPlayer
本文介绍MediaPlayer的使用。MediaPlayer可以播放音频和视频,另外也可以通过VideoView来播放视频,虽然VideoView比MediaPlayer简单易用,但定制性不如用MediaPlayer,要视情况选择了。MediaPlayer播放音频比较简单,但是要播放视频就需要SurfaceView。SurfaceView比普通的自定义View更有绘图上的优势,它支持完全的Open转载 2016-07-14 11:04:00 · 5123 阅读 · 0 评论 -
Android提高第二篇之SurfaceView的基本使用
上次介绍MediaPlayer的时候稍微介绍了SurfaceView,SurfaceView由于可以直接从内存或者DMA等硬件接口取得图像数据,因此是个非常重要的绘图容器,这次我就用两篇文章来介绍SurfaceView的用法。网上介绍SurfaceView的用法有很多,写法也层出不同,例如继承SurfaceView类,或者继承SurfaceHolder.Callback类等,这个可以根据功能实际需转载 2016-07-14 11:08:09 · 5616 阅读 · 0 评论 -
Android提高第三篇之SurfaceView与多线程的混搭
Android提高第三篇之SurfaceView与多线程的混搭 上一篇简单介绍了SurfaceView的基本使用,这次就介绍SurfaceView与多线程的混搭。SurfaceView与多线程混搭,是为了防止动画闪烁而实现的一种多线程应用。android的多线程用法与JAVA的多线程用法完全一样,本文不做多线程方面的介绍了。直接讲解SurfaceView与多线程的混合使用,即开转载 2016-07-14 11:09:59 · 6374 阅读 · 0 评论 -
Android提高第四篇之Activity+Intent
Android提高第四篇之Activity+IntentAndroid有三个基础组件Activity,Service和BroadcastReceiver,他们都是依赖Intent来启动。本文介绍的是Activity的生命周期以及针对Activity的Intent使用。 之前的例子一直都是使用Activity,在一个Layout XML与一个Activity转载 2016-07-14 11:12:47 · 5792 阅读 · 0 评论 -
Android提高第五篇之Service
Android提高第五篇之Service上次介绍了Activity以及Intent的使用,这次就介绍Service,如果把Activity比喻为前台程序,那么Service就是后台程序,Service的整个生命周期都只会在后台执行。Service跟Activity一样也由Intent调用。在工程里想要添加一个Service,先新建继承Service的类,然后到AndroidMa转载 2016-07-14 11:15:48 · 5991 阅读 · 0 评论 -
Android提高第六篇之BroadcastReceiver
前面分别讨论了Activity和Service,这次就轮到BroastcastReceiver,Broastcast是应用程序间通信的手段。BroastcastReceiver也是跟Intent紧密相连的,动态/静态注册了BroastcastReceiver之后,使用sendBroadcast把Intent发送之后,系统会自动把符合条件的BroastcastReceiver启动,跟嵌入式系统的中断转载 2016-07-14 11:18:42 · 9321 阅读 · 0 评论 -
Android提高第七篇之XML解析与生成
Android提高第七篇之XML解析与生成本文使用SAX来解析XML,在Android里面可以使用SAX和DOM,DOM需要把整个XML文件读入内存再解析,比较消耗内存,而SAX基于事件驱动的处理方式,可以在各节点触发回调函数,不过SAX适合节点结构简单的XML文档,复杂的XML文档在后期的节点深度处理会有点麻烦。本文要解析的test.xml文件如下:转载 2016-07-14 11:20:29 · 9271 阅读 · 0 评论 -
Android开发入门之GridView(九宫图)用法
Android开发入门之GridView(九宫图)用法GridView跟ListView都是比较常用的多控件布局,而GridView更是实现九宫图的首选!本文就是介绍如何使用GridView实现九宫图。GridView的用法很多,网上介绍最多的方法就是自己实现一个ImageAdapter继承BaseAdapter,再供GridView使用,类似这种的方法本文不再重复,本文介绍的Grid转载 2016-07-14 11:23:18 · 10221 阅读 · 0 评论 -
Android提高第八篇之SQLite分页读取
Android提高第八篇之SQLite分页读取Android包含了常用于嵌入式系统的SQLite,免去了开发者自己移植安装的功夫。SQLite 支持多数 SQL92 标准,很多常用的SQL命令都能在SQLite上面使用,除此之外Android还提供了一系列自定义的方法去简化对SQLite数据库的操作。不过有跨平台需求的程序就建议使用标准的SQL语句,毕竟这样容易在多个平台之间移转载 2016-07-14 11:23:52 · 8986 阅读 · 0 评论 -
Android提高第九篇之SQLite分页表格
Android提高第九篇之SQLite分页表格 上次讲的Android上的SQLite分页读取,只用文本框显示数据而已,这次就讲得更加深入些,实现并封装一个SQL分页表格控件,不仅支持分页还是以表格的形式展示数据。先来看看本文程序运行的动画: 这个SQL分页表格控件主要分为“表格区”和“分页栏”这两部分,这两部分都是基于GridView实现的。网转载 2016-07-14 11:27:18 · 8318 阅读 · 0 评论 -
Android提高第十篇之AudioRecord实现"助听器"
Android提高第十篇之AudioRecord实现"助听器"Android可以通过MediaRecorder和AudioRecord这两个工具来实现录音,MediaRecorder直接把麦克风的数据存到文件,并且能够直接进行编码(如AMR,MP3等),而AudioRecord则是读取麦克风的音频流。本文使用AudioRecord读取音频流,使用AudioTrack播放转载 2016-07-14 11:43:01 · 10128 阅读 · 0 评论 -
Android提高第十一篇之模拟信号示波器
Android提高第十一篇之模拟信号示波器上次简单地介绍了AudioRecord和AudioTrack的使用,这次就结合SurfaceView实现一个Android版的手机模拟信号示波器。最近物联网炒得很火,作为手机软件开发者,如何在不修改手机硬件电路的前提下实现与第三方传感器结合呢?麦克风就是一个很好的ADC接口,通过麦克风与第三方传感器结合,再在软件里对模拟信号做相应的处理,就可以转载 2016-07-14 11:44:45 · 10387 阅读 · 1 评论 -
Android提高第十二篇之蓝牙传感应用
Android提高第十二篇之蓝牙传感应用 上次介绍了Android利用麦克风采集并显示模拟信号,这种采集手段适用于无IO控制、单纯读取信号的情况。如果传感器本身需要包含控制电路(例如采集血氧信号需要红外和红外线交替发射),那么传感器本身就需要带一片主控IC,片内采集并输出数字信号了。Android手机如何在不改硬件电路的前提下与这类数字传感器交互呢?可选的通信方式就有USB和蓝牙,两转载 2016-07-14 11:47:13 · 9824 阅读 · 0 评论 -
Android提高第十三篇之探秘蓝牙隐藏API
Android提高第十三篇之探秘蓝牙隐藏API上次讲解Android的蓝牙基本用法,这次讲得深入些,探讨下蓝牙方面的隐藏API。用过Android系统设置(Setting)的人都知道蓝牙搜索之后可以建立配对和解除配对,但是这两项功能的函数没有在SDK中给出,那么如何去使用这两项功能呢?本文利用JAVA的反射机制去调用这两项功能对应的函数:createBond和removeBond,具体转载 2016-07-14 11:48:45 · 7753 阅读 · 0 评论 -
Android提高第十四篇之探秘TelephonyManager
Android提高第十四篇之探秘TelephonyManager上次介绍了如何使用JAVA的反射机制来调用蓝牙的隐藏API,这次继续练习JAVA的反射机制,探秘TelephonyManager在Framework里包含却在SDK隐藏的几项功能。先来看看本文程序运行的效果图:本文程序演示了以下功能:1.所有来电自动接听;2.所有来电自动挂断;转载 2016-07-14 11:50:04 · 8954 阅读 · 0 评论 -
Android提高第十五篇之ListView自适应实现表格
Android提高第十五篇之ListView自适应实现表格说说如何用ListView实现自适应的表格。GridView比ListView更容易实现自适应的表格,但是GridView每个格单元的大小固定,而ListView实现的表格可以自定义每个格单元的大小,但因此实现自适应表格也会复杂些(格单元大小不一)。另外,GridView实现的表格可以定位在具体某个格单元,而ListView实现转载 2016-07-14 11:51:06 · 11129 阅读 · 1 评论 -
Android提高十六篇之使用NDK把彩图转换灰度图
Android提高十六篇之使用NDK把彩图转换灰度图在Android上使用JAVA实现彩图转换为灰度图,跟J2ME上的实现类似,不过遇到频繁地转换或者是大图转换时,就必须使用NDK来提高速度了。本文主要通过JAVA和NDK这两种方式来分别实现彩图转换为灰度图,并给出速度的对比。先来简单地介绍一下Android的NDK使用步骤:以NDK r4为例,或许以后新版转载 2016-07-14 11:52:37 · 8834 阅读 · 0 评论 -
Android提高十八篇之自定义Menu(TabMenu)
Android提高十八篇之自定义Menu(TabMenu)用过UCWEB-Android版的人都应该对其特殊的menu有印象,把menu做成Tab-Menu(支持分页的Menu),可以容纳比Android传统的menu更丰富的内容(Android的menu超过6项则缩略在[更多]里),本文参考网上的例子(作者:CoffeeCole,email:longkefan@foxmail转载 2016-07-14 11:56:20 · 9252 阅读 · 0 评论 -
Android提高第十九篇之"多方向"抽屉
Android提高第十九篇之"多方向"抽屉 在android上要实现类似Launch的抽屉效果,大家一定首先会想起SlidingDrawer。SlidingDrawer是android官方控件之一,本文的主角不是它,而是民间的控件工具集合~~~android-misc-widgets。android-misc-widgets里面包含几个widget:Panel、SmoothButton转载 2016-07-14 11:57:32 · 9971 阅读 · 0 评论 -
Android应用被强行关闭怎么办?
大家有什么疑问可以留言,我们共同解决!留言哦!Drawable资源Drawable资源是对图像的一个抽象,你可以通过getDrawable(int)得到并绘制到屏幕上。这里有几种不同类型的Drawable: Bitmap File 一个Bitma转载 2011-08-10 07:51:10 · 3313 阅读 · 0 评论 -
Android中的人脸检测入门
大家有什么疑问可以留言,我们共同解决!留言哦!近期很多网友对Android用户界面的设计表示很感兴趣,对于Android UI开发自绘控件和游戏制作而言掌握好绘图基础是必不可少的。本次专题分10节来讲述,有关OpenGL ES相关的可能将放到以后再透露。本次主要涉及以转载 2011-08-10 07:34:13 · 3777 阅读 · 3 评论 -
Android提高第二十篇之MediaPlayer播放网络音频
Android提高第二十篇之MediaPlayer播放网络音频以前曾经地介绍过MediaPlayer的基本用法,这里就深入地讲解MediaPlayer的在线播放功能。本文主要实现MediaPlayer在线播放音频的功能,由于在线视频播放比在线音频播放复杂,因此先介绍在线音频播放的实现,这样可以帮助大家逐步深入了解MediaPlayer的在线播放功能。先来看看本文程序运行的结果:转载 2016-07-15 09:13:27 · 2416 阅读 · 0 评论 -
Android提高第二十一篇之MediaPlayer播放网络视频
Android提高第二十一篇之MediaPlayer播放网络视频上次讲解了MediaPlayer播放网络音频,介绍了MediaPlayer关于网络音频的缓冲和进度条控制的方法,这次再讲解MediaPlayer播放网络视频。播放网络视频比播放网络音频多需要一个SurfaceView而已,已经熟悉MediaPlayer播放网络音频之后,相信大家对播放网络视频也能很快地掌握。先来看看本文程序转载 2016-07-15 09:14:18 · 12584 阅读 · 0 评论 -
android 可签到的自定义日历控件
android 可签到的自定义日历控件首先是MainActivity,源码如下public class MainActivity extends Activity { private SignCalendar calendar; private String date; private int years; private String months; priv转载 2016-07-15 09:14:36 · 9513 阅读 · 4 评论 -
App安全之网络传输安全
App安全之网络传输安全移动端App安全如果按CS结构来划分的话,主要涉及客户端本身数据安全,Client到Server网络传输的安全,客户端本身安全又包括代码安全和数据存储安全。所以当我们谈论App安全问题的时候一般来说在以下三类范畴当中。App代码安全,包括代码混淆,加密或者app加壳。App数据存储安全,主要指在磁盘做数据持久化的时候所做的加密。App网络传输转载 2016-07-15 09:14:59 · 6406 阅读 · 0 评论 -
Android性能优化之电量篇
Android性能优化之电量篇1)Understanding Battery Drain手机各个硬件模块的耗电量是不一样的,有些模块非常耗电,而有些模块则相对显得耗电量小很多。电量消耗的计算与统计是一件麻烦而且矛盾的事情,记录电量消耗本身也是一个费电量的事情。唯一可行的方案是使用第三方监测电量的设备,这样才能够获取到真实的电量消耗。当设备处于转载 2016-07-15 09:15:13 · 13596 阅读 · 2 评论 -
Android性能优化之内存篇
Android性能优化之内存篇1)Memory, GC, and Performance众所周知,与C/C++需要通过手动编码来申请以及释放内存有所不同,Java拥有GC的机制。Android系统里面有一个Generational Heap Memory的模型,系统会根据内存中不同的内存数据类型分别执行不同的GC操作。例如,最近刚分配的对象会放在Young Generati转载 2016-07-15 09:15:26 · 1396 阅读 · 0 评论 -
Android性能优化之运算篇
Android性能优化之运算篇1)Intro to Compute and Memory ProblemsAndroid中的Java代码会需要经过编译优化再执行的过程。代码的不同写法会影响到Java编译器的优化效率。例如for循环的不同写法就会对编译器优化这段代码产生不同的效率,当程序中包含大量这种可优化的代码的时候,运算性能就会出现问题。想要知道如何优化代码的运算性能就需要知转载 2016-07-15 09:15:35 · 1648 阅读 · 0 评论 -
Android性能优化之渲染篇
Android性能优化之渲染篇1)Why Rendering Performance Matters现在有不少App为了达到很华丽的视觉效果,会需要在界面上层叠很多的视图组件,但是这会很容易引起性能问题。如何平衡Design与Performance就很需要智慧了。2)Defining ‘Jank’大多数手机的屏幕刷新频率是60hz,如果在1000/60=16.6转载 2016-07-15 09:15:45 · 13590 阅读 · 0 评论 -
在Android中使用反射到底有多慢?
在Android中使用反射到底有多慢?反射(Reflection)在Java和安卓开发过程中非常有用,但是反射的使用往往是APP严重性能问题的根本原因。下面我们通过分析几个真实的案例来帮助我们更直观的理解这个问题。两个真实的案例第一个案例是纽约时报安卓客户端。在NimbleDroid的帮助下,纽约时报的开发者发现Gson中的type adapter使用了反射,增加了APP700转载 2016-07-15 09:15:56 · 4926 阅读 · 1 评论 -
在Android中使用并发来提高速度和性能
在Android中使用并发来提高速度和性能Android框架提供了很实用的异步处理类。然而它们中的大多数在一个单一的后台线程中排队。当你需要多个线程时你是怎么做的?众所周知,UI更新发生在UI线程(也称为主线程)。在主线程中的任何操作都会阻塞UI更新,因此当需要大量计算时可以使用AsyncTask, IntentService 和 Threads。事实上,在不久前我写了在and转载 2016-07-15 09:16:17 · 11928 阅读 · 2 评论 -
为你的应用加速 - 安卓优化指南
为你的应用加速 - 安卓优化指南原则每当我遇到性能问题,或者尝试发现性能问题的时候,我会遵循如下原则:坚持性能测试 - 不要用你的眼睛去优化性能。也许在你盯着同一个动画看了几次之后,你会开始相信他运行的越来越流畅了。数据不会说谎。在你优化你的代码之前以及之后,使用我们将要介绍的一系列工具,去多次的测试你的app到底性能几何。使用低端设备 - 如果你想要你想暴露你应用的性转载 2016-07-15 09:16:38 · 2306 阅读 · 0 评论 -
Android UI性能优化详解
Android UI性能优化详解设计师,开发人员,需求研究和测试都会影响到一个app最后的UI展示,所有人都很乐于去建议app应该怎么去展示UI。UI也是app和用户打交道的部分,直接对用户形成品牌意识,需要仔细的设计。无论你的app UI是简单还是复杂,重要的是性能一定要好。UI性能测试性能优化都需要有一个目标,UI的性能优化也是一样。你可能会觉得“我的app加载很快转载 2016-07-15 09:16:58 · 14241 阅读 · 0 评论 -
Android设置中“强行停止”详解
Android设置中“强行停止”详解最近工作上遇到了广播接受不到的问题,查看了《Android 开发艺术探索》一书中关于广播的发送和接受的章节(P356-P362)。其中(P358)介绍了从Android 3.1 之后广播的一些区别 。从 Android 3.1 开始,系统为所有的广播都默认添加了FLAG_EXCLUDE_STOPPED_PACKAGES转载 2016-07-15 09:21:39 · 17518 阅读 · 1 评论 -
安卓字体渲染器
安卓字体渲染器任何一个有几年的客户端应用开发经验的开发者都会知道文本渲染有多复杂。至少我在2010年开始写libhwui(基于OpenGL的安卓2D绘制API)之前是这么认为的。在开始写libhwui后,我意识到如果试图用GPU来渲染文本会使文本渲染变得更复杂。Text and Android文本与安卓安卓的硬件加速字体渲染最开始是由Render转载 2016-07-15 09:20:31 · 3387 阅读 · 0 评论 -
Android多分辨率适配经验总结
Android多分辨率适配经验总结Android多分辨率适配是一件很有意义但是比较麻烦的事情,网上有很多关于多分辨率适配的文章,多数文章讲解的都是整个APP的图片比较规则,可以将图片做成9图来完成多分辨率适配,但是对于一些游戏类应用(这里说的游戏没有使用游戏引擎)、低龄儿童应用,APP中有很多花哨的图片,这种APP的图片显然无法做成9图,在网上查了很多资料始终没有比较理想的解决方案转载 2016-07-15 09:23:35 · 5600 阅读 · 0 评论