Google 刚刚发布了 Android 4.2,其中包括在单个设备上支持多个用户配置文件:http://developer.android.com/about/versions/android-4.2.html#MultipleUsers .
Google 表示这将对应用程序透明,但我认为这可能会对用于识别设备、用户和安装的数据模型产生影响。
一个问题是android_id的使用。上面链接页面上的建议建议通过 android_id 以外的方法之一来识别设备,但我相信 android_id 被广泛用于此目的。
我的主要问题是 - 每个用户个人资料都有自己的 android_id,有什么含义?
安装新操作系统或完成硬重置时会生成一个新的 android_id - 也许在创建新的用户配置文件时会生成一个新的 android_id(这是问题 #1)?我认为可能不会,因此可以为同一个 android_id 多次安装一个应用程序 - 我认为这可能会与某些应用程序的服务器端数据模型混为一谈。
无论哪种方式,根据您识别设备的方式,您现在可以发现特定应用可以在单个设备上进行多次安装。
另一个问题是用户。假设每个配置文件可以有任意数量的 Google 帐户,但一个 Google 帐户必须与每个配置文件中的 Play 商店相关联。我认为您的应用也有可能在同一设备(通过 android_id)和同一用户上同时安装多个。我认为多个配置文件功能的常见用途是让单个用户在他们的手机上拥有家庭和工作配置文件 - 通常使用不同的 Google 帐户,但在某些情况下,他们可以在每个配置文件中拥有相同的 Google 帐户(例如他们不必为东西付两次钱)。
旁注
Here is a similar discussion新 ARC 平台(Chrome 上的 Android)上的 ANDROID_ID。注意 - ARC 上的行为与 Android 上的不同。
最佳答案
(没有人回答我的问题,但我现在有机会自己测试 4.2。)
答案是每个配置文件都有自己的 android_id。
想一想,这可能是最有意义的,并且会引起最少的问题。这应该会导致大多数系统将设备上的不同配置文件视为不同的设备 - 这应该不是问题。唯一的问题是正确识别设备的系统,例如。基于 wifi 或 bt mac 地址,或序列号或 IMEI,然后预期该单个设备上的多个 android_id 代表该设备上的顺序操作系统安装。 (相反,错了会更安全。)
关于android - Android 多用户支持(4.2 中新增)对服务器端数据模型(例如 android_id)的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13408349/
我正在尝试使用ruby和Savon来使用网络服务。测试服务为http://www.webservicex.net/WS/WSDetails.aspx?WSID=9&CATID=2require'rubygems'require'savon'client=Savon::Client.new"http://www.webservicex.net/stockquote.asmx?WSDL"client.get_quotedo|soap|soap.body={:symbol=>"AAPL"}end返回SOAP异常。检查soap信封,在我看来soap请求没有正确的命名空间。任何人都可以建议我
我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co
我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
我需要从一个View访问多个模型。以前,我的links_controller仅用于提供以不同方式排序的链接资源。现在我想包括一个部分(我假设)显示按分数排序的顶级用户(@users=User.all.sort_by(&:score))我知道我可以将此代码插入每个链接操作并从View访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型。这可能会变得很脏,是否有针对这种情况的任何技术?注意事项:我认为我的应用程序正朝着单一格式和动态页面内容的方向发展,本质上是一个典型的网络应用程序。我知道before_filter但考虑到我希望应用程序进入的方向,这似乎很麻烦。最终从任何
我有一个包含模块的模型。我想在模块中覆盖模型的访问器方法。例如:classBlah这显然行不通。有什么想法可以实现吗? 最佳答案 您的代码看起来是正确的。我们正在毫无困难地使用这个确切的模式。如果我没记错的话,Rails使用#method_missing作为属性setter,因此您的模块将优先,阻止ActiveRecord的setter。如果您正在使用ActiveSupport::Concern(参见thisblogpost),那么您的实例方法需要进入一个特殊的模块:classBlah
我有一个表单,其中有很多字段取自数组(而不是模型或对象)。我如何验证这些字段的存在?solve_problem_pathdo|f|%>... 最佳答案 创建一个简单的类来包装请求参数并使用ActiveModel::Validations。#definedsomewhere,atthesimplest:require'ostruct'classSolvetrue#youcouldevencheckthesolutionwithavalidatorvalidatedoerrors.add(:base,"WRONG!!!")unlesss
我想向我的Controller传递一个参数,它是一个简单的复选框,但我不知道如何在模型的form_for中引入它,这是我的观点:{:id=>'go_finance'}do|f|%>Transferirde:para:Entrada:"input",:placeholder=>"Quantofoiganho?"%>Saída:"output",:placeholder=>"Quantofoigasto?"%>Nota:我想做一个额外的复选框,但我该怎么做,模型中没有一个对象,而是一个要检查的对象,以便在Controller中创建一个ifelse,如果没有检查,请帮助我,非常感谢,谢谢
最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru
在Rails4.0.2中,我使用s3_direct_upload和aws-sdkgems直接为s3存储桶上传文件。在开发环境中它工作正常,但在生产环境中它会抛出如下错误,ActionView::Template::Error(noimplicitconversionofnilintoString)在View中,create_cv_url,:id=>"s3_uploader",:key=>"cv_uploads/{unique_id}/${filename}",:key_starts_with=>"cv_uploads/",:callback_param=>"cv[direct_uplo