2013-08-12 134 views
0

我需要创建一个应用程序,我必须显示当前访问该应用程序的用户总数。 (类似于网页中的网页统计,我们可以显示“Total Visitor:1000”)。在Android应用程序中跟踪用户数

当任何用户打开应用程序(横跨地球)不久,他应该看到总人次截至目前。

是否有解决方案存在此需求?

感谢任何帮助/建议。谢谢

- 更多信息- 有网站http://www.web-stat.net/这是它的网页。需要类似的Android应用程序。

你可以读入
+0

你有什么试过的?您可以使用Google Analytics记录计数,并使用其API获取结果,但这不是实时的。 – Raptor

+0

你需要有一个网络方法,这将被称为计数器只增加一次。 –

+0

非常感谢Anuj,但我需要一种方法,每次用户打开应用程序时访问次数应该增加。 –

回答

1

两个例子:

http://www.flurry.com

http://www.google.com/analytics/

其提供的API,这些都被DataReporting服务,例如导出数据作为JSON。主要目标是您的应用程序将使用情况统计信息发送到外部服务器(您可以在其中查看数据)。 此外,您还可以连接到这些服务器并在设备上检索数据。

更新 - 局部存储器

如果你只是想在设备上的本地计数器,显示他是如何经常访问应用程序,请SharedPreferences用户。 SharedPreferences使您可以将数据存储在设备上,并在打开或关闭应用程序时再次检索该数据。

更新 - GLOBAL - 数据库

如果你想只是一个 “全球性的” 计数器。我们建议您创建一个SQL数据库,用于存储当前访问者数量,并在用户每次访问并获取当前应用启动时的计数以显示它时增加该数据。 如果你想跟踪目前使用的应用程序您的应用程序的不同的用户,你可以为每一个用户提供相同的ID,并将其存储在SQL数据库,当用户第一次打开应用程序,并增加计数器。 因此,你当然也需要一个表格存储id。 当用户关闭应用程序时,您需要再次连接到数据库,并从表格中删除其ID并将计数器递减。

这可能是获得一个唯一的ID为每个用户的一种方式:

public class Installation { 
    private static String sID = null; 
    private static final String INSTALLATION = "INSTALLATION"; 

    public synchronized static String id(Context context) { 
     if (sID == null) { 
      File installation = new File(context.getFilesDir(), INSTALLATION); 
      try { 
       if (!installation.exists()) 
        writeInstallationFile(installation); 
       sID = readInstallationFile(installation); 
      } catch (Exception e) { 
       throw new RuntimeException(e); 
      } 
     } 
     return sID; 
    } 

    private static String readInstallationFile(File installation) throws IOException { 
     RandomAccessFile f = new RandomAccessFile(installation, "r"); 
     byte[] bytes = new byte[(int) f.length()]; 
     f.readFully(bytes); 
     f.close(); 
     return new String(bytes); 
    } 

    private static void writeInstallationFile(File installation) throws IOException { 
     FileOutputStream out = new FileOutputStream(installation); 
     String id = UUID.randomUUID().toString(); 
     out.write(id.getBytes()); 
     out.close(); 
    } 
} 

从这里摘自:Android unique id

+0

仅链接答案不足,请提供更多详细信息。 – Raptor

+0

@Phil,请参阅我对Anuj的评论.. –

+0

因此,您只是在设备上本地增加本地设备吗? –

0
  1. 扩展Application类。
  2. 创建可增加和减少用户数量的Web方法。
  3. 使用onCreate()方法报告活动用户(增加数量)。
  4. 使用onTerminate()方法报告非活动用户(减少数量)。
  5. 创建获取用户数量的方法。
+0

你有任何链接/示例显示这种方法吗? –

+0

你需要选择像ASP.NET,PHP等服务器端技术... – NickF

+0

在Android应用程序? –