转载自:http://blog.csdn.net/lilybaobei/article/details/7197081

关于Flurry的个人观点总结:

1.免费。可以收集用户的分布信息,用户对不同功能的使用频率,用户手机上的具体功能的执行信息(比如某按钮响应的执行时间)。并提供一些分析并以图表的方式显示出来,比如执行时间分布区间直方图,平均执行时间等等。

2.需要在网页上查看数据分析,刷新时间很慢。比如在你的程序执行后大约2个小时以上才能在网页上显示出来(Google Analytics 更是要24h,Localytics快一些二十分钟)。分析项目是固定的。图表显示不能更改或者自定义。不能直接看到所有数据(只能通过图表看到分析过了的数据分布的大概信息)

3.如果一定要获取所有的具体数据信息,可以通过Flurry 的API来通过输入指定的网址和参数来获取指定的数据(XML或JSON)。这一条将在另一篇文章中讲解(http://blog.csdn.net/lilybaobei/article/details/7200981)。

使用说明:

首先要去官方网站上注册(http://www.flurry.com/ 然后点Sign Up)。

注册完登录进去。创建一个Application并下载相关SDK。创建完会Flurry会给你一个这个Application的Key。我们需要在代码中将这个key作为参数传入。

下面的内容是官方网站上提供的指导:

1 Add FlurryAgent.jar to your application's classpath
  • If you're using Eclipse, modify your Java Build Path, and chooseAdd External JAR...
  • If you're using the SDK tools directly, drop it into your libs folder and the ant task will pick it up.
2 Configure AndroidManifest.xml
(必填项)Required Permission:
android.permission.INTERNET (可选项)Optional: android.permission.ACCESS_COARSE_LOCATION android.permission.ACCESS_FINE_LOCATION 这些Peimission枚举的意思可以参考空间里一篇转帖: Android Permission(授权)大全
Flurry代码使用方法:
[java] view plain copy print ?
  1. public void onStart()
  2. {
  3. super.onStart();
  4. FlurryAgent.onStartSession(this, STR_YOUR_API_KEY);
  5. // your code
  6. }
public void onStart()
{
super.onStart();
FlurryAgent.onStartSession(this, STR_YOUR_API_KEY);
// your code
}
[java] view plain copy print ?
  1. public void onStop()
  2. {
  3. super.onStop();
  4. FlurryAgent.onEndSession(this);
  5. // your code
  6. }
public void onStop()
{
super.onStop();
FlurryAgent.onEndSession(this);
// your code
}

简单的可以在你的Activity的onStart()和onStop()方法中添加如上代码。
请注意把STR_YOUR_API_KEY换成你自己的application key。
按照以上步骤就可以开始最基础的flurry测试了。运行完程序后一般需等待一定时间比如几个小时来在网页上看到数据的更新。
另外Flurry还可以记录你的一些事件信息。使用的函数如下:

logEvent (String eventId)
logEvent (String eventId, Map< String, String > parameters)
logEvent (String eventId, boolean timed)

eventId是自己随便定义的。就是相当于为你追踪的这个事件取个名字。
特别的,如果需要检测具体事件的响应时间(比如某个按钮事件),需要注意logEvent (String eventId, boolean timed),将timed参数设为true就可以记录这个event的开始执行时间,然后在你的代码中你认为事件完成的地方再调用 endTimedEvent (String eventId)。这样会记录事件的整个执行时间。 不过需要注意,经过我到目前的研究,不管是通过查看Analytics的分析页面,还是通过API直接获取数据。都得不到单个事件每一次执行的时间。只能得到平均(average),总体(total)。就是你这个事件执行了N次,它算N次的平均执行时间和N次相加的全部执行时间。
参考代码:
[java] view plain copy print ?
  1. case R.id.calllog_settings:
  2. FlurryAgent.logEvent("calllog_settings", true);
  3. SettingsLauncher.launch(this);
  4. FlurryAgent.endTimedEvent("calllog_settings");
  5. return true;
 case R.id.calllog_settings:
FlurryAgent.logEvent("calllog_settings", true);
SettingsLauncher.launch(this);
FlurryAgent.endTimedEvent("calllog_settings");
return true;

查看application key
创建完后还想看到application key的话,在你登录进Flurry后Application项中选择一个Application,点击进入后注意左边有一栏Manage,点击可以查看你这个application的key。
一些有用的官方链接:

Flurry Support Home:

http://support.flurry.com/index.php?title=Main_Page

Android API Document:

http://support.flurry.com/index.php?title=Analytics/Code/Doc/Android

Flurry使用初级教程 (转)相关推荐

  1. Silverlight初级教程-开发工具

    Silverlight初级教程 开发工具 在silverlight越来越流行的同时有很多的供应商开始筹划制作编辑和设计silverlight的工具.现在最常见的设计和开发工具是: Visual Stu ...

  2. 《英语语法新思维初级教程》学习笔记(一)名词短语

    参考资料: 1. <英语语法新思维初级教程> ▶ 知识点 ▼ 英语是"固定词序语言(a fixed-word-order language)". ▼ 语言的构造级别分五 ...

  3. Verilog初级教程(23)Verilog仿真中的显示任务

    文章目录 前言 正文 Display/Write Tasks Verilog Strobes Verilog Continuous Monitors Verilog Format Specifiers ...

  4. Verilog初级教程(21)Verilog中的延迟控制语句

    文章目录 前言 正文 延迟控制语句 事件控制语句 Named Events Event or operator 往期回顾 参考资料及推荐关注 前言 Verilog中的延迟控制有两种类型–延迟和事件表达 ...

  5. Verilog初级教程(20)Verilog中的`ifdef 条件编译语句

    文章目录 前言 正文 语法 示例 Testbench文件 往期回顾 参考资料及推荐关注 前言 `ifdef条件编译语句在逻辑设计中还是很常见的,但也常见一些滥用的情况,这应该避免. 应该在什么情况下使 ...

  6. Verilog初级教程(15)Verilog中的阻塞与非阻塞语句

    文章目录 前言 正文 阻塞赋值 非阻塞赋值 往期回顾 参考资料以及推荐关注 前言 本文通过仿真的方式,形象的说明阻塞赋值以及非阻塞赋值的区别,希望和其他教程相辅相成,共同辅助理解. 正文 阻塞赋值 阻 ...

  7. Verilog初级教程(14)Verilog中的赋值语句

    文章目录 前言 正文 合理的左值 过程性赋值(Procedural assignment) 连续赋值 过程连续性赋值 往期回顾 前言 何为赋值语句?即将值放到线网或者变量上,这种操作称为赋值,英文:a ...

  8. Verilog初级教程(12)Verilog中的generate块

    文章目录 前言 正文 generate for generate if generate case 参考资料 本系列博文 前言 verilog中的generate块可以称为生成块,所谓生成,可以理解为 ...

  9. Verilog初级教程(11)Verilog中的initial块

    文章目录 前言 正文 语法格式 initial块是用来干什么的? initial块何时开始又何时结束? 一个模块中允许有多少个initial块? 参考资料 写在最后 前言 仿真中通常会依次执行一组Ve ...

最新文章

  1. 浅谈Linux下的EXT3文件系统
  2. 深入FFM原理与实践
  3. 獲取mysql字段的注释或描述
  4. Python回文判断代码优化与6个思考题
  5. 动态html树形菜单模板,JS+CSS简易树状菜单Tree
  6. 《Linux内核设计与实现》读书笔记(12)--- 内存管理(2)
  7. buuct 假如给我三天光明 misc_假如给我三天光明读后感
  8. 【转】ZooKeeper学习第二期--Zookeeper命令操作
  9. Netflix是如何针对云构建和部署代码的
  10. css文本外观属性大全(内附实例与图解)
  11. 计算机毕业设计之java+ssm的图书管理系统的设计与实现论文
  12. [Mac]图像处理JPEG工具箱jpegtbx_1.4的MATLAB编译及使用
  13. PolSARpro v6.0之Sentinel-1A Wishart与SVM监督分类
  14. 算法的特征及设计要求
  15. 《WEB开发-阿里云建站》第1章 建站前的准备
  16. fleck 客户端_Fleck - 又一个灵感之源 #iPhone
  17. java使用freemark实现word(.doc/.docx)/pdf生成和导出(附源码和模板文件)
  18. 初识c语言(入门篇)
  19. 「 运动控制 」判断二阶微分方程稳定性的方法
  20. 搭建一个自己的电影网站?如何做呢

热门文章

  1. 智慧新零售收银系统包含pc源码安卓小程序进销存等等功能
  2. Jenkins-节点服务器配置
  3. 再读内核存储管理(7):icache支持
  4. Python 中的多层for in嵌套循环使用
  5. 神经网络的函数表达式,神经网络公式详解pdf
  6. 解释Windows7“上帝模式”的原理[转载]
  7. Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树
  8. python 判断url链接是否有效 判断文件下载链接是否有效
  9. EDIUS2022广播后期制作非线性编辑软件新版功能介绍
  10. js返回计算机ip地址吗,js获取电脑IP地址???电脑连WIFI的