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

9
เปลี่ยนระยะเวลาการหมดเวลาวอลเล่ย์
ฉันใช้กรอบการทำงานใหม่ของ Volley สำหรับ Android เพื่อส่งคำขอไปยังเซิร์ฟเวอร์ของฉัน แต่มันจะหมดเวลาก่อนที่จะได้รับคำตอบแม้ว่ามันจะตอบสนอง ฉันพยายามเพิ่มรหัสนี้: HttpConnectionParams.setConnectionTimeout(httpParams, 5000); HttpConnectionParams.setSoTimeout(httpParams, timeoutMs); ในHttpClientStackเฟรมเวิร์กของ Volley ให้เป็นจำนวนเต็มที่แตกต่างกัน (50000) แต่ยังคงหมดเวลาก่อน 50 วินาที มีวิธีการเปลี่ยนการหมดเวลาเป็นค่ายาวหรือไม่?

11
java.lang.IllegalStateException: แฟรกเมนต์ไม่ได้แนบกับกิจกรรม
ฉันไม่ค่อยได้รับข้อผิดพลาดนี้ขณะทำการเรียก API java.lang.IllegalStateException: Fragment not attached to Activity ฉันลองวางโค้ดด้านในisAdded()เพื่อตรวจสอบว่ามีการเพิ่มแฟรกเมนต์ให้กับกิจกรรมของมันหรือไม่ แต่ฉันก็ยังไม่ค่อยได้รับข้อผิดพลาดนี้ ฉันไม่เข้าใจว่าทำไมฉันยังได้รับข้อผิดพลาดนี้ ฉันจะป้องกันได้อย่างไร ข้อผิดพลาดในการแสดงของมันในบรรทัด - cameraInfo.setId(getResources().getString(R.string.camera_id)); ด้านล่างนี้คือตัวอย่างการเรียก api ที่ฉันกำลังทำ SAPI.getInfo(getActivity(), new APIResponseListener() { @Override public void onResponse(Object response) { cameraInfo = new SInfo(); if(isAdded()) { cameraInfo.setId(getResources().getString(R.string.camera_id)); cameraInfo.setName(getResources().getString(R.string.camera_name)); cameraInfo.setColor(getResources().getString(R.string.camera_color)); cameraInfo.setEnabled(true); } } @Override public void onError(VolleyError error) { mProgressDialog.setVisibility(View.GONE); if (error instanceof …

8
ฉันสามารถขอซิงโครนัสกับวอลเลย์ได้หรือไม่?
สมมติว่าฉันอยู่ในบริการที่มีเธรดพื้นหลังอยู่แล้ว ฉันสามารถร้องขอโดยใช้วอลเลย์ในเธรดเดียวกันเพื่อให้การโทรกลับเกิดขึ้นพร้อมกันได้หรือไม่? มี 2 ​​เหตุผลสำหรับสิ่งนี้: - ประการแรกฉันไม่ต้องการเธรดอื่นและจะเป็นการสิ้นเปลืองในการสร้าง - ประการที่สองถ้าฉันอยู่ใน ServiceIntent การดำเนินการของเธรดจะเสร็จสิ้นก่อนการติดต่อกลับและด้วยเหตุนี้ฉันจะไม่ได้รับคำตอบจาก Volley ฉันรู้ว่าฉันสามารถสร้าง Service ของตัวเองที่มีเธรดบางส่วนที่มี runloop ที่ฉันสามารถควบคุมได้ แต่ก็เป็นที่พึงปรารถนาที่จะมีฟังก์ชันนี้ในการวอลเลย์ ขอบคุณ!

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

11
ข้อผิดพลาด: ไม่พบการกำหนดค่าด้วยชื่อ "ค่าเริ่มต้น" ใน Android Studio
ฉันใช้คลังวอลเลย์เพื่อดำเนินการเครือข่ายใน Android ดังนั้นฉันจึงพยายามเพิ่มไลบรารีนี้ในโปรเจ็กต์ของฉันซึ่งสร้างใน Android Studio และระบบ gradle ฉันเพิ่มคลังวอลเลย์ในโครงการของฉัน แต่เมื่อฉันซิงค์กับ gradle ฉันก็ได้รับข้อความแสดงข้อผิดพลาด ฉันลองใช้คำตอบทั้งหมดที่ฉันเห็นที่นี่ แต่ไม่มีอะไรได้ผลสำหรับฉัน ข้อความแสดงข้อผิดพลาด : ไม่พบการกำหนดค่าด้วยชื่อ 'ค่าเริ่มต้น' ใน Android Studio วอลเล่ย์ / build.gradle apply plugin: 'android-library' android { compileSdkVersion 19 buildToolsVersion '19.0.1' sourceSets { defaultConfig { minSdkVersion 8 targetSdkVersion 19 } main { assets.srcDirs = ['assets'] res.srcDirs = ['res'] aidl.srcDirs …

5
การทำงาน POST Multipart Request ด้วย Volley และไม่มี HttpEntity
อย่างไรก็ตามนี่ไม่ใช่คำถามจริงๆ แต่ฉันต้องการแบ่งปันรหัสการทำงานของฉันที่นี่เพื่อเป็นข้อมูลอ้างอิงเมื่อคุณต้องการ อย่างที่เราทราบกันดีว่าHttpEntityเลิกใช้ API22 และถูกลบออกไปตั้งแต่ API23 ในขณะนี้เราไม่สามารถเข้าถึงHttpEntity Reference บน Android Developer ได้อีกต่อไป (404) ดังนั้นต่อไปนี้เป็นตัวอย่างโค้ดการทำงานของฉันสำหรับการโพสต์ Multipart ขอกับวอลเล่ย์และไม่มี HttpEntity มันใช้งานได้ทดสอบด้วยAsp.Net Web API. แน่นอนว่าโค้ดอาจเป็นเพียงตัวอย่างพื้นฐานที่โพสต์ไฟล์ที่วาดได้สองไฟล์ที่มีอยู่นอกจากนี้ยังไม่ใช่ทางออกที่ดีที่สุดสำหรับทุกกรณีและไม่ใช่การปรับแต่งที่ดี MultipartActivity.java: package com.example.multipartvolley; import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.support.v4.content.ContextCompat; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; import com.android.volley.NetworkResponse; import com.android.volley.Response; import com.android.volley.VolleyError; …

13
วิธีตั้งค่าส่วนหัวที่กำหนดเองใน Volley Request
จะตั้งค่าส่วนหัวที่กำหนดเองสำหรับคำขอวอลเลย์ได้อย่างไร? ในขณะนี้มีวิธีตั้งค่าเนื้อหาสำหรับคำขอ POST ฉันขอ GET ง่ายๆ แต่ฉันต้องส่งส่วนหัวที่กำหนดเองไปด้วย ฉันไม่เห็นว่าคลาส JsonRequest รองรับอย่างไร เป็นไปได้หรือไม่

9
วิธีส่งโพสต์แบบ“ หลายส่วน / แบบฟอร์มข้อมูล” ใน Android ด้วย Volley
มีใครสามารถส่งmultipart/form-dataPOST ใน Android ด้วย Volley ได้สำเร็จหรือยัง? ฉันไม่ประสบความสำเร็จในการอัปโหลดimage/pngโดยใช้คำขอ POST ไปยังเซิร์ฟเวอร์ของเราและฉันอยากรู้ว่ามีใครบ้าง ฉันเชื่อว่าวิธีเริ่มต้นในการดำเนินการนี้คือการลบล้างpublic byte[] getPostBody()ในRequest.javaคลาสและแนบFileคีย์ส่วนหัวว่างสำหรับขอบเขต อย่างไรก็ตามการแปลงไฟล์ของฉันเป็นไฟล์StringสำหรับMap<String, String> postParamsแล้วเข้ารหัสอีกครั้งดูเหมือนจะป้านและไม่สวยงามจริงๆ นอกจากนี้ฉันยังไม่ประสบความสำเร็จในความพยายามของฉัน นี่เป็นสิ่งเดียวที่ทำให้เราไม่เปลี่ยนมาใช้ห้องสมุดนี้ อย่างไรก็ตามความคิดและคำตอบทั้งหมดเป็นที่ชื่นชมอย่างยิ่ง ขอขอบคุณสำหรับความช่วยเหลือของคุณ.

17
นำเข้า Android วอลเลย์ไปยัง Android Studio
ฉันต้องการใช้คลังวอลเลย์ของ Google ฉันใช้ Android Studio และรู้วิธีเพิ่มไลบรารี. jar แต่ฉันไม่สามารถสร้างไลบรารี. jar ด้วยไฟล์วอลเลย์: https://android.googlesource.com/platform/frameworks/volley นี่คือสิ่งที่ฉันทำ: (ใช้ windows เจ็ด) git clone https://android.googlesource.com/platform/frameworks/volley cd volley android.bat update project -p . --target android-19 ant.jar jar และฉันได้ผลลัพธ์: เกิดข้อยกเว้นจาวา เกิดอะไรขึ้น? ฉันจะเพิ่มไลบรารี not. jar ได้อย่างไร

8
ส่งคำขอ POST พร้อมข้อมูล JSON โดยใช้ Volley
ฉันต้องการส่งJsonObjectRequestคำขอใหม่: ฉันต้องการรับข้อมูล JSON (การตอบสนองจากเซิร์ฟเวอร์): ตกลง ฉันต้องการส่งข้อมูลที่จัดรูปแบบ JSON พร้อมคำขอนี้ไปยังเซิร์ฟเวอร์ JsonObjectRequest request = new JsonObjectRequest( Request.Method.POST, "myurl.com", null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { //... } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { //... } }) { @Override protected Map<String,String> getParams() { // something to do …

2
นโยบายการลองส่งคำขอ Volley ไม่ได้พิจารณาการหมดเวลา
ฉันตั้งค่า 1500 เป็นinitialTimeoutMsในDefaultRetryPolicyเป็นด้านล่าง แต่ไม่ได้พิจารณาการหมดเวลา: request.setRetryPolicy(new DefaultRetryPolicy(1500 , DefaultRetryPolicy.DEFAULT_MAX_RETRIES , DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); ฉันตัดการเชื่อมต่อ WiFi บนอุปกรณ์ของฉันเพื่อทดสอบว่าหมดเวลาและฉันเห็นเวลาเหล่านี้ในLogcat : 2019-12-16 14:28:15.892 I/MyClass: request sent 2019-12-16 14:28:35.930 I/MyClass: request caught onError ใช้เวลามากกว่า 20 วินาทีในขณะที่ฉันคาดว่าจะจับทั้ง onResponse หรือ onError หลังจาก 1.5 วินาที !!!
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.