
Android
文章平均质量分 79
杭州山不高
山不在高
展开
-
Android的版本(Version)和API-level的对应关系
Android的版本和api-level的对应关系表如下:Platform Version API Level VERSION_CODE Notes Android 4.1.x 16 JELLY_BEAN Platform Highlights Android 4.0.3 15 ICE_CREAM_SANDWICH_MR1 Platform Highlights Android 4原创 2012-10-25 13:09:56 · 6750 阅读 · 0 评论 -
Android HandlerThread 的使用及其Demo
今天我们一起来学习下一个Android中比较简单的类HandlerThread,虽然它的初始化有点小麻烦。介绍首先我们来看看为什么我们要使用HandlerThread?在我们的应用程序当中为了实现同时完成多个任务,所以我们会在应用程序当中创建多个线程。为了让多个线程之间能够方便的通信,我们会使用Handler实现线程间的通信。下面我们看看如何在线程当中实例化Handler。在线转载 2015-07-16 09:29:11 · 708 阅读 · 0 评论 -
Android官方培训课程中文版(v0.9.4)
Android官方培训课程中文版(v0.9.4)原创 2015-12-11 13:51:27 · 877 阅读 · 0 评论 -
Android开发实践:使用Service还是Thread
Service是Android的四大组件之一,被用来执行长时间的后台任务,同样,线程也可以实现在后台执行任务,它们的区别在哪呢?何时使用Service何时使用Thread呢?今天我也来说说我的理解和总结。首先,需要了解Service的几个特点。(1) 默认情况下,Service其实是运行在主线程中的,如果需要执行复杂耗时的操作,必须在Service中再创建一个Thread来执行任务转载 2015-12-15 16:23:16 · 738 阅读 · 0 评论 -
Android来电,显示悬浮窗
AndroidManifest.xml <receiver android:name=".MyReceiver" android:enabled="true" android:exported="true" > 注册监听器 m原创 2015-12-08 17:45:43 · 6255 阅读 · 9 评论 -
[转]Android Binder设计与实现
摘要Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统IPC做对比有助于我们深入领会进程间通信的实现和性能优化。本文将对Binder的设计细节做一个全面的阐述,首先通过介绍Binder通信模型和B转载 2015-11-30 17:34:22 · 564 阅读 · 0 评论 -
Android Support包里究竟有什么
首先,你需要了解每一个 Support 包版本后缀 vX 所代表的含义。当然诸位都一定知道 Android 对于每一个版本都有一个版本号,例如1.6是4,2.1是7,3.2是13,4.0是14,4.4是19,6.0是23。而这里,v 之后的数字,就代表着它能够被使用的最低版本等级,之所以无法在更低版本进行使用的原因,是因为随着版本的升级,在新版本中有很多之前不支持的特性或者 API,因此如果你转载 2015-12-18 09:39:15 · 863 阅读 · 0 评论 -
Android长连接心跳机制
在写之前,我们首先了解一下,为什么Android维护长连接需要心跳机制,首先我们知道,维护任何一个长连接都需要心跳机制,客户端发送一个心跳给服务器,服务器给客户端一个心跳应答,这样就形成客户端服务器的一次完整的握手,这个握手是让双方都知道他们之间的连接是没有断开,客户端是在线的。如果超过一个时间的阈值,客户端没有收到服务器的应答,或者服务器没有收到客户端的心跳,那么,对客户端来说则断开与服务器的连转载 2016-08-16 16:16:27 · 4497 阅读 · 1 评论 -
Location定位信息以及坐标系的转换
public static final int LOCATION_TYPE_GPS = 1; public static final int LOCATION_TYPE_SAME_REQ = 2; /** @deprecated */ public static final int LOCATION_TYPE_FAST = 3; public static fina原创 2016-11-21 15:46:40 · 3600 阅读 · 1 评论 -
Android应用内存泄漏的跟踪与分析
DDMS(Android Debug Monitor)中,观察内存(Update Heap)使用情况1、内存泄漏的排查方法DDMS(Dalvik Debug Monitor Server),现在改叫ADM(Android Debug Monitor)了。它有两项功能可用于内存检查 :· Heap 查看堆的分配情况· Allocation Tracker跟踪内转载 2016-12-20 10:59:25 · 741 阅读 · 0 评论 -
应用内存优化之OnLowMemory&OnTrimMemory
1.应用内存onLowMemory&onTrimMemory优化OnLowMemory是Android提供的API,在系统内存不足,所有后台程序(优先级为background的进程,不是指后台运行的进程)都被杀死时,系统会调用OnLowMemory。OnTrimMemory是Android 4.0之后提供的API,系统会根据不同的内存状态来回调。根据不同的内存状态,来响应不同的内存释放转载 2017-01-11 16:56:12 · 741 阅读 · 0 评论 -
Android使用Mina建立长连接
Android产品研发(十二)-->App长连接实现这里推荐使用Mina。原创 2017-09-08 12:38:11 · 1723 阅读 · 0 评论 -
SMSSync:Android手机短信猫
SMSSync,可以主动转发手机短信到网站,并且设定TASK,定时从网站获取待发短信进行发送。SMSSync还有一个特点,可以设定固定的一段文本自动回复,也可以把接收的短信转发到网站后,自动从网站获取一个包含回复内容的发送状态“回应”,在获取发送状态的同时,立刻把回复内容回复到对方的手机上,不需等待。另外,安卓短信猫SMSSync支持同时和多个网站交互,比如,用一个手机短信猫为几个网站服务应该也是转载 2017-09-22 17:42:36 · 2114 阅读 · 1 评论 -
苹果开发者账号申请的相关知识
苹果ID的登录地址:https://appleid.apple.com/苹果APP发布网址:https://itunesconnect.apple.com/开发者账号管理网址:https://developer.apple.com/account/邓白氏D-U-N-S Number: https://developer.apple.com/support/D-U-N-S/c原创 2017-11-02 08:24:37 · 643 阅读 · 0 评论 -
【Android】直播必备之YUV使用总结
说明 因工作方面接触到图像处理这一块,需要对手机摄像头采集的原始帧做Rotate或者Scale,但无奈对此的了解少之又少,于是网上搜了一顿,完事后将最近所学总结一下,以方便之后的人别踩太多坑。 首先想要了解YUV为何物: https://msdn.microsoft.com/en-us/library/aa904813 上面的链接中微软已经写的很详细了,国内大部分文章都是翻译这篇文章的,...转载 2018-03-07 09:11:51 · 1717 阅读 · 2 评论 -
Android动态加载jar/dex/apk
前言 在目前的软硬件环境下,Native App与Web App在用户体验上有着明显的优势,但在实际项目中有些会因为业务的频繁变更而频繁的升级客户端,造成较差的用户体验,而这也恰恰是Web App的优势。本文对网上Android动态加载jar的资料进行梳理和实践在这里与大家一起分享,试图改善频繁升级这一弊病。 声明 欢迎转载,但请保留文章原始出处:)转载 2015-04-15 14:20:31 · 875 阅读 · 0 评论 -
Android 短信发送流程
短信发送Framework流程,源代码的版本是4.41、通过Mms源代码可以知道短信发送最后调用的关键api如下:SmsSingleRecipientSender.java[java] view plaincopySmsManager smsManager = SmsManager.getDefault();转载 2015-04-07 20:16:25 · 3042 阅读 · 0 评论 -
我翻过的Android图书
http://baike.baidu.com/view/7254931.htm《Android程序设计》 http://baike.baidu.com/view/10527493.htm《Android的设计与实现:卷I》 http://baike.baidu.com/view/11324562.htm《Android嵌入式系统程序开发》 http://baike原创 2014-09-19 10:56:50 · 903 阅读 · 0 评论 -
Android签名机制
Android签名机制 为了说明APK签名比对对软件安全的有效性,我们有必要了解一下Android APK的签名机制。为了更易于大家理解,我们从Auto-Sign工具的一条批处理命令说起。在《APK Crack》一文中,我们了解到,要签名一个没有签名过的APK,可以使用一个叫作Auto-sign的工具。Auto-sign工具实际运行的是一个叫做Sign.bat的批处理命令。用文本编辑转载 2012-11-27 14:55:07 · 6876 阅读 · 0 评论 -
如何判断出连接到电脑的USB设备是手机?
根据USB协议,USB设备是有分类的(基类-子类-协议),这在设备描述符和接口描述符里都有体现。USB协议中,有通信设备类CDC(Communications Device Class)和CDC Data,它指明了通信设备(手机)。但很多手机,并不一定被设置为这两个类,比如苹果IPhone4(VID=0x05AC,PID=0x1297),其设备类为0(00-00-00),唯一的接口类(原创 2012-11-26 21:55:06 · 11010 阅读 · 6 评论 -
Android手机的兼容ID,驱动类型,序列号,状态等
由下属3种类型的手机信息,可以总结出来:1、这3种类型的android手机的兼容ID,都是相同的(ff_42_01)2、有些CD盘的手机,其设备范例ID的后面部分的序列号(7&334F04E&1&0003),跟ADB命令获取到的序列号(?)是不同的海信T92(Android2.2.2)主设备设备范例ID:USB\VID_18D1&PID_D00D\0123456789ABCDEF原创 2012-10-09 17:09:30 · 7152 阅读 · 9 评论 -
Android 一键直接查看Sqlite数据库数据
转自:http://www.cnblogs.com/trinea/archive/2012/11/16/2773656.html本文主要介绍Android开发中如何一键直接查看sqlite数据库中的数据以及sqlite3的常用命令。1、原始查看sqlite数据方法Eclipse菜单Window - Open Perspective - DDMS进入DDMS视图。然后File Explo转载 2013-01-09 17:56:31 · 10091 阅读 · 0 评论 -
Windows下,Android模拟器调试串口的方法
使用如下的命令将电脑的串口(COM1)映射到模拟器里(ttyS2):$ emulator @4412 -scale auto -qemu -serial COM1 &说明:4412是我的AVD的名称;-scale auto表示自动缩放到合适的尺寸。-qemu -serial COM1,是将COM1映射到模拟器;最后的&是让后台运行!如果用程序打开串口,提示没有读写权限。可以通过原创 2013-07-29 15:50:42 · 5684 阅读 · 4 评论 -
Android串口的源码(android-serialport-api)
http://code.google.com/p/android-serialport-api/原创 2013-07-23 19:48:22 · 6235 阅读 · 0 评论 -
Android源码阅读笔记(应用安装,LOG抓取等)
wtf: What a Terrible FailureSystemServer.main()-SystemServer.init1()-android_server_SystemServer_init1()-system_init()-SurfaceFlinger-SensorServiceSystemServer.init2()-ServerThread原创 2013-07-31 18:24:29 · 1116 阅读 · 0 评论 -
使用android USB API 无法获取USB设备的解决方法
UsbManager manager = (UsbManager) m_context.getSystemService(Context.USB_SERVICE); HashMap deviceList = manager.getDeviceList(); Iterator deviceIterator = deviceList.values().iterator(); m_devLis原创 2013-08-05 18:02:20 · 6254 阅读 · 3 评论 -
如何从源码包中查看Android的版本号?
源码版本号,可以在文件(build\core\version_defaults.mk)中找到:PLATFORM_VERSION := 4.0.4PLATFORM_SDK_VERSION := 15原创 2013-10-24 14:06:30 · 4119 阅读 · 0 评论 -
MARS的《Android学习路线》
以下MARS的建议,就我看来,这好像只是Android应用开发学习路线!不过还是值得参考的!-------------------------------------------------华丽丽的分割线--------------------------------------------------------很多朋友都对学习路线问题感到迷茫,特别是还在上学的朋友们。在这里就详细的为大转载 2013-10-22 11:35:21 · 2201 阅读 · 0 评论 -
《Android底层开发技术》学习总结
《Android底层开发技术实战详解——内核、移植和驱动》学习总结原创 2013-10-23 09:52:39 · 19918 阅读 · 6 评论 -
如何实现Android应用的静默安装
在很多情况下,我们需要在Android系统上实现应用程序的静默安装,但很不幸的是,从Android 1.5之后Google就不再提供静默安装的接口了。 下面介绍一种比较简单的静默安装实现方法。 原理: 使用隐藏的系统API——installPackage。该方法在1.5版之后的android SDK中是看不见的,查看源码可以看到它设置了@hide属性,但在实际的运行包转载 2013-11-05 18:09:57 · 1495 阅读 · 0 评论 -
如何使用Android隐藏类和隐藏方法
Properties-Java Build Path-Libraries-Add Library-User Library-Next-New转载 2013-11-05 17:21:40 · 1228 阅读 · 1 评论 -
Android自带硬编解码器MediaCodec使用必看
一、背景随着Android系统手机性能的不断提升,现阶段大部分手机都自带GPU(承担图形显示的专门硬件),大幅度提高手机显示性能,在视频显示、游戏画面刷新,和高分辨图像显示方面必须使用GPU。GOOGLE在API 16 -4.1版本中增加MediaCodec类,专用于编解码多媒体数据,二、MediaCodec使用方式 MediaCodec总共有三种使用方法,如下图所示: ...转载 2018-03-16 14:52:00 · 7390 阅读 · 0 评论