คำถามติดแท็ก android-networking

30
วิธีแก้ไข 'android.os.NetworkOnMainThreadException'?
ฉันพบข้อผิดพลาดขณะเรียกใช้โครงการ Android ของฉันสำหรับ RssReader รหัส: 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 ปีที่ผ่านมา คำถามสองส่วนจากนักพัฒนา iOS ที่กำลังเรียนรู้ Android ซึ่งทำงานในโครงการ Android ที่จะทำการร้องขอที่หลากหลายจาก JSON เป็นรูปภาพเพื่อสตรีมมิ่งการดาวน์โหลดเสียงและวิดีโอ: บน iOS ฉันใช้โครงการเครือข่าย AFNอย่างกว้างขวาง มีห้องสมุดที่เทียบเท่าสำหรับ Android? ฉันได้อ่านOkHTTPและRetrofit by Square และ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 …

19
Volley Android Networking Library
ฉันมีคำถามเล็กน้อยเกี่ยวกับการใช้วอลเลย์ในโครงการของฉัน: ไลบรารีนี้สามารถใช้ในโปรเจ็กต์ Java หรือ Android ได้หรือไม่? ฉันเห็นหลายสาขาที่นี่และไม่มีเอกสารว่าจะเริ่มต้นด้วยสาขาใด ควรใช้สาขาไหนเริ่มต้นด้วย? คุณรวมไลบรารีนี้ในโครงการของคุณเองได้อย่างไร? แนวทางใดดีกว่า: ทำให้ Volley เป็นโครงการห้องสมุดแบบสแตนด์อโลนและหมุนขวดและวางไว้ในโครงการของคุณหรือคัดลอกซอร์สโค้ดทั้งหมดภายในโครงการของคุณ

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 = …

3
รับรหัสสถานะการตอบกลับโดยใช้ Retrofit 2.0 และ RxJava
ฉันกำลังพยายามอัปเกรดเป็น Retrofit 2.0 และเพิ่ม RxJava ในโปรเจ็กต์ Android ของฉัน ฉันกำลังทำการเรียก 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() …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.