Пишем на Java

Темы о Java и ее разновидностях типа J2me
Аватара пользователя
blackstrip
Админ
Сообщения: 1006
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: Пишем на Java

Сообщение blackstrip » Пт янв 18, 2008 10:59 pm

наличие любого класса в мобиле можно проверить так (на примере javax.microedition.lcdui.Spacer):

boolean Nashli=false;
try {
Class.forName("javax.microedition.lcdui.Spacer");
Nashli=true;
}
catch (Exception ex) {
}

вот то что я выше написал - проверяет номер мидп =) если Nashli=true после выполнения этого куска кода - то это мидп2, а если Nashli=false то мидп1 (ибо класс Spacer тока в мидп2 появился). Короч када запрашиваешь Class.forName("путь_к_классу") - то сразу выскочит исключение (exception) если такого нет, и по ловле исключения можно сказать есть ли такой класс в мобиле или нет.

Phantom
Обсуждатель
Сообщения: 179
Зарегистрирован: Сб янв 05, 2008 12:01 pm
Контактная информация:

Re: Пишем на Java

Сообщение Phantom » Сб янв 19, 2008 12:11 am

О, кстати. Вот это: javax.microedition.lcdui.Spacer значит, что мы берём класс Spacer из пакета javax.microedition.lcdui ? Верно? Я, вроде понимать начинаю... Я сегодня ещё не продолжал читать учебник, некогда было.

Аватара пользователя
blackstrip
Админ
Сообщения: 1006
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: Пишем на Java

Сообщение blackstrip » Сб янв 19, 2008 6:09 pm

Да. По идее функция Class.forName("путь и имя класса") возвращает найденный класс по такому имени. Но ее можно как процедуру вызывать, тада она ничего не возвращает (точнее возвращает, но это не записывается ни в какую переменную). И если класс не найден - то произойдет исключение и Nashli=true; не будет выполнено, т.к. исполнение перейдет сразу в ловушку исключений catch (Exception ex) {...}, где в принципе можно еще и обработать как то это событие (например выдать сообщение "такого класса нету").

Phantom
Обсуждатель
Сообщения: 179
Зарегистрирован: Сб янв 05, 2008 12:01 pm
Контактная информация:

Re: Пишем на Java

Сообщение Phantom » Пн янв 21, 2008 1:38 pm

Вот типа описание, что содержится в пакете java.lang. Что такое "Интерфейс", "Исключения" и "Ошибки"?

Пакет java.lang:

Интерфейс:
- Runnable

Классы:
- Boolean
- Byte
- Character
- Class
- Integer
- Long
- Math
- Object
- Runtime
- Short
- String
- StringBuffer
- System
- Thread
- Throwable

Исключения:
- Exceptions
- ArithmeticException
- ArrayIndexOutOfBoundsException
- ArrayStoreException
- ClassCastException
- ClassNotFoundException
- IllegalAccessException
- IllegalArgumentException
- IllegalMonitorStateException
- IllegalStateException
- IllegalThreadStateException
- IndexOutOfBoundsException
- InstantiationException
- InterruptedException
- NegativeArraySizeException
- NumberFormatException
- RuntimeException
- SecurityException
- StringIndexOutOfBoundsException

Ошибки:
- Error
- VirtualMachineError

Аватара пользователя
blackstrip
Админ
Сообщения: 1006
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: Пишем на Java

Сообщение blackstrip » Вт янв 22, 2008 2:06 pm

интерфейс это типа способа работы чтоли. вот када мы пишем implements CommandListener или implements Runnable, например public class MoyPotok implements Runnable {...} - то мы говорим яве, что этот класс например имеет стандартный метод public void run() {..} который запустится когда мы запустим этот класс как потом. А implements CommandListener говорит яве о том, что есть тут стандартный метод public void commandAction(Command cmd, Displayable display) {..} в котором обрабатываются нажатия клавиш клавиатуры телефона. Ну и т.д.

А исключения и ошибки - это типы исключений и ошибок, которые могут возникать в методах этого класса. Т.е. например если у тя класс для доступа к файлам, то наверняка там будет возникать исключение какое нить типа java.io.FileNotFound (ну эт для примера, я не помню как оно точно называется). Впринципе все исключения - это классы, которые имеют общего родителя Exception, поэтому если ты напишешь:
try
{
//здесь страшные действия с файлами или еще чем, где могут возникнуть исключения
//например даже загрузка рисунка из внутренних ресурсов проги Image a = Image.createImage("/moymidlet/risunok.png");
}
catch (Exception ex) {
//а здесь можем просто выдать сообщения об ошибке, а можем например выдать ex.getMessage() - это прям от
//явы текст-объяснение в чем же произошла ошибка
}

то ты поймаешь в блок catch ЛЮБЫЕ исключения, в частности все исключения из того твоего верхнего списка

Phantom
Обсуждатель
Сообщения: 179
Зарегистрирован: Сб янв 05, 2008 12:01 pm
Контактная информация:

Re: Пишем на Java

Сообщение Phantom » Вт янв 22, 2008 2:26 pm

Мда... Чем больше узнаю, тем меньше понимаю... Эх...

masterweb
Новичок
Сообщения: 7
Зарегистрирован: Вс мар 16, 2008 12:49 am

Re: Пишем на Java

Сообщение masterweb » Сб апр 05, 2008 5:11 pm

Люди!!! Поможите!!!
В общем надо стереть н-ое количество байтов в начале файла(именно стереть!!! не забивать null-байтами, а стереть!!!), да еще так чтобы не использовать буферы, а использовать только конструктор RandomAccessFile() ну и естественно все его методы... КАК???
Усечение методом setLength() не подойдет т.к. усечение происходит с конца файла, а байты как я уже писал находятся в начале...

Phantom
Обсуждатель
Сообщения: 179
Зарегистрирован: Сб янв 05, 2008 12:01 pm
Контактная информация:

Re: Пишем на Java

Сообщение Phantom » Сб апр 05, 2008 6:14 pm

Мда... Вот поэтому я люблю PHP... =)

Аватара пользователя
blackstrip
Админ
Сообщения: 1006
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: Пишем на Java

Сообщение blackstrip » Сб апр 05, 2008 9:21 pm

я бы не парился, открыл бы второй файл на запись, и из первого перекинул по байтам бы тока то что нужно - т.е. в твоем случае это файл без n-ного колва байтов в начале =) конечно долго это будет, ну а что делать. p.s. если перекидывать сразу например массивами по 10 байт - то быстрее будет соответственно. но ты написал массивы (буферы) низя =)

masterweb
Новичок
Сообщения: 7
Зарегистрирован: Вс мар 16, 2008 12:49 am

Re: Пишем на Java

Сообщение masterweb » Вс апр 06, 2008 9:00 am

Мда... Спасибо за помощь, видимо придется тупо забивать нулями...
Слушай, Рысь, поделись исходничками, а, я хочу попытаться портировать его на компьютер. Обязуюсь не плагиатить и не передавать их третьим лицам... :-)

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость