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

SharedPreferences Save List<myClass> - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android RecognizerIntent без показа activity http://www.cyberforum.ru/android-dev/thread1518011.html
Подскажите пожалуйста как можно получать результаты голосового распознавания без показа ее activity?
Программирование Android Свайп меню actionbar есть код класса main public class main extends ActionBarActivity { String Log_Tag = "Main.java"; private DrawerLayout mDrawerLayout; private ListView mDrawerList; private... http://www.cyberforum.ru/android-dev/thread1517997.html
Измерить количество текста на экране Программирование Android
Есть длинный текст, разделил его в виде читалки на разные страницы с помощью ViewPager и PagerAdapter. То есть меняются фрагменты с частью текста (myText.substring(startNumberOfChar*page,...
Своя клавиатура в приложении Программирование Android
Здравствуйте! Хочу сделать в приложении свою клавиатуру. Что я сделал: создал gridLayout, создал класс Keyboard extends Fragments, на каждую кнопку поставил слушатель, который добавляет...
Программирование Android Ошибка при работе Android Studio http://www.cyberforum.ru/android-dev/thread1517833.html
Вот такая ошибка выходит после запуска Android Studio 1.3.1 И почему не нажимается Run в программе?
Программирование Android Возможность редактирования текста с GridView Приветствую. Мне для приложения нужно сделать таблицу с возможностью редактирования текста в ячейках. В интернетах не нашел кода для этого. Пробовал сам - не выходит ничего. Прошу помощи подробнее

Показать сообщение отдельно
ILNAR_93
Android
221 / 221 / 23
Регистрация: 19.01.2013
Сообщений: 1,700
Записей в блоге: 3

SharedPreferences Save List<myClass> - Программирование Android

21.08.2015, 15:16. Просмотров 402. Ответов 6
Метки (Все метки)

Ребята, помогите с кодом

Как мне сохранить List<MyClass>, с помощью SharedPreferences ?

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
public static class MyClass
    {
        public int ID;
        public String Name;
        public String Key;
 
        public ChatC(){
            super();
        }
 
        public ChatC(int id, String _Name, String _Key) {
            super();
            this.ID = id;
            this.Name = _Name;
            this.Key = _Key;
        }
 
 
        @Override
        public String toString() {
            return this.Name;
        }
 
    }
попытался так .. (Возможно ObjectSerializer неправильный?)
Кликните здесь для просмотра всего текста
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
private boolean SavechatList(PublicClasses.ChatC chat) {
 
                try
                {
                GlobalClasses = ((GlobalClass) GlobalClass.GetMyApplication());
                SharedPreferences.Editor editor = null;
                ArrayList ArrayList;
                ArrayList = (ArrayList) ObjectSerializer.deserialize(mSettings.getString(GlobalClasses.LisK, ObjectSerializer.serialize(new ArrayList())));
 
                editor = mSettings.edit();
                editor.putString(GlobalClasses.LisK, ObjectSerializer.serialize(ArrayList));
                editor.commit();
 
 
                } catch (IOException e) {
                    e.printStackTrace();
                    return false;
                }
 
 
            return true;
        }
 
 
 
package su.el_teh.cryptomessenger.Other;
 
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
 
/**
 * Created by skull on 21.08.2015.
 */
public class ObjectSerializer {
 
    public static String serialize(Serializable obj) throws IOException {
        if (obj == null) return "";
        try {
            ByteArrayOutputStream serialObj = new ByteArrayOutputStream();
            ObjectOutputStream objStream = new ObjectOutputStream(serialObj);
            objStream.writeObject(obj);
            objStream.close();
            return encodeBytes(serialObj.toByteArray());
        } catch (Exception e) {
            throw new IOException();
        }
    }
 
    public static Object deserialize(String str) throws IOException {
        if (str == null || str.length() == 0) return null;
        try {
            ByteArrayInputStream serialObj = new ByteArrayInputStream(decodeBytes(str));
            ObjectInputStream objStream = new ObjectInputStream(serialObj);
            return objStream.readObject();
        } catch (Exception e) {
            throw new IOException();
        }
    }
 
    public static String encodeBytes(byte[] bytes) {
        StringBuffer strBuf = new StringBuffer();
 
        for (int i = 0; i < bytes.length; i++) {
            strBuf.append((char) (((bytes[i] >> 4) & 0xF) + ((int) 'a')));
            strBuf.append((char) (((bytes[i]) & 0xF) + ((int) 'a')));
        }
 
        return strBuf.toString();
    }
 
    public static byte[] decodeBytes(String str) {
        byte[] bytes = new byte[str.length() / 2];
        for (int i = 0; i < str.length(); i+=2) {
            char c = str.charAt(i);
            bytes[i/2] = (byte) ((c - 'a') << 4);
            c = str.charAt(i+1);
            bytes[i/2] += (c - 'a');
        }
        return bytes;
    }
 
}



Потом так вызывать

ArrayList = (ArrayList) ObjectSerializer.deserialize(mSettings.getString(GlobalClasses.LisK, ObjectSerializer.serialize(new ArrayList())));
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru