Chinaunix首页 | 论坛 | 博客
  • 博客访问: 236696
  • 博文数量: 54
  • 博客积分: 2656
  • 博客等级: 少校
  • 技术积分: 1020
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-19 21:06
文章分类

全部博文(54)

文章存档

2016年(3)

2014年(8)

2013年(4)

2012年(2)

2011年(29)

2010年(8)

我的朋友

分类: Android平台

2014-07-07 14:08:02

最近由于需要统计app的一些日志,不想每个地方都去调用,所以想到了aop。具体步骤如下:

1. 在eclipse中安装ajdt插件
2. 设置切点,并实现切点执行方法,android 下的配置跟服务器端的切点配置略微不太一样,具体代码如下

点击(此处)折叠或打开

  1. public aspect Pointcut {
  2.     
  3.     
  4.     pointcut callPointcutInit(Context context) : call(void com.test.util.UtiPush.init(Context)) && args(context);
  5.     after(Context context) : callPointcutInit(context) {
  6.         PointcutUtil.pointcutInitHandle(context);
  7.     }
  8.     
  9.     pointcut callPointcutLogin(UserInfo userInfo) : execution(void com.test.passport.LoginActivity.GetUserInfoTask+.onPostExecute(UserInfo)) && args(userInfo);
  10.     after(UserInfo userInfo) : callPointcutLogin(userInfo) {
  11.         PointcutUtil.pointcutLoginHandle(userInfo);
  12.     }
  13.     
  14. }
     PointcutUtil 为切点执行的类,具体方法在里面执行就行

点击(此处)折叠或打开

  1. public static void pointcutInitHandle(Context context){
  2.         Log.v("_______", "__________context = "+context);
  3.     }
  4.     
  5.     public static void pointcutLoginHandle(UserInfo userInfo){
  6.         Log.v("_______", "__________userInfo = "+userInfo);
  7.     }


阅读(6839) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~