Pull to refresh

Comments 13

Мило. На втором курсе такими вещами занимался.
>> J2ME умерла… А вот и нет!

Все таки пациент скорее мерт чем жив
Некоторые J2ME программисты утверждают, что если в приложении нет такой «заставки» — это уже на 25% провальный проект.
А вот руководство для iOS разработчиков утверждает обратное:
Avoid displaying an About window or a splash screen. In general, try to avoid providing any type of startup experience that prevents people from using your application immediately.
Единственное оправдание для стартовых экранов — это если запуск приложения занимает много времени; тогда стартовый экран будет показывать, что приложение не зависло, а загружается. Во всех остальных случаях, заставлять пользователя смотреть на своё лого при каждом запуске, — это неуважение к пользователю, и верный путь в null.
Единственное оправдание для стартовых экранов — это если запуск приложения занимает много времени; тогда стартовый экран будет показывать, что приложение не зависло, а загружается…


И все равно там будет логотип, скорее всего.

Во всех остальных случаях, заставлять пользователя смотреть на своё лого при каждом запуске, — это неуважение к пользователю, и верный путь в null.


Возможно, тогда WebMoney — яркий пример который не уважает пользователей:



P.S Исправил опечатку в топике.
Не поставил вопросительный знак.

WebMoney — яркий пример который не уважает пользователей?
UFO just landed and posted this here
Можно я пару мелких комментариев вставлю?

1) private Image splash = null; // Наше изображения
инициализация лишняя. оно по стандарту и так будет проинициализировано

2) display.setCurrent(a);
тут у вас NPE вывалится, потому что display вы забыли установить

3) public static HabraSplash splash_screen;
избегайте статических объектов, а то будут в памяти висеть до окончания программы вместе со всеми своими потрохами.
        setFullScreenMode(true); //Полно экранный режим 
        w = getWidth();
        h = getHeight();
По моему опыту, лучше разворачиваться на весь экран в первом paint. И еще, у вас разворот на весь экран вот тут дублируется:
    public Habra(){
        habra_midlet = this;
        splash_screen = new HabraSplash();
    splash_screen.setFullScreenMode(true);// <=здесь
    }
Есть у меня сомнения, что канва нормально развернется на весь экран и получит правильные w и h до того, как ляжет на экран. А 100% узнать, что она готова для разворота на весь экран можно только при первом вызове её paint… ну может еще по нажатиям клавиш, etc.
Так что:
  private boolean isInFullScreen;
  
  protected void paint(Graphics g) {
    if (!isInFullScreen) {
      isInFullScreen = true;
      setFullScreenMode(true);
      w = getWidth();
      h = getHeight();
    }
    //отрисовка
  }

Да, и в конструктор мидлета тоже лучше ничего «тяжелого» не класть, лучше в startApp. На некоторых трубках это тоже может негативно отразиться.

Изучение J2ME даст Вам знание ООП, научит хорошо контролировать память и много чего другого.
Согласен. Писал довольно большую игрушку на j2me; как только не приходилось извращаться…
Так всегда в большинстве случаев и происходит.
Самая главная причина: убогий стандартный UI (в наиболее старых телефонах). Новые сейчас слава богу радуют своим стандартным UI. отсутствие единого UI. Конечно же, имею ввиду пакет:
import javax.microedition.lcdui.*;

И как следствие, вечные велосипеды, которые занимаются отрисовкой собственного UI на
import javax.microedition.lcdui.Canvas;
Да, вы правы. Опытным путём было выявлено, что функцию setFullScreenMode и ф-ии получения высоты/ширины лучше вкладывать именно в ф-ию paint.
Особенно, заметен результат, когда запускаешь приложение на, скажем LG KP500, владельцем которого я являюсь.
На самом деле, прочитав заголовок статьи, обрадовался: подумал, что наконец появился по-настоящему достойный и интересный топик по теме J2ME платформы, но ничего нового, к сожалению, не увидел.
Но, да, предупреждение в начале топика видел и поэтому хочу сказать автору топика «Спасибо» за развитие темы J2ME.
Добавьте в топик, например, как заставить показывать ваш Splash Screen, как фоновый рисунок в Sony Ericsson.
Если захотите получить информацию по этой теме — пишите в ЛС.
Sign up to leave a comment.

Articles