Платформа J2Me
Добавить в закладки К обложке
- Введение - Страница 1
- Глава 1. Знакомство с платформой Java 2 Micro Edition (J2ME) - Страница 4
- Глава 2. Процесс разработки приложений MIDP - Страница 12
- Глава 3. Программная структура приложений MIDP - Страница 22
- Глава 4. Высокоуровневый программный интерфейс приложения (API) в MIDP - Страница 30
- Глава 5. Компоненты пользовательского интерфейса MIDP - Страница 38
- Глава 6. Низкоуровневый программный интерфейс приложения (API) MIDP - Страница 51
- Глава 7. Поддержка постоянного хранения в MIDP - Страница 68
- Глава 8. Организация сетей и коммуникации в MIDP - Страница 77
- Глава 9. Интернационализация - Страница 102
- Глава 10. Инициализация приложений - Страница 127
- Глава 11. Среда беспроводного Интернета - Страница 137
- Приложение - Страница 151
1 import javax.microedition.midlet.MIDlet;
2
3 import javax.microedition.Icdui.Display;
4 import javax.microedition.Icdui.Displayable;
5 import javax.microedition.Icdui.Form;
6
7 /**
8 Первая версия приложения IlSNDemo.
9
10 <р>Данная версия демонстрирует простейший подход к
11 загрузке локализованных ресурсов из файла JAD MID-лета.
12 этот подход быстро становится непригодным при большом
13 количестве ресурсов. И он полезен только для текстовых
14 сообщений, но не для других видов локализованных
15 ресурсов.
16 */
17 public class IlSNDemo extends MIDlet
18 {
19 // Региональная настройка, указанная для выполнения в
20 // данном MID-лете.
21 private String locale;
22
23 // Displayable. Этот компонент отображается
24 // на экране.
25 private HelloForm form;
26
27 // Экземпляр Display. Данный объект управляет всеми
28 // компонентами Displayable данного MID-лета.
29 private Display display;
30
31 // Экземпляр MID-лета.
32 private static IlSNDemo instance;
33
34 // Префикс имен атрибутов локализуемых
35 // ресурсов.
36 String attrPrefix = new String("I18NDemo-");
37
38 /**
39 Конструктор No-arg.
40 */
41 public I18NDemo()
42 {
43 super();
44 instance = this;
45 }
46
47 /*
48 Получает экземпляр данного класса, который существует в
49 работающем приложении.
50
51 Звоззращает экземпляр, созданный при запуске
52 приложения.
53 */
54 public static IlSNDemo getlnstance()
55 {
56 if (instance == null)
57 {
58 instance = new IlSNDemo ();
59 }
60 return instance;
61 }
62
63 /**
64 Запускает. MID-лет. Получает текущую региональную
65 настройку для реализации. Использует ее для
66 создания префикса ключей атрибутов всех
67 локализованных ресурсов. Названия локализованных
68 ресурсов в файле JAD соответствуют
69 совместимой схеме имен.
70 */
71 public void startApp()
72 {
73 // Извлекает региональную настройку из программного
74 // обеспечения AMS. Региональная настройка должна быть
75 // установлена прежде, чем данный MID-лет начнет выполняться.
76 locale =
77 System.get Property("microedition.locale");
78
79 // Создает элемент Displayable. Получает локализованную
80 // String, которая представляет заголовок
81 // Form, из определенных пользователем атрибутов файла
82 // JAD. Получает все локализованные строки таким
83 // образом.
84 String formTitle = getResource("title");
85 form = new HelloForm(formTitle);
86
87 // Это приложение просто отображает единственную форму,
88 // созданную ранее.
89 display = Display.getDisplay(this);
90 display.setCurrent(form);
91 }
92
93 /**
94 Выдает значение, связанное с указанным
95 ключом из списка определяемых пользователем
96 ресурсов MID-лета в файле JAD приложения.
97
98 @param key — ключ пары «ключ-значение».
99
100 @выдает значение, связанное с указанным
101 ключом.
102 */
103 public String getResource(String key)
104 {
105 StringBuffer index = new
106 StringBuffer(«ttrPrefix);
107 String value;
108
109 index.append(key);
110 index.append(-);
111 index.append(locale);
112
113 value = getAppProperty(index.toString ());
114 return value;
115 }
116
117 /**
118 Закрываем приложение. Уведомляем
119 реализацию о выходе.
120 */
121 public void quit(),
122 {
123 notifyDestroyed ();
124 }
125
126 public void destroyApp(boolean destroy)
127 {
128
129 }
130
131 public void pauseApp()
132 (
133
134 }
135 }
Листинг 9.З. Класс HelloForm определяет объект формы и использует ту же самую схему, что и основной класс МID-лета
1 import javax.raicroedition.midlet.MIDlet;
2
3 import javax.microedition.Icdui.Alert;
4 import javax.microedition.Icdui.AlertType;
- 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
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154