|
26.08.2009, 16:56
|
#1
|
Знающий
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений (для 331 пользователей)
|
Lib_scodes - определение кодов софт-клавиш и модели телефона
Lib_scodes - служит для определения кодов клавиш на различных телефонах. Также позволяет определить модель телефона.
Функции:
public static String get_platform() - инициализирует библиотеку и возвращает краткое название модели телефона. При использовании библиотеки вызывать эту функцию первой обязательно (!!!)Возможные вариаты возвращенных значений:
'motorola', 'nokia', 'SE', 'siemens', 'samsung', 'LG', 'NA', где 'NA' - модель не определена.
public static int get_leftsoftkeycode() - возвращает код левой софт-клавиши для текущей модели телефона. Внимание: перед использованием вызвать обязательно функцию get_platform (!!!)
public static int get_rightsoftkeycode() - возвращает код правой софт-клавиши. Внимание: перед использованием вызвать обязательно функцию get_platform (!!!)
Пример:
Uses scodes; Begin DrawText('Model: '+get_platform,0,0); // Показали модель и инициализировали библиотеку DrawText('Left key code: '+get_leftsoftkeycode,0,20); DrawText('Right key code: '+get_rightsoftkeycode,0,40); Repaint; Delay(10000); End.
Библиотека в стадии тестирования. Нужны тестеры для проверки на реальных аппаратах. Буду рад услышать результаты тестирования здесь.
|
(Offline)
|
|
Эти 10 пользователя(ей) сказали Спасибо Tronix за это полезное сообщение:
|
|
26.08.2009, 23:29
|
#2
|
Знающий
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений (для 331 пользователей)
|
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона
Небольшое замечание: поскольку в процессе выполняеться достаточно много проверок, лучше инициализировать и определить все коды в самом начале программы, как показано ниже. Все функции у библиотеки достаточно медленны.
Var S : String; // Будет содержать название платформы skl : Integer; // Код лефой софт-клавиши skr : Integer; // Код правой софт-клавиши key : Integer; // Код нажатой клавиши Begin [...читаем рессурсы, Randomize; и подобное...] S := get_platform; // Инициализировали библиотеку skl := get_leftsoftkeycode; // Получили код лефой клавиши skr := get_rightsoftkeycode; // Получили код правой клавиши Repeat // Основной цикл программы key := GetKeyClicked; [...делаем что-либо...] Until key = skr; // Выходим, если нажата правая софт клавиша End.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Tronix за это полезное сообщение:
|
|
28.08.2009, 08:11
|
#3
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона
Библиотека нужная, молодец. Но вот размер данной библиотеки немного пугает.
Для трех простеньких функций 6 килобайт это многовато.
Попробуй модернизировать библиотеку с учетом использования массивов.
Что-то типа такого:
private static String [] platforms = { "Samsung", "Motorola" }; private static String [] classes = { "com.samsung.util.Vibration", "com.motorola.multimedia.Vibrator" }; private static int [] left = { -6, -21 }; private static int [] right = { -7, -22 }; private static int platform;
public static String get_platform() { return detect_platform(); }
private static String detect_platform() { platform = 0; for (int i=0; i < classes.length; i++) { try { Class.forName(classes[i]); platform++; return platforms[i]; } catch(Exception e) {} } return "Unknown"; }
public static int get_leftsoftkeycode() { return left[platform]; }
public static int get_rightsoftkeycode() { return right[platform]; }
Так код будет более читабельный и меньше занимать.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
31.08.2009, 11:28
|
#4
|
Знающий
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений (для 331 пользователей)
|
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона
2odd: спасибо за совет и пример. Это мой первый опыт создания либы да и вообще, первое знакомство с явой можно сказать. Размер обязательно уменьшим, как только будет чуть по лучше со временем.
2all: Кто-нибуть библиотеку то тестировал вообще? Она хоть работает?
|
(Offline)
|
|
16.09.2009, 21:43
|
#5
|
ПроЭктировщик
Регистрация: 08.03.2009
Адрес: Saransk
Сообщений: 143
Написано 25 полезных сообщений (для 45 пользователей)
|
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона
на эмуляторах sjboy и wtk платформа определяется как motorola левый софткей -6 а правый почему то 0. на кемуляторе определяется как se и коды возврвщает нормальные.
поправьте плз.
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
18.09.2009, 09:29
|
#6
|
Знающий
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений (для 331 пользователей)
|
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона
Сообщение от Dj_Alex
на эмуляторах sjboy и wtk платформа определяется как motorola левый софткей -6 а правый почему то 0. на кемуляторе определяется как se и коды возврвщает нормальные.
поправьте плз.
|
Поправил, теперь правый софткей будет определяться нормально.
То, что на эмуляторах возвращает не правильные платформы, это нормально. Главное, что на реальных телефонах возвращает. А так, да:
sjboy, wtk : платформа motorola
kemulator : смотря какая эмуляция телефона стоит в настройках. По дефолту - SE
Kwyshell (NHAL) : NA
PS: Совсем скоро уменьшу более чем в два раза размер библиотеки, пока так как есть.
PSS: Почему-то не могу отредактировать первый свой пост в теме, поэтому прикладываю новую версию в этом посте.
|
(Offline)
|
|
Эти 5 пользователя(ей) сказали Спасибо Tronix за это полезное сообщение:
|
|
14.10.2009, 03:15
|
#7
|
Разработчик
Регистрация: 24.11.2008
Адрес: UA
Сообщений: 504
Написано 110 полезных сообщений (для 225 пользователей)
|
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона
А можно както работать с клавишами вызова и сброса?
Добавить бы их в эту либу и будит полная жесть!!!
__________________
Уважай собеседника, а лучше подари ему +
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
14.10.2009, 12:14
|
#8
|
Оптимист
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений (для 259 пользователей)
|
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона
Клавиша вызова чаще всего имеет имя "SEND"
|
(Offline)
|
|
14.10.2009, 14:16
|
#9
|
Знающий
Регистрация: 26.07.2009
Адрес: Россия, Москва
Сообщений: 318
Написано 103 полезных сообщений (для 331 пользователей)
|
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона
Ребят, прошу прощения, но нет желания и времени. Если нужно, исходники в аттаче.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
03.01.2010, 06:46
|
#10
|
Разработчик
Регистрация: 24.11.2008
Адрес: UA
Сообщений: 504
Написано 110 полезных сообщений (для 225 пользователей)
|
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона
Сообщение от Piligrim
Клавиша вызова чаще всего имеет имя "SEND"
|
Ну, это понятно. А где и как это имя "SEND" можно использовать?!
И какое имя у клавиши сброса?
Прост мне надо сделать программу, в которой по нажатию на клавишу вызова происходил звонок, ну и сброс (думаю ясно для чего)..
Кто может чем помочь? или посоветовать?
__________________
Уважай собеседника, а лучше подари ему +
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
04.01.2010, 19:54
|
#11
|
Разработчик
Регистрация: 16.08.2008
Адрес: Нижегородская провинция
Сообщений: 389
Написано 48 полезных сообщений (для 93 пользователей)
|
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона
Сообщение от ArtikZ
Прост мне надо сделать программу, в которой по нажатию на клавишу вызова происходил звонок, ну и сброс (думаю ясно для чего)..
Кто может чем помочь? или посоветовать?
|
Если тебе надо сделать телефонный справочник прочитай тут
__________________
- Это мы накодили WINDOWS,
- Это мы надкусили APPLE,
- Нам играют живые The Beatles
- И нестареющий Вова Высоцкий...
|
(Offline)
|
|
05.01.2010, 10:12
|
#12
|
Разработчик
Регистрация: 24.11.2008
Адрес: UA
Сообщений: 504
Написано 110 полезных сообщений (для 225 пользователей)
|
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона
GRAY_WOLF, как раз с менюшкой и звонками у меня проблем нет..
а вот как можно работать с клавишами вызова и сброса, мне интересно просто..
В поисковниках ничего толкового не выдает по этому вопросу((
__________________
Уважай собеседника, а лучше подари ему +
|
(Offline)
|
|
05.01.2010, 11:48
|
#13
|
Бывалый
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений (для 215 пользователей)
|
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона
я всегда коды узнаю достаточно просто:
repeat key:=getkeypressed until key<>KE_NONE;
drawtext(integertostring(key),0,0);
конечно подходить будет код не для всех телефонов, но это можно забить, т.к. почти на всех телефонах красная завершает приложение, а значит твое приложение туда не пойдет...
вообще я бы посоветовал использовать в твоей проге вместо кнопок звонка/сброса софткеи.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
06.01.2010, 13:20
|
#14
|
Разработчик
Регистрация: 24.11.2008
Адрес: UA
Сообщений: 504
Написано 110 полезных сообщений (для 225 пользователей)
|
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона
Подобное видел в приложениях типо Jimm'а, где по нажатию на зеленую клавишу происходит переход в историю сообщений и др.
__________________
Уважай собеседника, а лучше подари ему +
|
(Offline)
|
|
06.01.2010, 23:01
|
#15
|
Разработчик
Регистрация: 16.08.2008
Адрес: Нижегородская провинция
Сообщений: 389
Написано 48 полезных сообщений (для 93 пользователей)
|
Ответ: Lib_scodes - определение кодов софт-клавиш и модели телефона
Сообщение от ArtikZ
а вот как можно работать с клавишами вызова и сброса, мне интересно просто..
В поисковниках ничего толкового не выдает по этому вопросу((
|
Вот тут есть help по МР, там в переводе help'a от odd есть Таблица скан-кодов клавиш телефонов Siemens, Sony Ericsson, Nokia, Motorola. Изучай.
__________________
- Это мы накодили WINDOWS,
- Это мы надкусили APPLE,
- Нам играют живые The Beatles
- И нестареющий Вова Высоцкий...
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо GRAY_WOLF за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:43.
|