Use*_*er3 5 java android-studio
我将一些数据发布到webservice这里是片段:
try {
response = UniversalHttpUrlConnection.postJSONObject(ctx.getResources().getString(R.string.delete_one), UniversalHashMapToJSONObjectParams.createObjectForParams(deleteMap));
System.out.println("Response from del task" + response);
if(response != null)
JSONObject jObj = new JSONObject(response);
System.out.println("Deletion" + DatabaseHandler.getInstance(ctx).removeReceipt(receipt));
} catch (JSONException report) {
report.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
我的IDE抱怨:
if(response != null)
JSONObject jObj = new JSONObject(response);
Run Code Online (Sandbox Code Playgroud)
确切的陈述是:不是声明 - 为什么会发生这种情况,我在这里遗漏了什么?
如果我使用:
if (response != null) {
JSONObject jObj = new JSONObject(response);
}
Run Code Online (Sandbox Code Playgroud)
IDE没有抱怨.
详情请参阅我的完整方法:
public static void deleteReceipt(Receipt receipt, Context ctx) {
SessionManager sessionManager;
sessionManager = new SessionManager(ctx);
HashMap<String, String> map = sessionManager.getUserDetails();
String email = map.get("email");
if (CheckConnection.isNetworkConnected(ctx)) {
System.out.println("local id " + receipt._id);
Receipt rec = DatabaseHandler.getInstance(ctx).getReceipt(receipt._id);
String webReceiptId = rec.web_receipt_id;
System.out.println("WebReceipt ID = " + webReceiptId);
if (webReceiptId.equalsIgnoreCase("dummy")) {
// Delete from local
System.out.println("Deletion" + DatabaseHandler.getInstance(ctx).removeReceipt(receipt));
} else {
// delete from server
// delete from local
HashMap<String, String> deleteMap = new HashMap<>();
deleteMap.put("email", email);
deleteMap.put("type", "Android");
deleteMap.put("key", Utility.getencryptkey());
deleteMap.put("task_id", webReceiptId);
deleteMap.put("receipt_id", String.valueOf(receipt._id));
String response = null;
try {
response = UniversalHttpUrlConnection.postJSONObject(ctx.getResources().getString(R.string.delete_one),
UniversalHashMapToJSONObjectParams.createObjectForParams(deleteMap));
System.out.println("Response from del task" + response);
if (response != null) {
JSONObject jObj = new JSONObject(response);
}
System.out.println("Deletion" + DatabaseHandler.getInstance(ctx).removeReceipt(receipt));
} catch (JSONException report) {
report.printStackTrace();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
Era*_*ran 12
变量声明,例如JSONObject jObj = ...必须在块内.
因此:
if(response != null) {
JSONObject jObj = new JSONObject(response);
}
Run Code Online (Sandbox Code Playgroud)
要么
JSONObject jObj = ...
if(response != null)
jObj = new JSONObject(response);
Run Code Online (Sandbox Code Playgroud)
是有效的.
| 归档时间: |
|
| 查看次数: |
683 次 |
| 最近记录: |