#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
пакета. Поэтому они могут проводить лучшую оптимизацию.