小编Ric*_*ell的帖子

(私人)Android应用的自动更新

我正在开发一个非公开的Android应用程序,即该应用程序将无法在全球Android Market中使用.该应用程序将安装在有限数量的客户端上,例如使用apk文件.如何在此应用中启用自动更新功能?

我看到了不同的潜在选择(我不知道这些是否在技术上很难甚至无法实现,或者是否有任何现有的功能可以重复使用):

  • 在每次启动时,应用程序测试是否存在新版本(通过请求服务器),如果是,则下载新的apk并将其自身替换为新版本.
  • 使用(或开发?)分离的应用程序或服务,进行更新检查和替换过程.
  • 使用(或开发?)具有自动更新选项的私有市场应用程序.此选项类似于第二个选项,但更通用:市场应用程序将连接到存储库,即它将处理任意数量的(私有)应用程序.

我更喜欢选项一,因为自动更新功能包含在应用程序中,需要较少的开发工作.

android auto-update google-play

50
推荐指数
2
解决办法
3万
查看次数

如何创建一个只能设置一次但在Java中不是最终的变量

我想要一个类,我可以使用一个变量unset(the id)创建实例,然后稍后初始化此变量,并在初始化后使其不可变.实际上,我想要一个final我可以在构造函数之外初始化的变量.

目前,我正在通过一个Exception如下所示的setter来即兴创作:

public class Example {

    private long id = 0;

    // Constructors and other variables and methods deleted for clarity

    public long getId() {
        return id;
    }

    public void setId(long id) throws Exception {
        if ( this.id == 0 ) {
            this.id = id;
        } else {
            throw new Exception("Can't change id once set");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是一个很好的方式来实现我想要做的事情吗?我觉得我应该能够在初始化后设置一些不可变的东西,或者我可以使用一种模式来使它更优雅.

java final reference

37
推荐指数
3
解决办法
3万
查看次数

当手机靠近受监控位置时,Android ProximityAlert或Geofence会耗尽更多电量吗?

如果我使用具有给定半径(例如100米)的Android ProximityAlert,并且我的手机经常靠近(或位于)该位置,那么电池消耗是否会大于我很少靠近该位置的情况?电池漏量增加的距离是多少?

与Geofences相反呢?

理想情况下,我想了解以下情况对电池寿命的影响:

R = proximityAlert或Geofence区域的半径D = closeAlert中电话与位置的距离

  • D <R(手机绝对在近距离警戒位置)
  • D >> R(电话肯定在接近警戒位置)
  • D~ = R(接近警报位置边界附近的电话)

是否有任何特定位置(即D或DR的值)手机会自动将位置提供商更改为更昂贵的选项以提高准确性?

android android-location geofencing android-geofence

7
推荐指数
1
解决办法
2079
查看次数

我可以完全在后台服务中运行Android GeoFencing吗?

我有一个几乎不需要用户交互的应用程序,但需要Geofences.我可以在后台服务中完全运行吗?

首次运行服务时会有一个Activity.此Activity将启动一个服务并为BOOT_COMPLETED注册一个BroadcastReceiver,因此该服务将在启动时启动.此活动不太可能再次运行.

该服务将设置警报定期关闭,这将导致IntentService从网络下载位置列表.然后,此IntentService将围绕这些位置设置Geofences,并创建PendingIntents,这些PendingIntents将在接近位置时触发.反过来,那些PendingIntents将导致另一个IntentService采取一些行动.

所有这些都需要在后台进行,除了在安装后第一次启动Activity之外没有用户交互.因此,Activity不会与LocationClient或任何位置服务进行交互.

我实际上已经使用proximityAlerts设置了这个设置,但是出于电池寿命的原因,我希望转向新的Geofencing API.但是,我听说在服务中使用LocationClient可能会有一些问题.具体来说,我听到了(抱歉,没有参考,只是传闻声称):

  • 位置客户端依赖于ui可用性来进行错误处理
  • 当从后台线程调用时,LocationClient.connect()假定它是从主ui线程(或带有事件循环器的其他线程)调用的,所以如果我们从后台线程中运行的服务调用此方法,则永远不会调用连接回调

当我调查时,我看不出有什么理由会这样,或者为什么它会阻止我做我想做的事情.我希望它几乎可以替代proximityAlerts ...

任何人都可以对这里的事情有所了解吗?

android-location android-geofence

6
推荐指数
1
解决办法
2728
查看次数

如何将电子邮件组添加到Google Play商店Alpha/Beta测试版

我正在尝试将我的域中的Google群组添加到Google Play上针对我开发的应用的Beta测试人员列表中.

我的域名是"mydomain",并运行Google Apps.我几天前在管理控制台上创建了一个组.该组称为customer-beta @ mydomain.我以richard @ mydomain身份登录,并且是该组的所有者和成员,以及mydomain的管理员.

当我尝试将该群组添加到测试版时,它会显示"要从Google Apps域中选择一个群组,您需要使用该域中的帐户登录".据我所知,我使用域中的帐户登录.

我可以添加@ googlegroups.com组,但这似乎不太理想.

谁能告诉我这里发生了什么?

播放商店突出显示错误的屏幕截图

google-apps google-play

6
推荐指数
1
解决办法
3601
查看次数

在App Engine Java上使用Objectify与Google Cloud Endpoints有什么警告吗?

我正在开发一个关于Appengine和Android的应用程序,并计划将API Cloud Endpoints用于API和GCM,以实现云与移动之间的通信.我原本打算使用Objectify进行数据持久化,但我想知道是否会遇到意外的麻烦 - 特别是使用不同的注释或其他要求.有没有人有任何可以警告我的经验?

google-app-engine objectify google-cloud-endpoints

5
推荐指数
1
解决办法
864
查看次数