- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Volley
android 库发出请求,但有时我会收到数据,有时会失败,我做错了什么吗?
这是我用来发出请求的代码
StringRequest strReq = new StringRequest(Request.Method.POST,
Config.EDIT_KERANJANG_URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d(TAG, " Response: " + response.toString());
try {
JSONObject jsonObject = new JSONObject(response);
Config.SUCCESS = jsonObject.getString("success");
Log.e("error", "nilai sukses=" + Config.SUCCESS);
if (Config.SUCCESS.equals("1")) {
SharedPreferences.Editor editor = getSharedPreferences("CODE_RESUME_EDITK", MODE_PRIVATE).edit();
editor.putString("code_resume_editk", "1");
editor.apply();
finish();
}
else {
Log.e("error", "tidak bisa ambil data 0");
}
} catch (Exception e) {
// TODO: handle exception
Log.e("error", "tidak bisa ambil data 1");
Toast.makeText(KeranjangEditActivity.this, "Gagal menyimpan!", Toast.LENGTH_LONG).show();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e(TAG, "Login Error: " + error.getMessage());
Toast.makeText(KeranjangEditActivity.this,
"Gagal menyimpan!", Toast.LENGTH_LONG).show();
}
})
{
@Override
protected Map<String, String> getParams() {
// Posting parameters to login url
Map<String, String> params = new HashMap<String, String>();
params.put("id_pesanan", sidPesanan);
params.put("quantity", sQuantity);
params.put("harga", sHarga);
return params;
}
};
这是我用来填充列表项的自定义适配器。
public class KeranjangAdapter extends BaseAdapter {
public static final int TYPE = 2;
private Context context;
private String idUserH,idProdukH,idKeranjangH,idFileH;
private LayoutInflater inflater;
private List<KeranjangModel> keranjangModels = new ArrayList<KeranjangModel>();
private int grandTotal = 0;
SessionManager sessionManager;
NumberFormat rupiahFormat;
private ColorDrawable[] vibrantLightColorList =
{
new ColorDrawable(Color.parseColor("#ffeead")),
new ColorDrawable(Color.parseColor("#93cfb3")),
new ColorDrawable(Color.parseColor("#fd7a7a")),
new ColorDrawable(Color.parseColor("#faca5f")),
new ColorDrawable(Color.parseColor("#1ba798")),
new ColorDrawable(Color.parseColor("#6aa9ae")),
new ColorDrawable(Color.parseColor("#ffbf27")),
new ColorDrawable(Color.parseColor("#d93947"))
};
public ColorDrawable getRandomDrawbleColor() {
int idx = new Random().nextInt(vibrantLightColorList.length);
return vibrantLightColorList[idx];
}
public KeranjangAdapter(Context ctx, List<KeranjangModel> keranjangModels) {
this.context = ctx;
this.keranjangModels = keranjangModels;
}
public int getGrandTotal(){
return grandTotal;
}
@Override
public int getCount() {
return keranjangModels.size();
}
@Override
public Object getItem(int location) {
return keranjangModels.get(location);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
sessionManager = new SessionManager(context);
HashMap<String, String> user = sessionManager.getUserDetails();
idUserH = user.get( SessionManager.KEY_ID );
if (inflater == null)
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null)
convertView = inflater.inflate(R.layout.activity_keranjang_list, null);
View vv = inflater.inflate(R.layout.activity_keranjang, parent, false);
final CheckBox checkBoxs = (CheckBox) vv.findViewById(R.id.checkAll);
parent.setDescendantFocusability(ListView.FOCUS_BLOCK_DESCENDANTS);
final ImageView thumbNail = (ImageView) convertView.findViewById(R.id.fotoProdukK);
final TextView spOrder = (TextView) convertView.findViewById(R.id.textInfoK);
final TextView hargaSatuan = (TextView) convertView.findViewById(R.id.hargaSatuanK);
final TextView harga = (TextView) convertView.findViewById(R.id.textInfoHargaK);
final TextView idKeranjang = (TextView) convertView.findViewById(R.id.idKeranjangK);
final TextView idProduk = (TextView) convertView.findViewById(R.id.idProdukK);
final TextView idFile = (TextView) convertView.findViewById(R.id.idFileK);
final TextView quantity = (TextView) convertView.findViewById(R.id.jumOrderK);
final ImageButton hapusK = (ImageButton) convertView.findViewById(R.id.hapusK);
final ImageButton editK = (ImageButton) convertView.findViewById(R.id.editK);
final TextView namaProduk = (TextView) convertView.findViewById(R.id.namaProdukK);
final CheckBox checkBox = (CheckBox) convertView.findViewById(R.id.checkItem);
final KeranjangModel m = keranjangModels.get(position);
Picasso.with(context)
.load(m.getFotoProdukK())
.placeholder(getRandomDrawbleColor())
.into(thumbNail);
int qty = Integer.parseInt(String.valueOf(m.getQuantityK()));
int harg = Integer.parseInt(String.valueOf(m.getHargaK()));
int id = Integer.parseInt(String.valueOf(m.getIdKeranjangK()));
int idp = Integer.parseInt(String.valueOf(m.getIdProdukK()));
int idf = Integer.parseInt(String.valueOf(m.getIdFileK()));
int hs = Integer.parseInt(String.valueOf(m.getHargaSatuanK()));
rupiahFormat = NumberFormat.getInstance(Locale.GERMANY);
String rupiah = rupiahFormat.format(harg);
quantity.setText(String.valueOf(qty));
spOrder.setText(m.getSpesifikasiOrderK());
hargaSatuan.setText(String.valueOf(hs));
harga.setText(rupiah);
idKeranjang.setText(String.valueOf(id));
idProduk.setText(String.valueOf(idp));
idFile.setText(String.valueOf(idf));
namaProduk.setText(m.getNamaProdukK());
checkBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
checkBoxs.setChecked(false);
Toast.makeText(context, "toas", Toast.LENGTH_SHORT).show();
}
});
return convertView;
}
感谢任何帮助。
最佳答案
我想这是与超时有关的问题。您可以为您发送的请求设置 RetryPolicy。用这个
strReq.setRetryPolicy(new DefaultRetryPolicy(5000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
我希望这能解决问题。
关于android - Request Volley,数据有时收到有时没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46130051/
我目前正在测试 Volley 库。但是当请求失败 (404) 时,它不会再次执行,或者至少没有错误。但是缺少数据。如果请求失败,这是重试请求的正确方法吗? 提前致谢 req.setRetryPolic
我是新来从事Volley和缓存工作的:P。尽管我已经看过许多与Volley进行图像缓存有关的文章和帖子,但是我仍然不清楚采用Volley进行图像缓存的最佳/首选方式。像磁盘缓存还是内存? Volley
我想使用 Volley 从我的 Android 应用发送请求。 我已经把它包含在 build.gradle 中了 dependencies { ... compile 'com.andr
我的目标是从另一个类调用 Volley,这是一种非常简洁、模块化的方式,即: VolleyListener newListener = new VolleyListener()
我的代码是: class MyService extends Service{ public void onCreate(){ new ImageLoader(mReque
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 4年前关闭。 Improve thi
我需要帮助来解决 Volley 库错误。我已使用 nodejs api 向服务器发送一些凭据以进行用户注册。在成功的情况下,当我的所有凭据对于创建新用户帐户都是唯一的时,它会向我显示所有响应等的所有内
我正在尝试完善我的应用程序中的错误处理,但我找不到 Volley 触发某些错误的集中位置以及原因。例如,我想知道如果我的请求的状态代码是 500 或更大,它肯定会触发 ServerError,但我似乎
当我在调试器中运行该方法时,数据按预期显示,但是每当我尝试使用它执行任何操作时,parentObject 的值都会返回为 null。 我只是想从服务器获取响应并将其存储为 JSONObject 以便在
我正在使用 Android Volley 缓存请求,这在我使用 GET 时工作正常,但由于某些原因我改用 POST。现在我想用不同的 POST 数据缓存相同的 URL。 请求 1 -> URL1,PO
我的情况是使用 Android-volley至 POST我的 json 对象,我可以成功发布所有内容,我的数据在服务器中可见,但服务器响应为 String不像 json ,这就是出现错误的原因。 co
我正在使用 volley 从 REST api 解析电影详细信息,并将解析的数据保存在名为 detailsMovies 的对象数组列表中。但是我无法在 onResponse 方法之外访问 ArrayL
我想知道如何解决这个问题。已完成代码的研究和替换,但问题仍然存在。 这是我使用 volley 的代码。 private void Regist(){ loading.setVisibility
如何创建一个单独的类,在其中定义所有关于 volley在另一个 Activity 中,我们直接传递 URL、CONTEXT 和 Get Response... 最佳答案 首先在Activity中创建回
我正在使用 volley 库并以 XML 格式获取响应。我想知道我们如何使用/volley 库解析响应。谢谢。 最佳答案 StringRequest req = new StringReque
当我在android studio中搜索 Volley 时,同时获取com.mcxiaoke.volley:library:1.0.19和com.mcxiaoke.volley:library-aar
我是 volley 和 android 的新手,我已经用 gradle 安装了 volley 并做了与官方教程相同的操作。但是没有响应,这意味着 Errorlistener 和 Responselis
当我在 Volley 中发出请求时,我收到 com.android.volley.ServerError 和响应代码 400。 我正在做这样的事情(通用示例代码): final String para
我引用了http://www.androidhive.info/2016/02/android-push-notifications-using-gcm-php-mysql-realtime-chat
当我将以下行添加到依赖项的 build.gradle 行时,Android Studio 显示此错误消息:compile 'com.android.volley:volley:1.0.0' apply
我是一名优秀的程序员,十分优秀!