
Android
文章平均质量分 72
BUAA海海
爱阅读爱分享爱航空也爱coding是技术死宅也是忠实驴友我没什么特别我很特别
展开
-
利用命令行删除Android系统自带应用的方法
利用shell命令快速删除系统自带应用的方法原创 2014-05-20 13:29:12 · 13874 阅读 · 3 评论 -
Android Binder机制分析(4) Parcel类分析
在C++层和Java层各有一个Parcel类,它们在Binder通信机制中起传递数据的作用。在上一篇Blog中,在分析服务注册过程时,往data(Parcel对象)变量写入数据时,有这样的调用路径:BpServiceManager::addService()–>Parcel::writeStrongBinder()–>flatten_binder()–>finish_flatten_binder()由于finish_flatten_binder()方法中涉及到的东西太多,在上一篇博客就没有展开来原创 2016-04-16 22:21:13 · 5155 阅读 · 2 评论 -
Android系统服务概要
Android系统服务提供系统最基本、最核心的功能,如设备控制、位置信息、通知设定、消息显示等。这些服务分别存在于Application Framework与Libraries层之中。本文是Android系统服务分析系列的第一篇,将介绍Android系统服务的组成及启动过程等内容。原创 2016-04-16 10:41:04 · 1218 阅读 · 0 评论 -
Android Binder机制(1):Binder架构分析
从这篇博客开始,将进入Binder机制的分析系列,顺序是先讲解Binder机制的框架,理解了整体思想后,再深入分析各层的细节实现,最后会实现一个自己的本地服务。1.Binder的历史BeOS是Be公司在1991年开发的运行在BeBOX硬件上的一款操作系统,与同期的其他操作系统不同,它是一款基于GUI设计的操作系统...原创 2016-04-16 11:01:41 · 2392 阅读 · 0 评论 -
Android Binder机制(2) ContextManager注册过程分析
Context Manager对应的进程为servicemanager,它先于Service Server与服务客户端运行,首先进入接收IPC数据的状态,处理来自Service Server或服务客户端的请求。在init.rc脚本文件中也可以看到Context Manager在mediaserver与system_server之前运行了。每当Service Server注册服务时,Context Manager都会把服务的名称与Binder节点编号注册到自身的服务目录中,该服务目录通过根文件系统下的/s原创 2016-04-16 11:50:13 · 4298 阅读 · 0 评论 -
Android Binder机制(3) 本地服务注册过程
本博客将讲解本地服务的注册过程,为了方便大家更好地理解,选择了MediaPlayer Service作为例子。启动并注册MediaPlayer Service的代码在frameworks/base/media/mediaserver/main_mediaserver.cpp中,如下...原创 2016-04-16 15:03:04 · 4726 阅读 · 1 评论 -
ListView.setOnItemClickListener不起作用的原因
ListView.setOnItemClickListener不起作用的原因原创 2015-05-21 21:41:53 · 1833 阅读 · 0 评论 -
Android中跨进程通信传递Parcelable对象时出现android.os.BadParcelableException: ClassNotFoundException when unmarsh
Android中跨进程通信的方法用得较多的是MessengerService和AIDL,根据Google开发文档,推荐使用MessengerService,但是利用它传递Parcelable对象时出现android.os.BadParcelableException: ClassNotFoundException when unmarsh,本文分析了出现的原因以及解决方法。原创 2015-04-27 20:41:12 · 6858 阅读 · 0 评论 -
Ubuntu14.04 64bit安装Android Studio
使用32bit的Ubuntu安装Android Studio没什么问题,但是使用64bit的Ubuntu时则会出现许多的小问题,本文提供了相应的解决办法。原创 2015-04-04 12:06:15 · 3363 阅读 · 0 评论 -
Android中100行代码实现可上下拉动的自定义ListView
之前在网上也看到一些所谓的下拉刷新的例子,但是总感觉是把简单的事情复杂化了,动辄300多行甚至600多行的代码,其实主要就是对触摸事件作出反应嘛,根本用不着这么麻烦。下面先实现一个可上下拉动的ListView,再实现一个带有Header的可下拉刷新的ListView,示例代码都力求简洁。原创 2014-12-02 00:26:01 · 1672 阅读 · 0 评论 -
Android中的网络编程系列(一):URLConnection
Android中的网络编程内容较多,包括Socket,URL,HttpURLConnection,Apache HttpClient,WebView等。本文是该系列的第一篇文章,主要讲解URL的用法,最后通过一个有效的URL获取了网络上的图片并在手机上显示了出来...原创 2014-11-30 22:32:50 · 1213 阅读 · 0 评论 -
Android中的文件读写全面总结
在深入分析Java中的I/O类的特征及适用场合 一文中,我详细介绍了Java中的I/O,但是,如果以为Android中的I/O与Java中一样,那就大错特错了。实际上,它们有一定的相同之外,比如对于文件流采用缓冲流进行包装;但更多的是区别,因为Android系统中的文件存放位置不同,读取方式也不一样,而且如果涉及到sd卡中的文件读写,还需要添加相应的权限。所以建议将本文和《深入分析Java中的I/O类的特征及适用场合》这篇文章对比查看,这样对于输入输出能更加运用自如,在处理网络编程时能处理得更好。原创 2014-11-30 21:36:31 · 1804 阅读 · 0 评论 -
Android中的跨进程通信方法实例及特点分析(二):ContentProvider
在Android中有些数据(如通讯录、音频、视频文件等)是要供很多应用程序使用的,为了更好地对外提供数据,Android系统给我们提供了Content Provider使用,通过它可以访问上面所说的数据,例如很多音乐播放器中的扫描功能其实就用到了Content Provider(当然,也有的播放器是自己去实现更底层的功能),其他如联系人、图片浏览等也都用到了ContentProvider。本文详细讲解了ContentProvider,并且通过一个提供学生信息的实例进行了演示...原创 2014-11-16 15:26:59 · 1560 阅读 · 0 评论 -
Android中的跨进程通信方法实例及特点分析(一):AIDL Service
Android中有4种跨进程通信方式,分别是利用AIDL Service、ContentProvider、Broadcast、Activity实现。虽然都是能实现跨进程通信方式,但是各自的特点不一样,适用的场景也各不相同。本文通过4个例子重点讲述了AIDL Service在跨进程方面的应用,同时考虑了利用onStartCommand来实现Service的跨进程解决方案,并且比较了其优劣。最后讲述了Service的一个重点应用:前台Service。原创 2014-11-10 04:06:37 · 2319 阅读 · 0 评论 -
Android中利用命令行进行截屏并导出到电脑上
本文详细介绍了在Android中利用shell命令进行截屏的方法,并且讲解了利用pull命令从手机中导出文件到电脑上的方法,最后讲解了几个容易出错的地方。原创 2014-05-31 22:39:30 · 4027 阅读 · 0 评论 -
Android编译时出现"Unable to execute dex: Multiple dex files define Lcom..."
中午从SVN Update项目代码之后,对Project进行Refresh之后进行编译,原创 2014-05-19 12:57:23 · 3627 阅读 · 0 评论 -
Android Binder机制分析(5) Binder_ioctl()分析
在博客Android Binder机制(3)本地服务注册过程这篇博客中我们详细讲解了本地服务的注册过程,除了一个地方之外,那就是IPCThreadState::waitForResponse()方法中的talkWithDriver(),而在talkWithDriver()中调用了binder_ioctl(),由于内容太多,所以专门写一篇博客进行分析。实际上,不只是在服务注册过程中会调用到Binder Driver中的binder_ioctl(),在服务检索、服务使用阶段都会调用到binder_ioctl原创 2016-04-17 11:42:08 · 6485 阅读 · 2 评论