Форум программистов, компьютерный форум CyberForum.ru

Сериализация объекта в файл - Android

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 5.00
ZAYEC77
 Аватар для ZAYEC77
41 / 41 / 1
Регистрация: 13.08.2012
Сообщений: 441
07.06.2013, 13:20     Сериализация объекта в файл #1
Как сделать сериализацию объекта в файл. Можно пример пожалуйста. Спасибо
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
07.06.2013, 13:22     Сериализация объекта в файл #2
http://androidimran.blogspot.ru/2012...ializable.html
http://habrahabr.ru/post/60317/
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.06.2013, 13:22     Сериализация объекта в файл #3
http://www.tutorialspoint.com/java/j...ialization.htm
ZAYEC77
 Аватар для ZAYEC77
41 / 41 / 1
Регистрация: 13.08.2012
Сообщений: 441
10.06.2013, 01:19  [ТС]     Сериализация объекта в файл #4
read-only file system
GiGaBiTe911
24 / 24 / 1
Регистрация: 04.02.2013
Сообщений: 132
Записей в блоге: 1
10.06.2013, 10:38     Сериализация объекта в файл #5
я использовал библиотеку XStream сериалезует практически все, просто любые объекты, массивы, dictionary HashMap и т.д. и делает это просто и красиво. есть настройка тегов и т.д.
ZAYEC77
 Аватар для ZAYEC77
41 / 41 / 1
Регистрация: 13.08.2012
Сообщений: 441
10.06.2013, 12:00  [ТС]     Сериализация объекта в файл #6
Сделал так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    public static void readFromFile() {
        try {
            FileInputStream fis = context.openFileInput("1.dat");
            ObjectInputStream is = new ObjectInputStream(fis);
            content = (ArrayList<Chandelier>) is.readObject();
            is.close();
        } catch (IOException w) {
            w.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
    public static void writeToFile() {
        try {
            FileOutputStream fos = context.openFileOutput("1.dat",
                    Context.MODE_PRIVATE);
            ObjectOutputStream os = new ObjectOutputStream(fos);
            os.writeObject(content);
            os.close();
        } catch (IOException w) {
            w.printStackTrace();
        }
    }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2013, 17:07     Сериализация объекта в файл
Еще ссылки по теме:

Android Listener перемещения объекта
Создание объекта класса Android
Как добраться до объекта Android
Парсинг JSON объекта Android
Android Сериализация View

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
jenyakirmiza
1 / 1 / 0
Регистрация: 13.02.2013
Сообщений: 90
10.06.2013, 17:07     Сериализация объекта в файл #7
Цитата Сообщение от ZAYEC77 Посмотреть сообщение
Сделал так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    public static void readFromFile() {
        try {
            FileInputStream fis = context.openFileInput("1.dat");
            ObjectInputStream is = new ObjectInputStream(fis);
            content = (ArrayList<Chandelier>) is.readObject();
            is.close();
        } catch (IOException w) {
            w.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
    public static void writeToFile() {
        try {
            FileOutputStream fos = context.openFileOutput("1.dat",
                    Context.MODE_PRIVATE);
            ObjectOutputStream os = new ObjectOutputStream(fos);
            os.writeObject(content);
            os.close();
        } catch (IOException w) {
            w.printStackTrace();
        }
    }

Запись

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
public void writeXML(){
        final String xmlFile="userData";
        try {
        FileOutputStream fileos= getApplicationContext().openFileOutput(xmlFile, Context.MODE_PRIVATE);
        XmlSerializer xmlSerializer = Xml.newSerializer();              
        StringWriter writer = new StringWriter();
        xmlSerializer.setOutput(writer);
        xmlSerializer.startDocument("UTF-8",true);
        
        xmlSerializer.startTag(null, "userData");
        xmlSerializer.startTag(null, "A");
        xmlSerializer.text("indroid");
        xmlSerializer.endTag(null,"A");
        xmlSerializer.startTag(null,"B");
        xmlSerializer.text("ondroid");
        xmlSerializer.endTag(null, "B");   
        xmlSerializer.startTag(null,"C");
        xmlSerializer.text("kedroid");
        xmlSerializer.endTag(null, "C");  
        xmlSerializer.startTag(null,"D");
        xmlSerializer.text("android");
        xmlSerializer.endTag(null, "D");  
        xmlSerializer.startTag(null,"right");
        xmlSerializer.text("D");
        xmlSerializer.endTag(null, "right"); 
        xmlSerializer.startTag(null,"pic");
        xmlSerializer.text(String.valueOf(R.drawable.android));
        xmlSerializer.endTag(null, "pic"); 
        xmlSerializer.endTag(null, "userData");
        
        
        
        xmlSerializer.endDocument();
        xmlSerializer.flush();
        String dataWrite=writer.toString();
        fileos.write(dataWrite.getBytes());
        fileos.close();
        } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        } catch (IllegalArgumentException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        } catch (IllegalStateException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        }
    }
Чтение

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
public void parseXML(){
    final String xmlFile="userData";
    ArrayList<String> userData = new ArrayList<String>();
                String data="";
                try {
                    FileInputStream fis = getApplicationContext().openFileInput(xmlFile);
                    InputStreamReader isr = new InputStreamReader(fis);
                    char[] inputBuffer = new char[fis.available()];
                    isr.read(inputBuffer);
                    data = new String(inputBuffer);
                    isr.close();
                    fis.close();
                    } catch (FileNotFoundException e3) {
                    // TODO Auto-generated catch block
                        e3.printStackTrace();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                XmlPullParserFactory factory = null;
                try {
                    factory = XmlPullParserFactory.newInstance();
                    } catch (XmlPullParserException e2) {
                    // TODO Auto-generated catch block
                    e2.printStackTrace();
                    }
                factory.setNamespaceAware(true);
                XmlPullParser xpp = null;
                try {
                    xpp = factory.newPullParser();
                    } catch (XmlPullParserException e2) {
                    // TODO Auto-generated catch block
                    e2.printStackTrace();
                    }
                try{
                    xpp.setInput( new StringReader (data) );
                    } catch (XmlPullParserException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                    }
                 int eventType = 0;
                 try{
                     eventType = xpp.getEventType();
                    } catch (XmlPullParserException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                    }
                 while (eventType != XmlPullParser.END_DOCUMENT){
                     if(eventType == XmlPullParser.START_DOCUMENT) {
                         System.out.println("Start document");
                     }else if(eventType == XmlPullParser.START_TAG) {
                         System.out.println("Start tag "+xpp.getName());
                     }else if(eventType == XmlPullParser.END_TAG) {
                         System.out.println("End tag "+xpp.getName());
                     }else if(eventType == XmlPullParser.TEXT) {
                         userData.add(xpp.getText());
                     }
                     try{
                         eventType = xpp.next();
                    }catch (XmlPullParserException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                    }
                    }         
                 
}
Добавлено через 19 минут
прошу прощения. это я привел пример записи xml файла. сериализация это запись объектов
Yandex
Объявления
10.06.2013, 17:07     Сериализация объекта в файл
Ответ Создать тему
Опции темы

Текущее время: 05:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru