在android的url中使用字符串变量代替ip地址?

7y4bm7vi  于 2021-07-03  发布在  Java
关注(0)|答案(2)|浏览(439)

我想用字符串变量代替url调用中的ip地址。我想在应用程序中用ip地址和端口号登录。然后我想在共享首选项中保存这个ip地址,然后在url调用中我想在共享首选项中使用那个存储ip地址
我得到这样的共享首选项的ip地址。

  1. SharedPreferences pref = getActivity().getSharedPreferences("MyPref", MODE_PRIVATE);
  2. ip= pref.getString("key_ip", null); // getting Float
  3. Log.e("ip: ", "> " + ip);

然后我使用如下方法调用url。

  1. public static String off33() {
  2. StringBuffer stringBuffer = new StringBuffer("");
  3. BufferedReader bufferedReader = null;
  4. try {
  5. HttpClient httpClient = new DefaultHttpClient();
  6. HttpGet httpGet = new HttpGet();
  7. URI uri = new URI("http://10.1.1.82:80/outlet?3=ON");
  8. httpGet.setURI(uri);
  9. httpGet.addHeader(BasicScheme.authenticate(
  10. new UsernamePasswordCredentials("admin", "kirti123"),
  11. HTTP.UTF_8, false));
  12. HttpResponse httpResponse = httpClient.execute(httpGet);
  13. InputStream inputStream = httpResponse.getEntity().getContent();
  14. bufferedReader = new BufferedReader(new InputStreamReader(
  15. inputStream));
  16. String readLine = bufferedReader.readLine();
  17. while (readLine != null) {
  18. stringBuffer.append(readLine);
  19. stringBuffer.append("\n");
  20. readLine = bufferedReader.readLine();
  21. }
  22. } catch (Exception e) {
  23. // TODO: handle exception
  24. } finally {
  25. if (bufferedReader != null) {
  26. try {
  27. bufferedReader.close();
  28. } catch (IOException e) {
  29. // TODO: handle exception
  30. }
  31. }
  32. }
  33. return stringBuffer.toString();
  34. }

所以,我想在方法10.1.1.82中使用ip字符串代替url,这意味着我想这样使用。

  1. URI uri = new URI("http://ip:80/outlet?3=ON");

ip是一个字符串变量,在这个变量中我得到10.1.1.82
所以我怎么不能用这个?

q9yhzks0

q9yhzks01#

您也可以这样做:

  1. String base = "http://%1$s:80/outlet?3=ON";
  2. String address = String.format(base,ip);
  3. URI uri = new URI(address);
biswetbf

biswetbf2#

只需连接字符串

  1. URI uri = new URI("http://" + ip + ":80/outlet?3=ON");

相关问题