Форум программистов, компьютерный форум CyberForum.ru

Первый проект в JavaME - Java ME

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
moramar
 Аватар для moramar
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 42
09.04.2015, 21:33     Первый проект в JavaME #1
Здравствуйте форумчане! Возникла проблема с которой, надеюсь, разберусь с вашей помощью! Было поставлено задание сделать один проект,из-за маленького недопонимания он был выполнен как программа на комп, а надо для звонилки. Дел со звонилками не имел, но сделать надо, поэтому приму любые ваши советы, обьяснения и прочее. Понятия не имею даже как скомпилить для Андроида(пока что во всяком случае), совсем новая тема...
Окошко.
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
 
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
 
 
public class MainFrame {
 
    public static void main(String[] args) {
    SimpleFrame window = new SimpleFrame();
    
    }
}
class SimpleFrame extends JFrame{
    private String title = "Default Title";    
    private ImageIcon activebtn = new ImageIcon("Active.png");
    private ImageIcon passivebtn = new ImageIcon("Passive.png");
    private ImageIcon back = new ImageIcon("back2.jpg");
    private JLabel imgLabel=new JLabel(back);
    private JLabel imgBtnLabel=new JLabel(passivebtn);
    private JPanel panel = new JPanel();
    private JButton btn = new JButton();
    
    private void constructFrame(){
        setTitle(title);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
    Dimension scrSize = Toolkit.getDefaultToolkit().getScreenSize();
    double width = scrSize.getWidth();
    double height=scrSize.getHeight();
    setResizable(true);
    this.add(panel);
    panel.setLayout(null);
    panel.add(imgBtnLabel);
    panel.add(imgLabel);    
    imgLabel.setBounds(0, 0,back.getIconWidth(),back.getIconHeight() ); 
    imgBtnLabel.setBounds(imgLabel.getWidth()/2-passivebtn.getIconWidth()/2 -6,
        imgLabel.getHeight()/2-passivebtn.getIconHeight()/2 -15,
        128,128);
    setSize(imgLabel.getWidth(),imgLabel.getHeight()+35);
    setLocation((int) width / 2 - getWidth() / 2, (int) height / 2 - getHeight() / 2);
    
    imgBtnLabel.addMouseListener(new MouseListener() {      
        @Override
        public void mouseReleased(MouseEvent arg0) {
        imgBtnLabel.setIcon(passivebtn);
        AClient client = new AClient();
        try {
            System.out.println(client.run());
        } catch (Exception e) {
            System.out.println("error "+e);
        }
        }       
        @Override
        public void mousePressed(MouseEvent arg0) {
        imgBtnLabel.setIcon(activebtn);     
        }       
        @Override
        public void mouseExited(MouseEvent arg0) {
        // TODO Auto-generated method stub      
        }       
        @Override
        public void mouseEntered(MouseEvent arg0) {
        // TODO Auto-generated method stub      
        }       
        @Override
        public void mouseClicked(MouseEvent arg0) {
        // TODO Auto-generated method stub      
        }
    });
    
    }
    
    
    SimpleFrame(){
    super();
    constructFrame();
    }
}

Код клиента
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.io.*;
import java.net.*;
 
 
 
public class AClient {
 
    public String run()throws Exception{
    Socket sock = new Socket("localhost",444);
    PrintStream ps = new PrintStream(sock.getOutputStream());
    ps.println("Запускай!!!");
    
    InputStreamReader ir = new InputStreamReader(sock.getInputStream());
    BufferedReader reader = new BufferedReader(ir);
    
    String message = reader.readLine();
    //System.out.println(message);
    return message;
    }
}


Добавлено через 41 секунду
P.S. Звонилка - мобильный телефон. =)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MLPMan
Кандёхаем веселее!
 Аватар для MLPMan
281 / 275 / 34
Регистрация: 02.10.2012
Сообщений: 1,938
12.04.2015, 04:38     Первый проект в JavaME #2
Прогу предполагается запускать только на Андроидах, или на Java ME тоже? В любом случаи придётся переписывать, Андроид хоть и поддерживает Java SE, но кроме GUI (AWT/Swing), там какой-то свой подход.
moramar
 Аватар для moramar
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 42
12.04.2015, 14:23  [ТС]     Первый проект в JavaME #3
Цитата Сообщение от MLPMan Посмотреть сообщение
но кроме GUI (AWT/Swing), там какой-то свой подход
Плохая новость. Я думаю что подразумевалось на JavaME тоже. Не могу понять сам процесс как запускать приложение на мобильном, есть код, что с ним дальше то делать?
И кому не сложно, подскажите чем заменить GUI от JSE, для JME.
MLPMan
Кандёхаем веселее!
 Аватар для MLPMan
281 / 275 / 34
Регистрация: 02.10.2012
Сообщений: 1,938
12.04.2015, 16:21     Первый проект в JavaME #4
Цитата Сообщение от moramar Посмотреть сообщение
Не могу понять сам процесс как запускать приложение на мобильном, есть код, что с ним дальше то делать?
Да как обычно, сконпелировать, собрать, но запускать уже на мобильном устройстве или эмуляторе. Проще всего скачать плагин для IDE, чтобы всё искаропки.

Цитата Сообщение от moramar Посмотреть сообщение
Я думаю что подразумевалось на JavaME тоже.
Тогда надо компилировать в мобильный .jar, он запускается на большинстве мобил, а для Андроида есть прога-интерпретатор (у них свой формат приложений, .apk). Кстати говоря, технологии уже ~15 лет, не особо востребована (судите сами, соотношение "активных"(тех, кто качает проги) юзеров смартфонов на ведре и обычных мобил), да и возможности API намного беднее будут: MIDP 2.0 javadocs. Привычных классов Java SE, вроде регулярных выражений там не окажется, не говоря уже о развитой рефлексии или API для XML, но для базовых вещей есть свои спартанские аналоги. И да, уровень языка тока 1.4 версии (то бишь даже без дженериков).

Цитата Сообщение от moramar Посмотреть сообщение
И кому не сложно, подскажите чем заменить GUI от JSE, для JME.
Что-то типа этого:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public class App extends MIDlet {
 
  Form frm = new Form("Default Title");
  Command formCmd = new Command("Do", Command.OK, 1);  
  
  final int MENU_ACT = 0, MENU_PASS = 1, MENU_EX = 2;
  List menu = new List("", List.IMPLICIT, new String[]{"Active","Passive","Exit"}, null);   
  Command menuCmd = new Command("Ok", Command.OK, 1);
    
    
  class Listener1 implements CommandListener {
    public void commandAction(Command c, Displayable d) {
      if (c == menuCmd) switch (menu.getSelectedIndex()) {
        case MENU_ACT : {}
        case MENU_PASS : {}
        case MENU_EX : {
          destroyApp(false);
          notifyDestroyed();
        }
      }
      if (c == formCmd) {
        disp.setCurrent(menu);
      }
    }
  }
 
  Display disp = Display.getDisplay(this);
 
  public void startApp()  {
    menu.addCommand(menuCmd);
    frm.addCommand(formCmd);
    CommandListener li = new Listener1() ;
    menu.addCommandListener(li);
    frm.addCommandListener(li);    
    disp.setCurrent(frm);    
  }
 
}
Добавлено через 14 минут
Выбрав Андроид, придётся переделывать только интерфейс, а JavaME - и логику тоже.
moramar
 Аватар для moramar
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 42
12.04.2015, 16:29  [ТС]     Первый проект в JavaME #5
Цитата Сообщение от MLPMan Посмотреть сообщение
Проще всего скачать плагин для IDE, чтобы всё искаропки.
Пытаюсь для Eclipse найти. И да, вы правы, я протупил что-то, для Android надо написать, а не для всех(JME). Код ща попробую разобрать, но чет уже вижу не сходства))
MLPMan
Кандёхаем веселее!
 Аватар для MLPMan
281 / 275 / 34
Регистрация: 02.10.2012
Сообщений: 1,938
12.04.2015, 16:44     Первый проект в JavaME #6
Цитата Сообщение от moramar Посмотреть сообщение
Код ща попробую разобрать, но чет уже вижу не сходства))
Только он не для андроида, у них вроде вообще при помощи XML компоненты размещают.

Добавлено через 1 минуту
Цитата Сообщение от moramar Посмотреть сообщение
Пытаюсь для Eclipse найти.
Там сделали на основе Eclipse отдельную IDE, чисто для Андроидов. Не помню, как называется, но, думаю, легко отыщете.
moramar
 Аватар для moramar
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 42
12.04.2015, 17:12  [ТС]     Первый проект в JavaME #7
Цитата Сообщение от MLPMan Посмотреть сообщение
чисто для Андроидов.
Случайно не Android Studio?
MLPMan
Кандёхаем веселее!
 Аватар для MLPMan
281 / 275 / 34
Регистрация: 02.10.2012
Сообщений: 1,938
12.04.2015, 17:33     Первый проект в JavaME #8
Цитата Сообщение от moramar Посмотреть сообщение
Случайно не Android Studio?
Наверное, но он на базе другой среды. Наверное, я что-то напутал, ща поcмотрел, для Eclipse только плагин есть.
moramar
 Аватар для moramar
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 42
12.04.2015, 18:02  [ТС]     Первый проект в JavaME #9
Цитата Сообщение от MLPMan Посмотреть сообщение
для Eclipse только плагин есть.
Плагин этот скачал, и настроил, он позволяет создавать Android проекты в Eclipse, но они как я понимаю не на Java языке пишутся?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.04.2015, 18:15     Первый проект в JavaME
Еще ссылки по теме:

Java ME JavaME Servlet PrintWriter и BufferedReader
eclipse для android, не может импортировать в проект пакет javax.microedition.lcdui.* Java ME
Реально ли программировать на javaME 8-битные контроллеры? Java ME
Первый большой проект на Qt C++ Qt
Java ME Приложение javaMe: созданные команды не назначаются на центральную кнопку

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
MLPMan
Кандёхаем веселее!
 Аватар для MLPMan
281 / 275 / 34
Регистрация: 02.10.2012
Сообщений: 1,938
12.04.2015, 18:15     Первый проект в JavaME #10
Цитата Сообщение от moramar Посмотреть сообщение
не на Java языке пишутся?
Почему, на ней. Только библиотеки другие.
Yandex
Объявления
12.04.2015, 18:15     Первый проект в JavaME
Ответ Создать тему
Опции темы

Текущее время: 08:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru