是否有可能懒洋洋地初始化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
我试图以编程方式(Android)改变我的Nest的温度,没有任何运气.请求工作可能在30-50次尝试中有1次.
我试过通过Firebase Nest SDK完成它,并且根本不会调用NestAPI.CompletionListener.看到它不起作用,我尝试使用REST api,它工作了两次,然后再尝试30次尝试.我也从命令行使用curl尝试了它,结果相同,直到我因为速率限制而最终被"阻止".在被阻止之前,请求返回完整的恒温器对象,就像执行GET请求而不是PUT一样.
当温度实际上更新时,响应仅包含新的target_temperature_high_c和target_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进行了测试,它的工作原理非常好.但真正的硬件存在问题
我有一个Facebook应用程序,我希望能够阅读facebook群组提要.我有一个用户输入的网址,如下所示:http://www.facebook.com/groups/music.sharing/
要访问Feed,我只能使用它的ID,如:http://graph.facebook.com/ [group of group]/feed
我在参考文献中找不到任何内容,FQL不允许按名称查询.我被卡住了.有任何想法吗 ?
谢谢!
我正试图找到一种方法来检查用户是否在美国,并以某种方式做到这一点.这意味着没有GPS,也没有互联网.我有一些想法,但它们并不像我想要的那么准确,所以也许这里的某些人有一些诡计.
谢谢!