Mam fragment kodu, tworząc nowy ciąg następujące:Tworzenie nowego ciąg przez charset rzuca NoSuchMethodError (Android)
private final static Charset UNICODE_CHARSET = Charset.forName("UTF-8");
public String makeNewUnicodeString(byte[] octects) {
return new String(octects, UNICODE_CHARSET);
}
działa prawidłowo podczas testowania na moim komputerze. Ale kiedy go uruchomić na emulatorze Adroid, rzuca:
java.lang.NoSuchMethodError: java.lang.String.<init>
ale to działa:
public String makeUnicodeString(byte[] octects) {
try {
return new String(octects, "UTF-8")
} catch (UnsupportedEncodingException uee) {
// never throw.
}
}
Używam Adroid 2.2 API 8 Rev2.
Android SDK oferuje konstruktora choć [ 'String (tablica bajtów, Kodowanie)'] (http://developer.android.com/reference/java/lang /String.html#String(byte[],%20java.nio.charset.Charset)) –
@Mark - masz rację. Będę edytować moją odpowiedź. – Kal