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
Conteúdo
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.
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.