我必须制作一个Android应用程序项目。起初,我尝试使用HttpURLConnection但它没有用。所以在与朋友讨论后,我尝试使用OkHttp。我总是得到一个例外的" answers = client.newCall(request).execute();"。经过长时间的搜索,我只是尝试这个代码,这是" https://github.com/square/okhttp/wiki/Recipes"的教程。 而且.....它也不起作用! 我的问题是,真正发生了什么?我目前正在Android Studio 1.5.1下开发4.0.3应用程序。我还添加了以下两个依赖项:
CONDITION
答案 0 :(得分:0)
{ANSWER} 我终于尝试使用像Selvin这样的多线程编程,它运行良好所以解决方案是打开另一个线程
In [119]: df.groupby(['grpno.'], as_index=False)[['count percent']].max()
Out[119]:
grpno. count percent
0 1 14.78
1 2 0.00
2 3 8.80
3 4 59.00
4 5 0.00
5 6 0.00
df1 = df.groupby(['grpno.'], as_index=False)[['count percent']].max()
df1.columns = df1.columns[:-1].tolist() + ['MaxOfcount percent']
In [130]: df1
Out[130]:
grpno. MaxOfcount percent
0 1 14.78
1 2 0.00
2 3 8.80
3 4 59.00
4 5 0.00
5 6 0.00
答案 1 :(得分:0)
很有可能,由于Honeycomb,主线程中的网络操作受到限制。因此,当您已经在后台线程中时,调用execute()
方法非常有用。但是,如果您在主线程中,那么enqueue()
将很有帮助,因为它将在后台线程中处理网络请求并在主线程中返回响应。在这种情况下,您只需要传递一个回调即可获得响应。
正如您提到的,使用Okhttp是您朋友的建议。我也建议您使用Retrofit。这将使您的代码更美观,更可维护,并代表您处理线程。在后台,它使用Okhttp。更重要的是,自version 2.6.0起,您可以在Coroutines的帮助下感受到同步的体验。