Пишем на Java
- blackstrip
- Админ
- Сообщения: 1177
- Зарегистрирован: Ср янв 02, 2008 1:42 pm
- Откуда: Подольск
- Контактная информация:
Re: Пишем на Java
не, не дам исходники. смысл портировать? напиши свой редактор на компьютер. и если он еще будет круче Photoshop-a... +) идиотизм помоему пытаться писать редактор на комп. Adobe Photoshop+любая прога для гиф-анимаций (например Ulead GIF Animator) эт тебе будет как десять паинткадов в одной проге =)
Re: Пишем на Java
а вот midletBasic нету в рунете???
а че пишем проги и на кпк и портируем на тело)))
удобно блин..
но нету такой среды(
а че пишем проги и на кпк и портируем на тело)))
удобно блин..
но нету такой среды(
Re: Пишем на Java
Понадобилось мне написать одно простенькое приложение. И достал я из запылившейся папки МидлетПаскаль. И нагуглил я один замечательный форум. Оказывается, к МидлетПаскалю можно прикручивать ДжаваКлассы и использоать объявленные в них функции в синтаксисе паскаля =) Ну так вот. Столкнулся с проблемой кодов клавиш. У всех мобил они разные. Это так-то фигня. Но софтклавиши сименсов совпадают по кодам с джойстиком других телефонов: нокий и сониэриксонов. Выход в принципе нашёл. Нужно узнать, с сименса ли запущена прога, если нет, то юзать общие правила, а если с него, то определить для софт клавиш соответствующие коды (-1 и -4). Но как узнать модель телефона из Джавы? getProperty('microedition.platform'); возвращает на моём сименсе "С75". Я понимаю, если бы хотя бы "Sie" возвращало, блин =) Помогите, а? Или может я не в ту сторону смотрю? Может с кодами клавиш как-то проще можно разобраться?
- blackstrip
- Админ
- Сообщения: 1177
- Зарегистрирован: Ср янв 02, 2008 1:42 pm
- Откуда: Подольск
- Контактная информация:
Re: Пишем на Java
Вот процедура из паинткада, по многим признакам ищущая какой марке принадлежит данная мобила:
(изначально паинткад считает что мобила сименс, но после запуска этой процедуры она если видит что чото несименсовское есть в мобиле - то решает что мобила не сименс, а другая. короч смотри код ниже) =)
static void DetectMobile() {
if (!wasdetected) {
wasdetected=true;
try {
Class.forName("com.motorola.multimedia.Vibrator");
SetToMoto();
}
catch (Exception ex) {
}
try {
Class.forName("com.motorola.funlight.FunLight");
SetToMoto();
}
catch (Exception ex) {
}
try {
if ((!System.getProperty("com.nokia.mid.imei").equals(""))|(!System.getProperty("com.nokia.IMEI").equals(""))|(!System.getProperty("phone.imei").equals(""))) {
SetToNokia();
}
}
catch (Exception ex1) {
}
try {
Class.forName("com.nokia.mid.ui.FullCanvas");
SetToNokia();
}
catch (Exception ex1) {
}
try {
Class.forName("com.samsung.util.LCDLight");
SetToSamsung();
}
catch (Exception ex1) {
}
try {
if (!System.getProperty("com.sonyericsson.imei").equals("")) {
SetToSonyEric();
}
}
catch (Exception ex1) {
}
}
}
(изначально паинткад считает что мобила сименс, но после запуска этой процедуры она если видит что чото несименсовское есть в мобиле - то решает что мобила не сименс, а другая. короч смотри код ниже) =)
static void DetectMobile() {
if (!wasdetected) {
wasdetected=true;
try {
Class.forName("com.motorola.multimedia.Vibrator");
SetToMoto();
}
catch (Exception ex) {
}
try {
Class.forName("com.motorola.funlight.FunLight");
SetToMoto();
}
catch (Exception ex) {
}
try {
if ((!System.getProperty("com.nokia.mid.imei").equals(""))|(!System.getProperty("com.nokia.IMEI").equals(""))|(!System.getProperty("phone.imei").equals(""))) {
SetToNokia();
}
}
catch (Exception ex1) {
}
try {
Class.forName("com.nokia.mid.ui.FullCanvas");
SetToNokia();
}
catch (Exception ex1) {
}
try {
Class.forName("com.samsung.util.LCDLight");
SetToSamsung();
}
catch (Exception ex1) {
}
try {
if (!System.getProperty("com.sonyericsson.imei").equals("")) {
SetToSonyEric();
}
}
catch (Exception ex1) {
}
}
}
Re: Пишем на Java
Слушай... А компилятор сможет отдельно эту процедуру откомпилировать? Я так и не смог подружиться с компилятором Джавы тогда =( Всё ему что-то не нравилось =) гг Мне как бы как класс её подключить в прогу. Просто в мидлет паскале можно подключать Джава классы. То есть вот есть отдельный класс в отдельном файле. В нём там описываются всякие процедуры, например. Его можно подключить в прогу на мидлет паскале и юзать объявленные в классе процедуры в синтаксисе мидлет паскаля =) О как. Так-то я ща как-то вроде въезжать во всё это дело стал =) Того глядишь на нормальную Джаву всё таки пересяду =) Вот только смущает то, что Джава умирает... Скоро джава будет никому не нужна... Жалко...
- blackstrip
- Админ
- Сообщения: 1177
- Зарегистрирован: Ср янв 02, 2008 1:42 pm
- Откуда: Подольск
- Контактная информация:
Re: Пишем на Java
Недавно купил книжку "Программирование КПК и смартфонов на .NET" )) терь вот присматриваю коммуникатор с Windows Mobile 6.0 =) чото мне понравился Glofish x650, экран 640х480, gps встроенный, радио, и много чего еще интересного. если куплю и если хватит терпения сделать новый паинткад - тада точно мона будет там сделать реализацию стилуса, а то ктото давно еще просил "жалко что низя стилусом управлять". а вообще конечно надо уже на .net переходить, и на более мощные устройства, ибо в .net денег вбухивают в развитие много. а ява заглохла. все говорили о midp 3.0, о том что там будут "либлеты" - библиотеки, подобные dllкам в виндах. чтоб могли много прог пользоваться одной такой библиотекой, используя функции из нее. но чото все затихло. точно скоро коммуникаторы будут у всех, у меня все меньше сомнений в этом =)
Re: Пишем на Java
640х480 - О_о Тоже хочу :'(
У тебя отлично получается объяснять непонятные вещи языком, который поймут даже некоторые блондинки =) Это, наверно, талант =) Объясни в двух словах, что такое, этот .NET =)
У тебя отлично получается объяснять непонятные вещи языком, который поймут даже некоторые блондинки =) Это, наверно, талант =) Объясни в двух словах, что такое, этот .NET =)
Re: Пишем на Java
Я подружился с компилятором джаы =) Компилит без ошибок =) Но вот какое дело. Мне нужно сделать либу к мидлет паскалю. У меня есть класс, который мне нужно как бы переделать в либу. Вот сам класс (сам код процедур я убрал, а то он длинный):
Интересует вот что.
Что это за строка:
private int x,y,w,h,fsz,fst,fty;
???
Там их так-то много подряд идёт, но они все по аналогии написаны, поэтому я только одну оставил. Это типа объявляются переменные что ли? Но внутри процедур встречаются подобные строки:
int y1;
Почему тогда не
private int y1;
???
Что обозначает слово privat?
Просто так-то исходник компилится без ошибок, но Мидлет Паскаль это не примет, - я почти уверен. Там написано, что в самом классе должны находиться только процедуры и функции, никаких объявлений переменных там быть не должно. Что делать? Если это переменные, то их надо по-любому убрать и, возможно объявлять их в каждой процедуре... О_о Я что-то вообще недогоняю, как мне это сделать всё =)
P.S: Это класс для мультистрочного вывода текста. И я это делаю не только, чтобы СДЕЛАТЬ это, а для того, чтобы В ТЕМУ ВЪЕХАТЬ, чтобы понять что-то из всего этого непонятного. =) В учебниках нифига ничего непонятно, а в гугл даже не знаю что ввести, чтобы он мне выдал то, что мне нужно =(
Код: Выделить всё
import java.util.Vector;
import javax.microedition.lcdui.*;
public class Lib_multistr {
// ***********************************
private int x,y,w,h,fsz,fst,fty;
// ***********************************
public void MoveDown(){
// тут длинный код
}
// ***********************************
public void MoveUp(){
// тут длинный код
}
// ***********************************
public void PageUp(){
// тут длинный код
}
// ***********************************
public void PageDown(){
// тут длинный код
}
// ***********************************
public void SetTextPar(int x,int y,int width,int height,int dy,int FontSize,int FontStyle,int FontType,Graphics graph,String LongString){
// тут длинный код
}
// ***********************************
public void DrawMultStr(){
// тут длинный код
}
// ***********************************
}
Что это за строка:
private int x,y,w,h,fsz,fst,fty;
???
Там их так-то много подряд идёт, но они все по аналогии написаны, поэтому я только одну оставил. Это типа объявляются переменные что ли? Но внутри процедур встречаются подобные строки:
int y1;
Почему тогда не
private int y1;
???
Что обозначает слово privat?
Просто так-то исходник компилится без ошибок, но Мидлет Паскаль это не примет, - я почти уверен. Там написано, что в самом классе должны находиться только процедуры и функции, никаких объявлений переменных там быть не должно. Что делать? Если это переменные, то их надо по-любому убрать и, возможно объявлять их в каждой процедуре... О_о Я что-то вообще недогоняю, как мне это сделать всё =)
P.S: Это класс для мультистрочного вывода текста. И я это делаю не только, чтобы СДЕЛАТЬ это, а для того, чтобы В ТЕМУ ВЪЕХАТЬ, чтобы понять что-то из всего этого непонятного. =) В учебниках нифига ничего непонятно, а в гугл даже не знаю что ввести, чтобы он мне выдал то, что мне нужно =(
- blackstrip
- Админ
- Сообщения: 1177
- Зарегистрирован: Ср янв 02, 2008 1:42 pm
- Откуда: Подольск
- Контактная информация:
Re: Пишем на Java
есть всякие слова. типа там private - местный, частный. public - публичный.
главное - куды ты хочешь эту переменную впихнуть. када у тя в пределах процедуры объявляется например
for (int i = 0; i< 5; i++) {...}
то тебе плевать потом на эту i, она тебе не нужна потом, и не страшно, если после выполнения процедуры она удалится, подчистится гебеджколлектором.
а мона наверху объявить, вне процедуры, например public int a;
тада у тя эта "а" будет доступна в любой процедуре. ты можешь в одной процедуре ее записать а=5, а в другой потом прочитать if (a==5) {...}; причем в самой процедуре уже объявлять ее не надо будет.
я сам если честно не помню точно, но кажется
private это в пределах толи одного класса, толи вообще в пределах одной процедуры.
public это кажется объявление в пределах класса, а может даже между классами, точнее между экземплярами классов.
а еще есть static - это вообще тогда объявляется переменная, и запихивается в определенное место в памяти, и она висит, и ее из любого другого класса проги мона достать. то если она static - то у нее походу нет копий своих, или экземпляров. она одна, и из любого экземпляра любого класса - доступ к ней будет как к одной и той же переменной. короч посмотри в инете про private public static объявления переменных =)
главное - куды ты хочешь эту переменную впихнуть. када у тя в пределах процедуры объявляется например
for (int i = 0; i< 5; i++) {...}
то тебе плевать потом на эту i, она тебе не нужна потом, и не страшно, если после выполнения процедуры она удалится, подчистится гебеджколлектором.
а мона наверху объявить, вне процедуры, например public int a;
тада у тя эта "а" будет доступна в любой процедуре. ты можешь в одной процедуре ее записать а=5, а в другой потом прочитать if (a==5) {...}; причем в самой процедуре уже объявлять ее не надо будет.
я сам если честно не помню точно, но кажется
private это в пределах толи одного класса, толи вообще в пределах одной процедуры.
public это кажется объявление в пределах класса, а может даже между классами, точнее между экземплярами классов.
а еще есть static - это вообще тогда объявляется переменная, и запихивается в определенное место в памяти, и она висит, и ее из любого другого класса проги мона достать. то если она static - то у нее походу нет копий своих, или экземпляров. она одна, и из любого экземпляра любого класса - доступ к ней будет как к одной и той же переменной. короч посмотри в инете про private public static объявления переменных =)
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя