安卓原生与 NleCloud 通信最简封装 定义公共属性 123String BASE_URL = "https://api.nlecloud.com/"; // 新大陆云平台地址String ACCESS_TOKEN = "XXXXXXXXXX"; // AccessTokenString DEVICE_ID = "XXXXXX"; // 设备 ID HTTP 请求函数封装 使用 HttpClient 123456789101112131415161718192021222324252627282930313233343536373839404142434445/** * HTTP GET 请求 * @param api API path * @return HTTP response */String HTTP_GET(String api) { try { HttpClient httpClient = new DefaultHttpClient(); HttpGet httpGet = new HttpGet(BASE_URL + api); httpGet.addHeader("AccessToken", ACCESS_TOKEN); HttpResponse response = httpClient.execute(httpGet); if (response.getStatusLine().getStatusCode() == 200) { HttpEntity entity = response.getEntity(); return EntityUtils.toString(entity); } } catch (IOException e) { e.printStackTrace(); } return "";}/** * HTTP POST 请求 * @param api API path * @param body Request body * @return HTTP response */String HTTP_POST(String api, String body) { try { HttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(BASE_URL + api); httpPost.addHeader("AccessToken", ACCESS_TOKEN); httpPost.addHeader("Content-Type", "application/json"); HttpEntity payloadEntity = new StringEntity(body); httpPost.setEntity(payloadEntity); HttpResponse response = httpClient.execute(httpPost); if (response.getStatusLine().getStatusCode() == 200) { HttpEntity entity = response.getEntity(); return EntityUtils.toString(entity); } } catch (Exception e) { e.printStackTrace(); } return "";} 使用 1234567891011121314151617/** * 获取传感器/执行器值 * @param api_tag 设备 API Tag * @return 传感器/执行器值 */String fetchSensor(String api_tag) { return gson.fromJson(HTTP_GET(String.format(Locale.CHINA, "devices/%s/Sensors/%s", DEVICE_ID, api_tag)), SensorResponse.class).getResultObj().getValue();}/** * 控制执行器 * @param api_tag 执行器 API Tag * @param value 开关状态 */void control(String api_tag, int value) { Log.i("CONTROL", HTTP_POST(String.format(Locale.CHINA, "Cmds?deviceId=%s&apiTag=%s", DEVICE_ID, api_tag), String.valueOf(value)));}