
Android进阶
小强就是我
路漫漫其修远兮,吾将上下而求索。
展开
-
Android实现snmp协议(一)
2015年一月初。接到华为一位老师的电话,让我帮忙做一款他们在北京展会上要用到的App,该App能够展示华为的网络设备运行状态并可以设置一些简单的参数,包括AP、LSW、AP、AR等。华为老师跟我说他们是使用snmp协议v2c的版本进行管理的,这意味着我也得在Android设备实现该协议,并与他们的网络设备交互。回去认真研究了一下并请教了一些对这块比较熟悉的小伙伴,总算对s原创 2015-02-08 21:51:38 · 3950 阅读 · 0 评论 -
Android使用ORM思想封装数据库
什么是ORM? ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。举例 在Java Web中,hibernate就是实现了这样的功能。通过引入ORM,不但可以减少程序员的代码量,更重要的是方便不同数据库之间的原创 2015-09-10 11:08:07 · 931 阅读 · 0 评论 -
从源码角度分析Android中UID与GID的分配
概述UID一般理解为User Identifier,在linux中就是用户的ID,表明是哪个用户运行了这个程序,GID则表明了这个用户属于哪个组。它们主要用于权限的管理。而在Android中,部分权限的管理是依赖底层的linux的,所以了解Android的UID/GID十分必要。网上有下面的一段话: 而在Android 中又有所不同,因为Android为单用户系统,这时UID 便被赋予了新的使命,原创 2015-09-09 17:07:32 · 4681 阅读 · 0 评论 -
Java反射机制(2)--反射的用途举例
前一篇文章介绍了反射的基本用法。反射功能的基本介绍今天写这篇文章是为了依据笔者项目的经验,讲讲反射在Android的三个具体用途。欢迎大家一起补充讨论。获取系统编译后隐藏的方法,比如源码中使用/*hide*/ 修饰的函数。确认方法是否存在。这些方法有可能是自己自定义并添加的。笔者将以Android中的createPackageContext()(获取另外一个App的资源和方法)为例讲解。兼容不原创 2015-08-04 19:01:32 · 1641 阅读 · 0 评论 -
Android5.0以上系统的移动网络开关
笔者最近遇到一个非常有意思的bug,贴出来和大家分享下。 那是一个温暖的早晨,阳光晒的人很舒服。一封bug邮件像一片叶子飘到我的邮箱。一番交流,笔者确认负责的Widget开关在Android5.0以上系统没有作用。相信很多做过移动网络开关的朋友都知道,在ConnectivityManager中有两个方法setMobileDataEnabled和getMobileDataEnabled通过反射来控制原创 2015-07-30 21:03:07 · 7191 阅读 · 6 评论 -
Android中注册和发送广播中添加权限
Android中注册和发送广播中添加权限在一个安全稳定的App中,注册和发送广播中添加权限是必须要考虑的问题。 而添加权限的设计就是为了控制如下两个方面:限制哪个应用可以给我发送广播,避免受各种Action的干扰限制哪个应用可以接收我发出去的广播,避免发出的Action被窃听如果我们自身的应用是李四的话,那就是如下情景:Created with Raphaël 2.1.0张三张三李四原创 2015-07-30 20:13:46 · 5717 阅读 · 1 评论 -
ListView的重用机制
今天下午coding PM提出来的需求。在编码过程中发现一个问题,后来经过查阅和思考还是解决了。跟大家分享下这个过程。该PM的要求是展示一个listview,listview的每个item都包含一个按钮,当点击了该按钮时,按钮的文字变成已点击。当listview的长度比较长,超过一个屏幕时,点击第1个,改变状态。往下拉动,发现第15个也是显示的“已添加”。原创 2015-04-22 17:26:05 · 1651 阅读 · 0 评论 -
Android多进程通信(1)----代码架构推荐
在实际的项目中,如果进程A和进程B进行AIDL绑定通信,通常B进程中的Service不止一个。这时候采用将A进程和B进程的一个MainService绑定,再通过MainService获得B进程中其他service的接口。这样一来,绑定了一个MainService就可以与所有service交互。 代码的架构将清晰明了。进程主Service的AIDL文件IMainInterface.a原创 2015-05-25 16:29:38 · 787 阅读 · 0 评论 -
Android中Application的使用
初学Android的朋友都是最先接触的Activity,对Application比较陌生,这里讲解下。什么是Application Application和Activity,service一样是Android框架的一个系统组件,当Android程序启动时系统会创建一个Application对象,用来存储该程序的一些信息。通常我们是不需要创建一个Application原创 2015-01-05 17:41:43 · 922 阅读 · 0 评论 -
Android使用TextSwitcher和ImageSwitcher实现平滑过渡
更改view当中的内容,比如TextView是我们进行项目开发过程中经常遇到的操作。如果直接使用setText方法切换文字的话,TextView的内容是立刻改变的,没有一个平滑的效果,没有良好的视觉体验。而TextSwitcher和ImageSwitcher正是实现了这样的功能。布局文件如下:< LinearLayout xmlns:android原创 2015-02-09 11:01:16 · 1047 阅读 · 0 评论 -
多进程使用Provider代替AIDL
来百度之后,涉及到了多进程通信的技术。做了相关学习和一些代码工作后,有一些感想想和大家分享下。虽然使用多进程增加了程序的内存空间,但是也有很多负面的影响。比如:使用很多第三方lib扩展额外进程功能时容易混乱单例模式在单进程中用的很爽,但在多进程就鸡肋了使用AIDL完成的稳定性和效率并不是很高,本人做的项目拉取AIDL传来的值一直存在不稳定的问题。最后一个问题最蛋疼。项目组老原创 2015-06-28 15:20:33 · 1980 阅读 · 2 评论