Como dar um objeto java mais responsabilidade no seu app para android

Às vezes, você quer dar o seu objeto Java mais para fazer em seu aplicativo Android. Considere o seguinte: Você tem uma impressora e você tentar instalá-lo em seu computador. É uma impressora capaz, mas ele não veio com o seu computador, para que o seu computador precisa de um programa para dirigir

a impressora: uma impressora motorista. Sem um motorista, a sua nova impressora é nada mais que um peso de papel gigante.

Mas, às vezes, encontrar um driver de dispositivo pode ser uma dor no pescoço. Talvez você não pode encontrar o disco que veio com a impressora.

Imagine que você tem uma impressora off-marca cujo controlador é construído em sua memória permanente. Ao conectar a impressora a uma porta USB, o computador exibe um novo local de armazenamento. (A localização parece, para usuários comuns, como outro dos discos do computador.) Os drivers para a impressora são armazenados diretamente na memória interna da impressora. É como se a impressora sabe dirigir-se!

Video: Android Studio + Firebase - 02 - Adicionando e Modificando um Objeto

Vamos dizer que você deseja exibir as propriedades de um saco especial, e você não gosta de lidar com pequenos detalhes de um saco. Em particular, você não gosta de se preocupar com vírgulas, espaços em branco e nomes de campo quando você exibir um saco:

bag.kind + ", " + + Bag.weight ", " +

Video: Como fazer aplicativos (parte 1 de 2) app soma

bag.daysAged + ", " + + Bag.isDomestic " n"

Você prefere ter o BagOfCheese classe descobrir como exibir um de seus objetos.

Aqui está o plano: Mova o grande corda com campos da bolsa, as vírgulas e os espaços da Atividade principal classe para o BagOfCheese classe. Isto é, fazer com que cada BagOfCheese objeto ser responsável por descrever-se em Corda Formato. Você poderia fazer dar forma de cada saco de seu próprio botão Display.

java-programming-for-android-developers-2E-display-botões

A característica interessante de um botão de exibição é que quando você pressiona-lo, o texto que você vê depende do saco de queijo que você está examinando. Mais precisamente, o texto que você vê depende dos valores em campos que de forma particular.

A mesma coisa acontece no segundo conjunto de código abaixo quando você chamar bag1.toString (). Java é executado o para sequenciar método mostrado o primeiro conjunto de código. Os valores usados ​​nesse chamada de método - tipo, peso, daysAged, e isDomestic - são os valores na bag1 campos do objeto. Da mesma forma, os valores utilizados quando você chamar bag2.toString () são os valores na bag2 campos do objeto.

com.allmycode.a09_10- pacote

BagOfCheese classe pública {

Public String kind-

Video: Xamarim - Criando Apps com Visual Studio e C#

peso duplo pública

int público daysAged-

isDomestic- public boolean

BagOfCheese pública () {

}

BagOfCheese (tipo public String, peso duplo,

int daysAged, boolean isDomestic) {

this.kind = kind-

this.weight = peso

this.daysAged = daysAged-

this.isDomestic = isDomestic-

}

public String toString () {

retornar tipo + ", " + + Peso ", " + + DaysAged ", " + + IsDomestic " n"-

}



}

Agora, vamos dar uma olhada em ter um saco exibir-se.

com.allmycode.a09_11- pacote

importação android.support.v7.app.AppCompatActivity-

importação android.os.Bundle-

importação android.widget.TextView-

importação com.allmycode.a09_10.BagOfCheese-

classe pública MainActivity estende AppCompatActivity {

TextView textView-

@Sobrepor

protected void onCreate (Bundle savedInstanceState) {

super.onCreate (savedInstanceState) -

setContentView (R.layout.activity_main) -

textView = (TextView) findViewById (R.id.textView) -

BagOfCheese bag1 = new BagOfCheese ("queijo Cheddar", 2,43, 30, true) -

BagOfCheese Bag2 = new BagOfCheese ("Azul", 5,987, 90, false) -

textView.setText ("") -

textView.append (bag1.toString ()) -

textView.append (bag2.toString ()) -

}

}

No primeiro conjunto de código, o BagOfCheese objeto tem seu próprio, sem parâmetros para sequenciar método. E no segundo set, as duas linhas seguintes fazer duas chamadas para o para sequenciar Método - uma chamada para bag1 e outra chamada para bag2:

textView.append (bag1.toString ()) -

textView.append (bag2.toString ()) -

Uma chamada para para sequenciar se comporta de forma diferente dependendo do saco especial que está sendo exibido. Quando você chama bag1.toString (), você vê os valores de campo para bag1, e quando você chamar bag2.toString (), você vê os valores de campo para bag2.

Para chamar um dos métodos de um objeto, siga uma referência para o objeto com um ponto e, em seguida, o nome do método.


Publicações relacionadas