Пишем на Java
- blackstrip
- Админ
- Сообщения: 1187
- Зарегистрирован: Ср янв 02, 2008 1:42 pm
- Откуда: Подольск
- Контактная информация:
Re: Пишем на Java
наличие любого класса в мобиле можно проверить так (на примере 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) если такого нет, и по ловле исключения можно сказать есть ли такой класс в мобиле или нет.
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) если такого нет, и по ловле исключения можно сказать есть ли такой класс в мобиле или нет.
Re: Пишем на Java
О, кстати. Вот это: javax.microedition.lcdui.Spacer значит, что мы берём класс Spacer из пакета javax.microedition.lcdui ? Верно? Я, вроде понимать начинаю... Я сегодня ещё не продолжал читать учебник, некогда было.
- blackstrip
- Админ
- Сообщения: 1187
- Зарегистрирован: Ср янв 02, 2008 1:42 pm
- Откуда: Подольск
- Контактная информация:
Re: Пишем на Java
Да. По идее функция Class.forName("путь и имя класса") возвращает найденный класс по такому имени. Но ее можно как процедуру вызывать, тада она ничего не возвращает (точнее возвращает, но это не записывается ни в какую переменную). И если класс не найден - то произойдет исключение и Nashli=true; не будет выполнено, т.к. исполнение перейдет сразу в ловушку исключений catch (Exception ex) {...}, где в принципе можно еще и обработать как то это событие (например выдать сообщение "такого класса нету").
Re: Пишем на Java
Вот типа описание, что содержится в пакете 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
Пакет 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
- Админ
- Сообщения: 1187
- Зарегистрирован: Ср янв 02, 2008 1:42 pm
- Откуда: Подольск
- Контактная информация:
Re: Пишем на Java
интерфейс это типа способа работы чтоли. вот када мы пишем 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 ЛЮБЫЕ исключения, в частности все исключения из того твоего верхнего списка
А исключения и ошибки - это типы исключений и ошибок, которые могут возникать в методах этого класса. Т.е. например если у тя класс для доступа к файлам, то наверняка там будет возникать исключение какое нить типа java.io.FileNotFound (ну эт для примера, я не помню как оно точно называется). Впринципе все исключения - это классы, которые имеют общего родителя Exception, поэтому если ты напишешь:
try
{
//здесь страшные действия с файлами или еще чем, где могут возникнуть исключения
//например даже загрузка рисунка из внутренних ресурсов проги Image a = Image.createImage("/moymidlet/risunok.png");
}
catch (Exception ex) {
//а здесь можем просто выдать сообщения об ошибке, а можем например выдать ex.getMessage() - это прям от
//явы текст-объяснение в чем же произошла ошибка
}
то ты поймаешь в блок catch ЛЮБЫЕ исключения, в частности все исключения из того твоего верхнего списка
Re: Пишем на Java
Мда... Чем больше узнаю, тем меньше понимаю... Эх...
Re: Пишем на Java
Люди!!! Поможите!!!
В общем надо стереть н-ое количество байтов в начале файла(именно стереть!!! не забивать null-байтами, а стереть!!!), да еще так чтобы не использовать буферы, а использовать только конструктор RandomAccessFile() ну и естественно все его методы... КАК???
Усечение методом setLength() не подойдет т.к. усечение происходит с конца файла, а байты как я уже писал находятся в начале...
В общем надо стереть н-ое количество байтов в начале файла(именно стереть!!! не забивать null-байтами, а стереть!!!), да еще так чтобы не использовать буферы, а использовать только конструктор RandomAccessFile() ну и естественно все его методы... КАК???
Усечение методом setLength() не подойдет т.к. усечение происходит с конца файла, а байты как я уже писал находятся в начале...
Re: Пишем на Java
Мда... Вот поэтому я люблю PHP... =)
- blackstrip
- Админ
- Сообщения: 1187
- Зарегистрирован: Ср янв 02, 2008 1:42 pm
- Откуда: Подольск
- Контактная информация:
Re: Пишем на Java
я бы не парился, открыл бы второй файл на запись, и из первого перекинул по байтам бы тока то что нужно - т.е. в твоем случае это файл без n-ного колва байтов в начале =) конечно долго это будет, ну а что делать. p.s. если перекидывать сразу например массивами по 10 байт - то быстрее будет соответственно. но ты написал массивы (буферы) низя =)
Re: Пишем на Java
Мда... Спасибо за помощь, видимо придется тупо забивать нулями...
Слушай, Рысь, поделись исходничками, а, я хочу попытаться портировать его на компьютер. Обязуюсь не плагиатить и не передавать их третьим лицам...
Слушай, Рысь, поделись исходничками, а, я хочу попытаться портировать его на компьютер. Обязуюсь не плагиатить и не передавать их третьим лицам...
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя