- •Что Вам необходимо?
- •Создание miDlet-а
- •О том, что скрыто от наших глаз
- •А дальше?
- •Ресурсы
- •Инсталяция и запуск Tomcat
- •Написание исходного кода Servlet-а
- •Компиляция Servlet – а
- •Развертывание Servlet-а
- •Как обратиться к Servlet-у из miDlet-а
- •Замечания
- •Заключение
- •Дейтаграммы
- •Получение Web контента
- •Когда какой протокол использовать?
- •Стек протоколов
- •Профили
- •Bluetooth устройства и сети
- •Системные требования
- •Java api For Bluetooth — организация и пакеты
- •Анатомия miDlet-ов, использующих jsr 82
- •Использование Java apIs for Bluetooth
- •Использование Bluetooth в j2me приложениях. (jsr-82) - Часть 2. Обзор Connection и Device Management api Обзор Connection api
- •Типы Bluetooth соединения
- •Создание соединения
- •Ожидание соединения
- •Отправка и получение даннях
- •Обзор Device Management api
- •Удаленное устройство
- •Класс устройства
- •Получение информации о настройках Bluetooth устройства
- •Интерфейсы pim api
- •Классы pim api
- •Использование pim api
- •Использование эмулятора j2me Wireless Toolkit 2.2 для тестирования pim списков
- •Особенности спецификации Sony Ericsson
- •Свойства системы
- •Классы и интерфейсы FileConnection api
- •Операции ввода/вывода
- •Получение информации о файлах и каталогах
- •Вычисление Экспоненты
- •Гиперболические функции
- •Вычисление натурального логарифма
- •Вычисление арксинуса и арккосинуса
- •Вычисление арктангенса
- •Обзор mmapi
- •Механизм обработки мультимедмйной информации
- •Mmapi пакеты
- •Использование mmapi
- •Последовательности нот
- •Проигрывание мультимедийных файлов
- •Воспроизведение видео
- •Использование камеры
- •Поддерживаемые форматы
- •Ограничения использования mmapi в wtk
- •Пример простого медиаплеера
- •Создание midp приложения с использованием Visual Designer-а.
- •Редактирование Java исходников
- •Создание midp приложений с использованием Source Editor Создание нового j2me midp проекта
- •Редактирование Java исходников
- •Компиляция и запуск проекта
- •Выбор платформы эмулятора
- •Использование конфигурирования
- •Добавление конфигурации
- •Настройка конфигурации
Особенности спецификации Sony Ericsson
Реализация JSR-75 на телефонах Sony Ericsson имеет некоторые ограничения:
Вы не можете получить доступ к папкам Games и Themes.
Файлы и каталоги чувствительны к регистру.
Длина пути ограничена 120 символами.
Более подробную информацию об ограничениях для телефонов Sony Ericsson можно найти в документе http://developer.sonyericsson.com/site/global/docstools/java/p_java.jsp.
Свойства системы
Убедиться в том, что система поддерживает FileConnection API, можно выполнив команду:
System.getProperty("microedition.io.file.FileConnection.version");
Если FileConnection API поддерживается, то она вернет "1.0".
Классы и интерфейсы FileConnection api
FileConnection API дает возможность создавать и удалять файлы и папки, получать список файлов в папке, устанавливать права, получать информацию о файлах и выполнять операции ввода-вывода. Ниже приведены важнейшие классы и интерфейсы:
ConnectionClosedException возникает если метод вызывает FileConnection в то время как соединение разорвано.
Класс FileSystemRegistry — главный системный реестр. С его помощью можно получить список примонтированных корневых папок (метод listRoots()). Он также содержит методы для регистрации "слушателей", которые оповещаются в случае добавления или удаления файловой системы в течение выполнения программы.
FileSystemListener — интерфейс, используемый для получения уведомлений о создании и удалении корневых файловых систем.
FileConnection — интерфейс, который используется для доступа к файлам и каталогам устройства. Он является расширением интерфейса Connection и содержит ряд методов для работы с файлами и папками.
Использование FileConnection API
Поскольку для работы с файловой системой FileConnection API использует Generic Connection Framework, процедура создания FileConnection похожа на создание простого GCF соединения. Единственным отличием будет указание URL адреса. Для создания FileConnection, используйте метод open класса Connector:
Connector.open(string URL);
URL адрес должен иметь вид: "file://localhost/c:/" или "file:///c:/" для внутренней памяти устройства; и "file://localhost/c:/" или "file:///e:/" для съемных карт памяти.
Так, для получения доступа к папкам внутренней памяти устройства нужно создать FileConnection объект, используя следующий URL:
FileConnection fc = (FileConnection)Connector.open("file:///c:/");
Поскольку метод Connector.open() не позволяет указать права доступа, созданный FileConnection объект может выполнять как операции чтения, так и записи.
Указанный при создании объекта FileConnection URL может ссылаться на несуществующий файл или каталог.
Не забывайте закрывать FileConnection после выполнения всех необходимых действий:
fc.close();
FileConnection, ссылающийся на несуществующий файл, не может использовать многие операции. Так попытка открыть InputStream или OutPutStream приведут к возникновению исключительной ситуации java.io.IOException. Единственное, чем Вы можете воспользоваться — это методы create() и mkdir(), создающие файл и каталог соответственно. Для того, чтобы убедиться в существовании требуемого файла, воспользуйтесь методом exists():
fc.exists();
Если запрашиваемый файл не существует, Вы легко можете создать его:
fc.create();
Для создания каталога используется другой метод
fc.mkdir();
Для удаления файлов и каталогов используется метод
fc.delete();
Чтобы узнать содержание папки, на которую ссылается объект FileConnection, используйте следующий код:
Enumeration e = fc.list();
while (e.hasMoreElements())
{
System.out.println(((String)e.nextElement()));
}
В результате будут выведены все файлы и папки, содержащиеся в указанном каталоге. В конце названий папок будет стоять символ "/". Вы можете получить информацию об содержании папки и другим, более продвинутым способом.
list(String filter, boolean includeHidden)
Этот метод возвращает контент, удовлетворяющий условиям фильтра. Приведем простейший пример фильтра. Получим список mp3 файлов, содержащихся в папке: "*.mp3". Второй параметр указывает, должны ли отображаться файлы, помеченные как скрытые. Этот метод возвращает папки и файлы в произвольном порядке. Вы должны самостоятельно позаботиться об их сортировке.
FileSystemRegistry имеет метод listRoots(), который позволяет получить список всех примонтированных корневых файловых систем. Список возвращается как Enumeration
Enumeration e = FileSystemRegistry.listRoots();
while (e.hasMoreElements()) {
String rootName = (String)e.nextElement();
System.out.println("mounted root:"+rootName);
}