- 博客(109)
- 收藏
- 关注
转载 Android平台开发-Bluez function porting-蓝牙功能移植
一、Bluez编译配置支持 在BoardConfig.mk中添加: BOARD_HAVE_BLUETOOTH := true。 二、启动hciattach BlueZ核心子系统使用hciattach守护进程添加指定的硬件串口驱动。 修改init.rc来启动hciattach: service hciatt
2013-08-28 10:06:28
852
转载 BT 协议调用流程
android 4.2后的BT协议由原来的bluze更换成了brodcom的协议,代码路径:external/bluetooth/bluedroid/ 该协议与android framework层是通过JNI来相互调用 android的大部份BT协议或功能都在Bluetooth.apk中实现 源码路径:packages/apps/Bluetooth JNI
2013-08-27 16:46:37
1694
转载 调试Bluetooth时的一些札记
------------------------------------------------------------------------------------------------------LCL层是BT的链路控制功能的一部分,它从软件或被命令配置或控制的其他控制器上取命令,然后执行链路控制任务。蓝牙技术的系统结构分为三大部分:底层硬件模块、中间协议层和高层应用。底层硬件
2013-08-27 16:45:10
1338
转载 a2dp
\external\bluetooth\bluedroid\audio_a2dp_hw\audio_a2dp_hw.cpp编译生成audio.a2dp.default.so,主要实现a2dp做为设备的功能[cpp] view plaincopyprint?struct audio_module HAL_MODULE_INFO_SYM = { .common
2013-08-27 16:41:16
1991
1
转载 Android基于Socket无线遥控(2)--模拟触摸按键篇
本篇主要内容涉及模拟系统按键消息,单击事件,触屏事件等,模拟Android系统按键参考了网上资料(见引用1),无线遥控收发信息部分和上节所讲内容一样。一、技术介绍1.模拟按键及触屏相关 模拟按键和触摸屏需要调用SDK内部隐藏方法,在WindowManagerService中实现UI交互的注入方法,但可惜WindowManagerService这个类是被标记了@hide,外
2013-07-30 11:56:18
1447
转载 Android基于Socket无线遥控(1)--Socket基本模型搭建
按计划每周更新一篇技术博文,上周因工作忙而中断,第三篇:《Android基于Socket无线遥控(1)--Socket基本模型搭建》 本例子内容比较多,初步构思分三篇完成,Android系统基于Socket实现无线遥控,可控制另一台Android设备音量增减、亮度调节、方向控制、确认、退出等,本篇主要介绍Socket基本模型搭建,以及无线控制Android系统音量增加,亮度增
2013-07-30 11:54:49
1181
原创 第三方应用直接返回HOME
Intent homeintent = new Intent(Intent.ACTION_MAIN); homeintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);// 注意 homeintent.addCategory(Intent.CATEGORY_HOME); startActivity(homeint
2013-07-30 10:03:02
509
原创 获取桌面应用的列表
public void OpenApp(String packageName) { // 获取目标应用安装包的Intent Intent intent = this.getPackageManager().getLaunchIntentForPackage( packageName); // 要跳转程序的包名 startActivity(intent); }
2013-07-30 09:59:36
630
转载 Android 4.0 Launcher2源码分析——桌面快捷图标的拖拽
本文来自http://blog.csdn.net/chenshaoyang0011 转载请申明文章出处!通过上一篇文章Android4.0Launcher2源码分析(五)——Workspace的滑动中,已经了解了Launcher的ViewTree中各层所负责的工作,在DragLayer中就负责对快捷图标和AppWidget等组件的拖拽工作。桌面的滑动和图标的拖拽是两项独立的工作,正常情
2013-06-04 17:03:22
922
转载 Android学习笔记————为应用添加AppWidget
本文来自http://blog.csdn.net/chenshaoyang0011 转载请申明文章出处!Android通知系统是它的一大特色,而其中,AppWidget是其中一个亮点。在开发应用的中,很多时候可以为其添加一个AppWidget显示在桌面中,及时方便的与用户进行交互。这里就简单的熟悉一下开发一个AppWidget的流程吧。想要在应用中创建一个AppWidget,至少需要以
2013-06-04 17:02:24
658
转载 Android 4.0 Launcher2源码分析——Workspace滑动
本文来自http://blog.csdn.net/chenshaoyang0011 转载请申明文章出处!文中如有纰漏之处,望不吝指教~~~欢迎讨论,共同学习~~~Launcher桌面的一大功能就是支持左右滑动,这样的功能在现在的应用中使用非常广泛,并且有很多实现的方式,可以通过使用Fragment来实现也可以通过自定义的控件来实现。Launcher采用了后者,这一功能的实现在W
2013-06-04 17:01:32
766
转载 Android 4.0 Launcher2源码分析——Workspace切换AllApps流程
本文来自http://blog.csdn.net/chenshaoyang0011 转载请申明文章出处!文中如有纰漏之处,望不吝指教~~~欢迎讨论,共同学习~~~进入All Apps界面是通过点击Hotseat中的allAppsButton触发事件,通过前面的分析,已经知道在setupViews()方法中,就为button设置好了onTouchListener:
2013-06-04 16:59:57
765
转载 Android 4.0 Launcher2源码分析——启动过程分析
本文来自http://blog.csdn.net/chenshaoyang0011 转载请申明文章出处!文中如有纰漏之处,望不吝指教~~~欢迎讨论,共同学习~~~Android的应用程序的入口定义在AndroidManifest.xml文件中可以找出:[html] view plaincopyprint?manifest xmlns:android="ht
2013-06-04 11:03:45
894
转载 Android 4.0 Launcher2源码分析——Launcher内容加载详细过程
本文来自http://blog.csdn.net/chenshaoyang0011 转载请申明文章出处!文中如有纰漏之处,望不吝指教~~~欢迎讨论,共同学习~~~Launcher在应用启动的时候,需要加载AppWidget,shortcut等内容项,通过调用LauncherModel.startLoader(),开始加载的工作。launcherModel中加载好的内容会通过Laun
2013-06-04 11:01:42
739
转载 Android 4.0 Launcher2源码分析——主布局文件
Android系统的一大特色是它拥有的桌面通知系统,不同于IOS的桌面管理,Android有一个桌面系统用于管理和展示APP以及桌面Widget等。Android提供一个默认的桌面应用,当然我们也可以使用第三方的桌面应用。Android的Launcher的源码在 \packages\apps\Launcher2。Launcher2的主布局文件包括res\layout-land\launche
2013-06-04 10:54:12
939
原创 修改android4.0 Launcher2 桌面的列数/行数/屏幕数
1,修改android4.0 Launcher2 桌面的列数/行数 路径:packages/apps/Launcher2/src/com/android/launcher2/Workspace.java private static final int DEFAULT_CELL_COUNT_X = 4; // 列数 private static final
2013-06-03 14:58:28
2416
转载 android Launcher——数据加载与变更
在前面我的blog中,我已经说过了,Launcher所有的桌面项数据是存储在launcher.db/favorites表中在Launcher启动时loadeworkspace函数中会从数据库中查询所有的数据并显示出来,这个桌面项数据加载过程在我的blog Launcher——启动过程详解中有比较详细的描述,这篇blog,我着重讲述Launcher桌面项的添加,变更和删除,下面就进入主题1.
2013-05-31 11:51:40
616
转载 android Launcher——启动过程详解
一LauncherApplication->onCreate --1.//设置最小堆内存4M --2.//建立应用图标缓存器 --3.//建立LauncherModel --4.//注册Intent.ACTION_PACKAGE_ADDED,Intent.ACTION_PACKAGE_REMOVED,Intent.ACTION
2013-05-31 11:50:50
558
转载 android Launcher——ui框架
着手开发laucher 我个人觉得首先要从ui框架入手,了解清楚了ui框架对laucher就有了一个大致的了解,知道关键的几个类在哪里,对后面进一步深入地研究作出铺垫。废话不多说了,直接进入主题:1.先看图这是我正在研究的一个800*480的launcher的ui框架图,对应的桌面显示效果如下:下面一行应用是我修改桌面后的结果,在前面我的ui框架图中没有。闲话不多说,下面就
2013-05-31 11:50:03
813
转载 Android Launcher 分析
1. Launcher的启动过程从网络上找了一段关于Launcher的启动过程的文章,作为学习Launcher的背景知识:Linux kernel启动以后会通过app_main进程来初始化android Runtime Java运行环境,而zygote是Android的第一个进程。所有的android的应用以及大部分系统服务都是通过zygote fork出来的子进程(我现在看到的只有nat
2013-05-31 11:48:06
1130
转载 android_launcher的源码详细分析
转载请注明出处:http://blog.csdn.net/fzh0803/archive/2011/03/26/6279995.aspx去年做了launcher相关的工作,看了很长时间。很多人都在修改launcher,但还没有详细的文档,把自己积累的东西分享出来,大家一起积累。这份源码是基于2.1的launcher2,以后版本虽有变化,但大概的原理一直还是保留了。一、主要文件和类1.L
2013-05-31 10:32:33
767
原创 Android中的Notification
1, 创建一个Notification对象的参考例子: Intent i = new Intent(this, NotifiedActivity.class); PendingIntent pi = PendingIntent.getActivity(this, 0, i, 0); Notification myNotification = new Notificatio
2013-05-25 14:35:05
540
原创 在android App中怎样实现对设备重启或者关机功能
重启://发送广播 Intent reboot = new Intent(Intent.ACTION_REBOOT); reboot.putExtra("nowait",1); reboot.putExtra("interval",1); reboot.putExtra("window",0); sendBroadcast(reboot);
2013-05-24 09:28:46
2225
原创 ubuntu下安装 Source insight
在ubuntu中,安装windows程序用wine,然后用wine安装windows软件即可。安装wine在终端输入以下命令:[plain] view plaincopysudo apt-get install wine 用wine安装Source Insight在终端中输入以下命令:[plain] view plaincopy
2013-05-20 09:30:35
442
转载 apk反编译获取完整源码 及 apk反编译后的处理
一、工具准备:apktool , dex2jar , jd-gui二、使用dex2jar + jd-gui 得到apk的java源码 1.用解压工具从 apk包中取出 classes.dex 文件 用命令(dex2jar.bat classes.dex)得到一个 jar文件2.用jd-gui反编译工具将得到.jar文件反编译成.java文件 三、使用apktool得到a
2013-05-08 17:46:16
979
转载 repo的小结
repo只是google用Python脚本写的调用git的一个脚本,主要是用来下载、管理Android项目的软件仓库。1. 下载 repo 的地址: http://android.git.kernel.org/repo ,可以用 wget http://android.git.kernel.org/repo 或者 curl http://android.git.kernel.org/r
2013-05-08 17:44:54
475
转载 http协议学习
1. 基础概念篇1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 1945定义了HTTP/1.0版本。
2013-05-03 14:05:57
572
转载 android 将int转byte,byte转int的两种方法
作者:mailbomb/** * 将基本数据类型转换为byte数组,以及反向转换的方法 * 只涉及转换操作,对于参数没有进行校验 * 适用范围:RMS操作、网络数据传输 */public class DataConvert{ /** * 将int类型的数据转换为byte数组 * @param n int数据 * @return 生成的byte数组
2013-04-17 10:51:35
2627
转载 Android蓝牙通信
这里使用的是RFCOMM协议,RFCOMM是一个简单的串行线性仿真协议,此协议提供RS232控制和状态信号。也就是一个串口(COM)传输协议,波特率为9600,8位数据。所以手机蓝牙可以与另外的蓝牙设备进行通信。两个设备进行通信,需要建立一个服务端和一个服务端,客户端连接上服务端之后,就可以收发数据。源代码下载地址:http://download.csdn.net/detail/men
2013-04-17 10:49:27
867
2
转载 FM收音机 RDS的强大功能
前言 随着发展,会有越来越多的电台具有RDS广播功能,RDS可以显示电台名称、节目类型、节目内容、日期时间及其它信息,而它具有的AF和TA功能,则更强大。 通常一个广播电台想扩大它的覆盖率,可能会进行多个频率点的发射,比如某个电台有87.8和95.8MHZ两个频点,当你开着车听着87.8,去到某个地方时,信号变差了, 这时候,开了AF功能,AF功能会自动搜索当前电台的其他频道,找到
2013-04-17 10:43:32
1111
转载 android 实现静默安装、卸载
方法1:【使用调用接口方法,由于安装卸载应用程序的部分API是隐藏的,所以必须下载Android系统源码,在源码下开发并编译之后使用MM命令编译生成APK文件】import java.io.File;import android.app.Activity;import android.os.Bundle;import android.content.Intent;import
2013-04-17 10:36:52
523
转载 [Android]实现静默安装APK的两种方法
Android上的静默安装似乎是个很诱人的功能,好多人都问这个问题。今天分享下实现静默安装的两种方法,但当看完这篇文章后,仍会让一些人失望滴。 Android把所有的Permission依据其潜在风险(属性名为protectionLevel)划分为四个等级,即"normal "、 "dangerous "、 "signature "、 "signatureOrSyst
2013-04-17 10:36:15
749
转载 如何在同一Wifi网段上传输文件
最近做了一个Android平台Wifi功能的实现方法,发一下个人的经验来跟大家分享一下。。 时间不多了,言归正传。我将如何实现这个功能分为三个步骤: 1、首先,由类WifiInfo的getIpAddress方法获得自己在该AP上所分配到的IP地址,这个得到的是long int型的,所以记得先将其转换为String型哦(方法很简单,代码如下) private Strin
2013-04-17 10:34:23
2626
转载 如何获得并配对连接在同一Wifi网段上的其他手机
Android系统有没有提供一个让你方便的获取连接在同一Wifi网段上的其他用户的API呢??答案是否定的,那么Wifi版的飞鸽传书是如何实现这个功能的呢??之前在开发这个项目时,我上网找了很久,也只搜索到mars老师那个视频的搜索Wifi热点的例子。所以,现在发上来给大家分享一下。我个人的理解是“三次握手”。1、首先,数据接收方Receiver启动广播线程,通过某个特点的端口UDP_BO
2013-04-17 10:32:08
1879
1
转载 通过MediaStore获取Audio信息
Android系统提供了MediaScanner,MediaProvider,MediaStore等接口,并且提供了一套数据库表格,通过Content Provider的方式提供给用户。当手机开机或者有SD卡插拔等事件发生时,系统将会自动扫描SD卡和手机内存上的媒体文件,如audio,video,图片等,将相应的信息放到定义好的数据库表格中。在这个程序中,我们不需要关心如何去扫描手机中的文件,只要
2013-04-16 11:09:56
564
转载 Android系统多媒体数据库MediaStore
MediaStore这个类是Android系统提供的一个多媒体数据库,android中多媒体信息都可以从这里提取。这个MediaStore包括了多媒体数据库的所有信息,包括音频,视频和图像,android把所有的多媒体数据库接口进行了封装,所有的数据库不用自己进行创建,直接调用利用ContentResolver去掉用那些封装好的接口就可以进行数据库的操作了。今天就介绍一些这些接口的用法。
2013-04-16 11:04:03
864
转载 Android基于Cling开发DLNA应用
DLNA,Digital Living Network Alliance的简称,即数字生活网络联盟。其由消费性电子、移动电话以及电脑厂商组成。目标在于创建一套可以使得各厂商的产品互相连接,互相适应的工业标准,从而为消费者实现数字化生活。 UPnP/DLNA library for Java and Android。GitHub最多关注,当前仍在维护,许可协议为LGPL或CDDL。
2013-04-15 16:44:06
2866
3
转载 android tabhost
结构继承关系public class TabHost extendsFrameLayoutimplements ViewTreeObserver.OnTouchModeChangeListenerjava.lang.Objectandroid.view.Viewandroid.view.ViewGroupandroid.widget.FrameLayoutand
2013-04-02 14:34:47
696
转载 Android TabWidget
显示选项卡标签的列表,用于代表父选项卡集合的每一页。当前widget的容器对象是TabHost。当用户选择一个选项卡时,此对象给父容器对象TabHost发送一个消息,告诉TabHost切换到对应的页面显示。此对象上的很多方法,你通常不会直接使用。容器TabHost被用来添加标签,添加并管理回调函数。你可能会调用此对象以迭代选项卡列表,或者调整选项卡列表的布局,但大多数方法应该是通过容器TabHos
2013-04-02 14:31:44
585
转载 Android中获取系统内存信息以及进程信息-----ActivityManager的使用(一)
转载请注明出处:http://blog.csdn.net/qinjuning 本节内容主要是讲解ActivityManager的使用,通过ActivityManager我们可以获得系统里正在运行的activities,包括 进程(Process)等、应用程序/包、服务(Service)、任务(Task)信息。
2013-03-29 10:08:00
703
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人