小编zrg*_*giu的帖子

懒惰初始化Fabric套件?

是否有可能懒洋洋地初始化Fabric Kits?例如,我现在做:

Fabric.with(this, crashlytics, twitterCore, tweetUi); // 500ms
Run Code Online (Sandbox Code Playgroud)

我想初始化只有Crashlytics(没有Twitter的东西),如下所示,因为它快了10倍,我不需要马上的Twitter东西

Fabric.with(this, crashlytics); // 50ms
Run Code Online (Sandbox Code Playgroud)

稍后,当用户访问我需要TwitterCore和TweetUi的活动时,我想在使用之前将它们添加到Fabric中.

这可能吗 ?

编辑: 我设法用反射来做,这显然不是理想的,但它暂时有效.我仍然在寻找一个合适的解决方案.我是这样做的:

    try {
        final Fabric newFabric = (new Fabric.Builder(context)).kits(crashlytics, twitterCore, tweetUi).build();
        final Method method = Fabric.class.getDeclaredMethod("setFabric", Fabric.class);
        method.setAccessible(true);
        method.invoke(null, newFabric);
    } catch (Exception e) {
        Timber.e(e, e.getMessage());
    }
Run Code Online (Sandbox Code Playgroud)

performance android crashlytics crashlytics-android google-fabric

13
推荐指数
1
解决办法
623
查看次数

Nest温控器温度未更新

我试图以编程方式(Android)改变我的Nest的温度,没有任何运气.请求工作可能在30-50次尝试中有1次.

我试过通过Firebase Nest SDK完成它,并且根本不会调用NestAPI.CompletionListener.看到它不起作用,我尝试使用REST api,它工作了两次,然后再尝试30次尝试.我也从命令行使用curl尝试了它,结果相同,直到我因为速率限制而最终被"阻止".在被阻止之前,请求返回完整的恒温器对象,就像执行GET请求而不是PUT一样.

当温度实际上更新时,响应仅包含新的target_temperature_high_ctarget_temperature_high_c值.

还有其他人见过类似的行为吗?

编辑:在下面添加了一些代码

这是使用Nest Android API(基于Firebase)的代码:

NestAPI.CompletionListener completionListener = new NestAPI.CompletionListener() {
    public void onComplete() {
        Debug.d("NEST", "request complete");
    }
    public void onError(int errorCode) {
        Debug.e("NEST", "error: "+errorCode);
    }
};
NestAPI.getInstance().setTargetTemperatureHighC(myNest.getDeviceID(), 25, completionListener);
Run Code Online (Sandbox Code Playgroud)

这只有在我每小时拨打一次电话时才有效.如果我甚至尝试两次,第二次尝试不起作用.

接下来,我尝试使用REST界面.这似乎工作更频繁(工作5-6次,之后它开始表现得像我在做GET请求而不是PUT.

JSONObject dataToSend = new JSONObject();
dataToSend.put("target_temperature_low_c", 23);
dataToSend.put("target_temperature_high_c", 26);

HttpPut httpost = new HttpPut("https://developer-api.nest.com/devices/thermostats/"+myNest.getDeviceID()+"?auth="+myAuthToken);
httpost.setHeader("Content-type", "application/json");

httpost.setEntity(new StringEntity(dataToSend.toString()));
HttpResponse response = defaultHttpClient.execute(httpost);
HttpEntity entity = response.getEntity();

String response = convertStreamToString(entity.getContent());
Run Code Online (Sandbox Code Playgroud)

编辑2:刚刚使用Nest Home Simulator进行了测试,它的工作原理非常好.但真正的硬件存在问题

android nest-api

11
推荐指数
1
解决办法
467
查看次数

如何按名称查找Facebook组ID

我有一个Facebook应用程序,我希望能够阅读facebook群组提要.我有一个用户输入的网址,如下所示:http://www.facebook.com/groups/music.sharing/

要访问Feed,我只能使用它的ID,如:http://graph.facebook.com/ [group of group]/feed

我在参考文献中找不到任何内容,FQL不允许按名称查询.我被卡住了.有任何想法吗 ?

谢谢!

facebook facebook-graph-api

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

在没有GPS/WiFi /互联网的情况下获取用户的大致位置

我正试图找到一种方法来检查用户是否在美国,并以某种方式做到这一点.这意味着没有GPS,也没有互联网.我有一些想法,但它们并不像我想要的那么准确,所以也许这里的某些人有一些诡计.

谢谢!

android location

0
推荐指数
1
解决办法
2215
查看次数