modelo de segmentação BlackBerry

votos
10

Eu li um monte de comentários de mencionar de passagem que o modelo de segmentação BlackBerry se desvia do padrão Java e pode causar problemas, mas nenhuma quantidade de googling tem me iluminou sobre o que isso significa exatamente.

Eu tenho vindo a desenvolver uma bastante grande de aplicativos de negócios para o BlackBerry e, embora eu realmente não tenho qualquer experiência anterior com Java aplicações multi-threaded, não se deparar com qualquer problema que temos sido capazes de culpa sobre threading, que não seja o que causou a nós mesmos.

Alguém pode descrever exatamente como o modelo de segmentação BlackBerry é diferente, e como eu como um desenvolvedor deve levar isso em conta? Obviamente todos os links sobre o tema também seria ótimo.

Publicado 10/12/2008 em 15:42
fonte usuário
Em outras línguas...                            


4 respostas

votos
16

Operações de interface de usuário 1.UI sempre precisa executar no segmento. Para executar essas funções, como LabelField.setText("foo");você precisa fazer:

UiApplication.getUiApplication().invokeLater(new Runnable(){
  public void run(){
    myLabelField.setText("foo");
    myLabelField.setDirty(true);
  }
});

Muito fácil, né?

Operação 2.Network rede deve não executar dentro do segmento. Para fazer tais coisas fazer:

new Thread(){
  public void run(){
    HttpConnection hc = 
            (HttpConnection)Connector.open("http://www.stackoverflow.com");
  }
}.start();

Estes dois princípio básico são muito importantes. Você deve sempre tomar cuidado de, em qual segmento você está operando.

Respondeu 30/04/2009 em 17:11
fonte usuário

votos
2

Duas peculiaridades que encontrei nos fóruns blackberry:

  1. Vector não é thread-safe.
  2. Se você estiver criando um aplicativo CLDC blackberry nativa, um estático não é necessariamente uma coisa única sobre o VM.
Respondeu 23/03/2009 em 03:46
fonte usuário

votos
1

As diferenças não estão no modelo de segmentação, mas a forma como você usá-los e como o post inicial disse: Você não pode usar um fio ui para conexões de rede ou você não pode usar uma conexão de rede para atualizar a interface do usuário.

Há uma série de diferenças nesta matéria entre o que você chama de desktop java um java amora ... acredite em mim!

Respondeu 02/04/2011 em 17:47
fonte usuário

votos
0

O único problema que eu posso pensar é discutido na resposta à outra pergunta stackoverflow .

Respondeu 12/12/2008 em 21:15
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more