Android java.lang.IllegalArgumentException: no char field 'exponential' in android 2.3

I want to use a file system to store and retrieve data. My code works fine in the latest version, such as Android 4.1 and 4.4. But it does not work, and it gives an error in Android 2.3. I am writing an object from another class, and the object is an Arraylist, and also reading an object from the same class. Please help me. Thanks in advance.

Below is my class .

package com.app.utils;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.text.NumberFormat;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Map.Entry;
import java.util.Set;

import android.content.Context;
import android.util.Log;

 public final class StorageHelper
 {  
public static Set<String> rec_news = new LinkedHashSet<String>();

public StorageHelper() {
    super();
}

public static void writeObject(Context context, String key, Object object)
        throws IOException, ClassNotFoundException {
    FileOutputStream fos = context.openFileOutput(key, Context.MODE_PRIVATE);
    ObjectOutputStream oos = new ObjectOutputStream(fos);

     /*NumberFormat f = NumberFormat.getInstance(loc);
     if (f instanceof DecimalFormat) {
         ((DecimalFormat) f).setDecimalSeparatorAlwaysShown(true);
     }*/

    //DecimalFormatSymbols s = new DecimalFormatSymbols()

        oos.writeObject(object); // error on this line for android 2.3 //object is Arraylist
    oos.close();
    fos.close();

}

public static Object readObject(Context context, String key)
        throws IOException, ClassNotFoundException {

    FileInputStream fis = context.openFileInput(key);
    ObjectInputStream ois = new ObjectInputStream(fis);
    Object object = ois.readObject();

    return object;
}
}

Mistake

 01-22 11:29:36.967: E/AndroidRuntime(6733): FATAL EXCEPTION: main
 01-22 11:29:36.967: E/AndroidRuntime(6733): java.lang.IllegalArgumentException: no char field 'exponential'
 01-22 11:29:36.967: E/AndroidRuntime(6733):    at java.io.EmulatedFields.put(EmulatedFields.java:459)
  01-22 11:29:36.967: E/AndroidRuntime(6733):   at java.io.EmulatedFieldsForDumping.put(EmulatedFieldsForDumping.java:83)
 01-22 11:29:36.967: E/AndroidRuntime(6733):    at java.text.DecimalFormatSymbols.writeObject(DecimalFormatSymbols.java:591)
 01-22 11:29:36.967: E/AndroidRuntime(6733):    at java.lang.reflect.Method.invokeNative(Native Method)
 01-22 11:29:36.967: E/AndroidRuntime(6733):    at java.lang.reflect.Method.invoke(Method.java:507)
 01-22 11:29:36.967: E/AndroidRuntime(6733):    at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1219)
 01-22 11:29:36.967: E/AndroidRuntime(6733):    at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1575)
 01-22 11:29:36.967: E/AndroidRuntime(6733):    at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1847)
 01-22 11:29:36.967: E/AndroidRuntime(6733):    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1689)
 01-22 11:29:36.967: E/AndroidRuntime(6733):    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1653)
 01-22 11:29:36.967: E/AndroidRuntime(6733):    at java.io.ObjectOutputStream.writeFieldValues(ObjectOutputStream.java:1062)
 01-22 11:29:36.967: E/AndroidRuntime(6733):    at java.io.ObjectOutputStream.writeFields(ObjectOutputStream.java:1008)
  01-22 11:29:36.967: E/AndroidRuntime(6733):   at java.text.DecimalFormat.writeObject(DecimalFormat.java:1215)
  01-22 11:29:36.967: E/AndroidRuntime(6733):   at java.lang.reflect.Method.invokeNative(Native Method)
  01-22 11:29:36.967: E/AndroidRuntime(6733):   at java.lang.reflect.Method.invoke(Method.java:507)
  01-22 11:29:36.967: E/AndroidRuntime(6733):   at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1219)
 01-22 11:29:36.967: E/AndroidRuntime(6733):    at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1575)
 01-22 11:29:36.967: E/AndroidRuntime(6733):    at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1847)
 01-22 11:29:36.967: E/AndroidRuntime(6733):    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1689)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1653)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.io.ObjectOutputStream.writeFieldValues(ObjectOutputStream.java:1143)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:413)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1241)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1205)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1575)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1847)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1689)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1653)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.io.ObjectOutputStream.writeFieldValues(ObjectOutputStream.java:1143)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:413)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1241)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1575)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1847)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1689)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1653)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.util.ArrayList.writeObject(ArrayList.java:651)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.lang.reflect.Method.invokeNative(Native Method)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.lang.reflect.Method.invoke(Method.java:507)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1219)
 01-22 11:29:36.967: E/AndroidRuntime(6733):    at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1575)
 01-22 11:29:36.967: E/AndroidRuntime(6733):    at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1847)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1689)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1653)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at com.app.utils.StorageHelper.writeObject(StorageHelper.java:46)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at  com.app.home.NewsListView.processData(NewsListView.java:359)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at com.app.home.NewsListView.access$4(NewsListView.java:314)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at com.app.home.NewsListView$NewsByIDTask.onPostExecute(NewsListView.java:563)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at com.app.home.NewsListView$NewsByIDTask.onPostExecute(NewsListView.java:1)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at android.os.AsyncTask.finish(AsyncTask.java:417)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at android.os.AsyncTask.access$300(AsyncTask.java:127)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at  android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at android.os.Handler.dispatchMessage(Handler.java:99)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at android.os.Looper.loop(Looper.java:130)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at android.app.ActivityThread.main(ActivityThread.java:3701)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.lang.reflect.Method.invokeNative(Native Method)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at java.lang.reflect.Method.invoke(Method.java:507)
01-22 11:29:36.967: E/AndroidRuntime(6733):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteI
+4
source share
2 answers

This is reported as an error, you can see a brief description here .

...:).

0

stackoverflow :

DecimalFormatSymbols 2.3.4

, decimalFormat final .

0

All Articles