私は Android Studio の初心者で、Ajax を使用してデータベース サーバーにデータを送信しています。照会する必要がある 2 種類の HashMap パラメーターがあります。1 つはフォーム内のすべての文字列値用で、もう 1 つは画像ファイル用ですが、新しい Aquery.ajax(//parameters) メソッドへの 1 回の呼び出しでそれらを送信できないようです。このメソッドのすべてのバリエーションは、1 つの Map タイプのみの使用を制限します。
ParamFile パラメータを別のクエリに入れようとしましたが、それでも機能しません。他のメソッド定義で「オブジェクトハンドラー」が何を意味するのか完全にはわからないためかもしれませんが。
私のメソッドのコードは次のとおりです。
private void AddNewEquipment()
{
try {
//Two types of HashMap files
HashMap<String, String> param = new HashMap<>();
HashMap<String, Bitmap> paramFile = new HashMap<>();
param.put("listing_title", ETitle.getText().toString());
param.put("listing_type", String.valueOf(IntEquipmentType));
param.put("listing_desc", EDesc.getText().toString());
param.put("listing_rate", ERate.getText().toString());
param.put("listing_mode", Mode);
paramFile.put("listing_img_file", bitmap); //this never gets queried
param.put("listing_date_from-x", AvailableFromDT);
param.put("listing_date_to-x", AvailableToDT);
param.put("listing_sell_mode", SellMode);
param.put("listing_display_mode", String.valueOf(IntAdType));
param.put("listing_status", String.valueOf(IntAdStatus));
AQuery aq = new AQuery(this);
aq.ajax(BASE_URL, param, JSONObject.class, new AjaxCallback<JSONObject>() {
@Override
public void callback(String url, JSONObject json, AjaxStatus status) {
super.callback(url, json, status);
Log.v("CALLBACK RECEIVED", String.valueOf(json) + status);
try {
if (json != null) {
JSONObject h = json.getJSONObject("success");
Log.v("SUCCESS", "DONE");
Toast.makeText(AddEquipment.this, "New Equipment Added", Toast.LENGTH_LONG).show();
exitEquipmentForm(); //method that opens the main activity again
} else {
Log.v("ERROR", "ERROR");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.method(AQuery.METHOD_POST).header("Authorization", "Bearer "+SessionHandler.getKeyToken()));
} catch (Exception e) {
e.printStackTrace();
}
}
null の JSON オブジェクトを取得し続けますが、それはすべてのパラメーターがクエリされるわけではない <--- 助けが必要な部分です。
コードのスニペットをさらに提供できることをうれしく思います。また、代替品があれば教えてください。