最近由于需要统计app的一些日志,不想每个地方都去调用,所以想到了aop。具体步骤如下:
1. 在eclipse中安装ajdt插件
2. 设置切点,并实现切点执行方法,android 下的配置跟服务器端的切点配置略微不太一样,具体代码如下
-
public aspect Pointcut {
-
-
-
pointcut callPointcutInit(Context context) : call(void com.test.util.UtiPush.init(Context)) && args(context);
-
after(Context context) : callPointcutInit(context) {
-
PointcutUtil.pointcutInitHandle(context);
-
}
-
-
pointcut callPointcutLogin(UserInfo userInfo) : execution(void com.test.passport.LoginActivity.GetUserInfoTask+.onPostExecute(UserInfo)) && args(userInfo);
-
after(UserInfo userInfo) : callPointcutLogin(userInfo) {
-
PointcutUtil.pointcutLoginHandle(userInfo);
-
}
-
-
}
PointcutUtil 为切点执行的类,具体方法在里面执行就行
-
public static void pointcutInitHandle(Context context){
-
Log.v("_______", "__________context = "+context);
-
}
-
-
public static void pointcutLoginHandle(UserInfo userInfo){
-
Log.v("_______", "__________userInfo = "+userInfo);
-
}
阅读(6839) | 评论(0) | 转发(0) |