2011-11-01 9 views
6

いくつかのWebサービスへのRestfulインターフェイスを公開するモデルオブジェクトを使ってアプリケーションを作成しています。私はAndroidにjava.net.URIとandroid.net.URIクラスがあることに気づいた。 1対1を使用する利点は何ですか?他の誰かがこれにぶつかって、誰かが他の人よりもうまくいくことを発見しましたか?android.netとjava.netと異なるURIクラス

以下のコードでは、URIの個々の部分をjava.net URIオブジェクトに解析しているので、httpGet(URI uri)を呼び出すことができます。ただし、android.netクラスを使用するか、単にhttpGet(String 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 
... 
} 

答えて

3

thisをご覧ください。これは助けになるはずです。

4

はい、パフォーマンス上の利点があります。アンドロイドチームはjava.netパッケージを実装しているときに行うandroid.netパッケージをコーディングする際に、後方互換性の制限と同じである必要はありません。したがって、より良い最適化を行うことができます。

関連する問題