2017-09-05 37 views
1

我想在url调用中使用字符串变量来代替ip地址。 我想在应用程序中使用IP地址和端口号进行登录。那么我想保存在共享喜好这个IP地址,然后在URL调用我想要在共享喜好中使用该商店的IP地址在android的url中使用字符串变量来代替ip地址?

我得到这样的共享首选项的IP地址。

SharedPreferences pref = getActivity().getSharedPreferences("MyPref", MODE_PRIVATE); 


    ip= pref.getString("key_ip", null);   // getting Float 

    Log.e("ip: ", "> " + ip); 

然后我使用这种方法调用url。

public static String off33() { 
     StringBuffer stringBuffer = new StringBuffer(""); 
     BufferedReader bufferedReader = null; 
     try { 
      HttpClient httpClient = new DefaultHttpClient(); 
      HttpGet httpGet = new HttpGet(); 

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


      httpGet.setURI(uri); 
      httpGet.addHeader(BasicScheme.authenticate(
        new UsernamePasswordCredentials("admin", "kirti123"), 
        HTTP.UTF_8, false)); 

      HttpResponse httpResponse = httpClient.execute(httpGet); 
      InputStream inputStream = httpResponse.getEntity().getContent(); 
      bufferedReader = new BufferedReader(new InputStreamReader(
        inputStream)); 

      String readLine = bufferedReader.readLine(); 
      while (readLine != null) { 
       stringBuffer.append(readLine); 
       stringBuffer.append("\n"); 
       readLine = bufferedReader.readLine(); 
      } 
     } catch (Exception e) { 
      // TODO: handle exception 
     } finally { 
      if (bufferedReader != null) { 
       try { 
        bufferedReader.close(); 
       } catch (IOException e) { 
        // TODO: handle exception 
       } 
      } 
     } 
     return stringBuffer.toString(); 
    } 

所以,我想方法使用IP串到位URL的10.1.1.82手段我想用这样的。

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

IP是一个字符串变量,这个变量中,我得到10.1.1.82

所以我怎么不能使用呢?

回答

1

只需在连接字符串

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

日Thnx了很多...! –

0

你也可以这样来做:

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