2010-10-13 2 views

ответ

7

Это, как правило, класс, который имеет только статические методы (возможно, с частным конструктором и отмечено абстрактными/окончательными для предотвращения создания экземпляра/подклассами). Он существует только для того, чтобы упростить использование других классов - например, предоставляя кучу статических методов для работы с значениями String, выполняя дополнительные действия, которые String сам не поддерживает.

Классы полезности обычно не работают над классами, которыми вы управляете, поскольку в противном случае вы обычно вводите поведение непосредственно в этот класс. Они не ужасно опрятные в терминах ОО, но все равно могут быть полезными.

+0

Обычно отмеченные 'final' в отличие от' abstract' –

+0

@ JT-gilkeson: Абстрактный имеет то преимущество, что новый XYZ (...) будет * очевидно * не работает. –

+0

Абстракция _obviosuly_ указывает, что класс должен быть расширен - использование этого ключевого слова вводит в заблуждение, поэтому подход, используемый Sun, Oracle и Google, заключается в том, чтобы не маркировать абстрактные классы. Обычный подход - это 'final' класс с конструктором' private'. В качестве примера см. «Java.lang.Math». –

0

Там есть утилита пакет, java.util, который содержит кучу вещей, как дата, время, струнные tokenizers ... Не уверен, что это то, что вы говорите.

1

Для продления ответа Йона Скита java.lang.Math, java.util.Collections и java.util.Arrays являются типичными примерами для таких классов.

0

Его класс со всеми статическими методами и без элементов-членов.

0

общественного класса Utils {

public static boolean isNetworkAvailable(Context context) { 
    ConnectivityManager connectivityManager = (ConnectivityManager) context 
      .getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo activeNetworkInfo = connectivityManager 
      .getActiveNetworkInfo(); 
    return activeNetworkInfo != null && activeNetworkInfo.isConnected(); 
} 

public static void unlockScreenOrientation(Activity activity) { 
    activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); 
} 

public static void lockScreenOrientation(Activity activity) { 
    int currentOrientation = activity.getResources().getConfiguration().orientation; 
    if (currentOrientation == Configuration.ORIENTATION_PORTRAIT) 
    { 
     activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
    } 
    else 
    { 
     activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
    } 
} 
// Get Http Post response 
@Nullable 
public static String getHttpResponse(String url, List<NameValuePair> nameValuePairs) { 
    HttpClient httpClient = new DefaultHttpClient(); 

    HttpPost httpPost = new HttpPost(url); 
    UrlEncodedFormEntity entity; 
    try { 
     entity = new UrlEncodedFormEntity(nameValuePairs); 
     httpPost.setEntity(entity); 
     HttpResponse response = httpClient.execute(httpPost); 

     HttpEntity resEntity = response.getEntity(); 
     String res = EntityUtils.toString(resEntity); 
     return res; 
    } catch (UnsupportedEncodingException e) { 
     e.printStackTrace(); 
    } catch (ClientProtocolException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    return null; 
} 

public static void CopyStream(InputStream is, OutputStream os) { 
    final int buffer_size=1024; 
    try 
    { 
     byte[] bytes=new byte[buffer_size]; 
     for(;;) 
     { 
      int count=is.read(bytes, 0, buffer_size); 
      if(count==-1) 
       break; 
      os.write(bytes, 0, count); 
     } 
    } 
    catch(Exception ex){} 
} 

public static JSONObject getJsonObjectFromXmlResponse(String xmlString) { 
    JSONObject objectJson = new JSONObject(); 
    //JSONArray arrayJson = new JSONArray(); 

    XmlPullParser parser = Xml.newPullParser(); 
    try { 
     parser.setInput(new StringReader(xmlString)); 
     int eventType = parser.getEventType(); 

     while (eventType != XmlPullParser.END_DOCUMENT) { 
      String name; 
      switch (eventType) { 
       case XmlPullParser.START_TAG: 
        name = parser.getName(); 
        if (name.equalsIgnoreCase("string")) { 
         String yourValue = parser.nextText(); 
         //arrayJson = new JSONArray(yourValue); 
         objectJson = new JSONObject(yourValue); 
        } 
        break; 
      } 
      eventType = parser.next(); 
     } 
    } catch (XmlPullParserException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
    return objectJson; 
} 

}

+0

добавить некоторое объяснение – HaveNoDisplayName

 Смежные вопросы

  • Нет связанных вопросов^_^