Questions tagged «android-networking»

30
如何修复'android.os.NetworkOnMainThreadException'?
运行RssReader的Android项目时出现错误。 码: URL url = new URL(urlToRssFeed); SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser parser = factory.newSAXParser(); XMLReader xmlreader = parser.getXMLReader(); RssHandler theRSSHandler = new RssHandler(); xmlreader.setContentHandler(theRSSHandler); InputSource is = new InputSource(url.openStream()); xmlreader.parse(is); return theRSSHandler.getFeed(); 它显示以下错误: android.os.NetworkOnMainThreadException 如何解决此问题?

10
Android网络库的比较:OkHTTP,Retrofit和Volley [关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 3年前关闭。 来自学习Android的iOS开发人员的两部分问题,该问题涉及一个Android项目,该项目将提出从JSON到图像到音频和视频流下载的各种请求: 在iOS上,我广泛使用了AFNetworking项目。是否有适用于Android的等效库? 我已经阅读了Square的OkHTTP和Retrofit,以及Volley,但还没有与它们一起开发的经验。我希望有人可以为每个案例提供一些最佳用例的具体示例。根据我的阅读,似乎OkHTTP是这三个中最强大的,并且可以满足该项目的要求(如上所述)。

21
广播接收器,用于在Android应用中检查互联网连接
我正在开发一个用于检查互联网连接的Android广播接收器。 问题是我的广播接收器被调用了两次。我希望只有在网络可用时才能调用它。如果不可用,我不想收到通知。 这是广播接收器 public class NetworkChangeReceiver extends BroadcastReceiver { @Override public void onReceive(final Context context, final Intent intent) { final ConnectivityManager connMgr = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); final android.net.NetworkInfo wifi = connMgr .getNetworkInfo(ConnectivityManager.TYPE_WIFI); final android.net.NetworkInfo mobile = connMgr .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if (wifi.isAvailable() || mobile.isAvailable()) { // Do something Log.d("Network Available ", "Flag …

19
Volley Android网络库
在我的项目中使用Volley时,我有几个问题: 可以在任何Java项目或仅Android中使用该库吗? 我在这里看到多个分支,而没有关于哪个分支开始的文档。我应该从哪个分支开始? 您如何将此库集成到自己的项目中?哪种方法更好:将Volley作为一个独立的库项目并旋转一个jar并将其放入您的项目中,或将所有源代码复制到项目中?

8
使用okHttp信任所有证书
为了进行测试,我试图将套接字工厂添加到我的okHttp客户端中,该客户端工厂在设置代理时会信任所有内容。这已经做过很多次了,但是我对可信任套接字工厂的实现似乎缺少了一些东西: class TrustEveryoneManager implements X509TrustManager { @Override public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException { } @Override public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException { } @Override public java.security.cert.X509Certificate[] getAcceptedIssuers() { return null; } } OkHttpClient client = new OkHttpClient(); final InetAddress ipAddress = InetAddress.getByName("XX.XXX.XXX.XXX"); // some IP …

3
使用Retrofit 2.0和RxJava获取响应状态代码
我正在尝试升级到Retrofit 2.0,并在我的android项目中添加RxJava。我正在进行api调用,并希望在服务器出现错误响应的情况下检索错误代码。 Observable<MyResponseObject> apiCall(@Body body); 在RxJava调用中: myRetrofitObject.apiCall(body).subscribe(new Subscriber<MyResponseObject>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { } @Override public void onNext(MyResponseObject myResponseObject) { //On response from server } }); 在Retrofit 1.9中,RetrofitError仍然存在,我们可以通过执行以下操作获取状态: error.getResponse().getStatus() 如何使用RxJava使用Retrofit 2.0?

6
如何确定网络类型是2G,3G还是4G
我的应用程序上有一个指示器来显示网络类型(2G或3G或4G),但是获得网络类型后,我如何知道它应该属于哪个速度类别? 我知道如何检测网络类型: private TelephonyManager telephonyManager; telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); CurrentNetworkType = telephonyManager.getNetworkType(); 给定可能的返回值: // public static final int NETWORK_TYPE_1xRTT // Since: API Level 4 // Current network is 1xRTT // Constant Value: 7 (0x00000007) // // public static final int NETWORK_TYPE_CDMA // Since: API Level 4 // Current network is …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.