android.net против java.net и различные классы URI

#android

#Android

Вопрос:

Я пишу приложение с объектом model, которое предоставит Restful интерфейс для некоторых веб-служб. Я заметил, что в Android есть java.net .URI и android.net .Класс URI. Каковы преимущества использования одного по сравнению с другим? Кто-нибудь еще сталкивался с этим и обнаружил, что один работает лучше другого?

В приведенном ниже коде я анализирую отдельные части URI в java.net Объект URI , чтобы я мог затем позвонить httpGet(URI uri) . Однако будут ли какие-либо преимущества в производительности или какие-либо преимущества вообще при использовании android.net классы или просто вызов HttpGet(строковый URL)?

 public class RestMethods {
    private String protocol;
    private String host;
    private Integer port;
    private URI uri;

    public String restGet(String path) throws MalformedURLException, InterruptedException, ExecutionException{
        StringBuilder builder = new StringBuilder();
        try {
            // Execute HTTP Post Request
            HttpClient httpclient = new DefaultHttpClient();
            HttpGet httpget = new HttpGet(uri);
            HttpResponse response = httpclient.execute(httpget);
            BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
            for (String line = null; (line = reader.readLine()) != null;) {
                builder.append(line).append("n");
            }
        } catch (ClientProtocolException e) {
            return "Client Protocol Exception Exception "   e.toString();
        } catch (IOException e) {
            return "IO Exception "   e.toString();
        }   
        return builder.toString();
    }
...
//Other rest methods, Getters, and setters down here
...
}
 

Ответ №1:

Да, будут преимущества в производительности. Команда Android не обязана соблюдать те же ограничения обратной совместимости при кодировании android.net пакета, что и при реализации java.net пакета. Поэтому они могут проводить лучшую оптимизацию.