Voltando padrão do Oracle Java em Java Android

Aqui está o cenário: Você tem um killer app, escrito em Java. O aplicativo é executado nos sistemas operacionais Windows e Macintosh. O aplicativo não pode ser executado em um dispositivo móvel (porque os programas Java SE não rodam em dispositivos móveis).

Você quer saber como o aplicativo parece quando ele é executado em um dispositivo Android. E aqui está mais uma coisa: Você não quer fazer qualquer reflexão séria. Isso envolveria muito estresse!

Um programa Java para um computador desktop ou laptop

você pode rapidamente e mecanicamente transformar o aplicativo em um aplicativo Android? Você pode. Comece com o programa simples nesta lista.

pacote com.allmycode.tickets-import classe javax.swing.JOptionPane-pública Preço do ingresso {public static void main (String [] args) {String ageString-int preço-ageString age-String = JOptionPane.showInputDialog ( "Age?") - idade = Integer.parseInt (ageString) -se (idade lt; 18 || 65 lt; = idade) {price = "$ 7,00" -} else {price = "$ 10,00" -} JOptionPane.showMessageDialog (null, preço, "O preço do bilhete", JOptionPane.INFORMATION_MESSAGE) -}}

O código nesta lista solicita ao usuário um número (a idade do usuário). Se o usuário é uma criança ou um idoso, o preço do bilhete é de apenas US $ 7,00. Caso contrário, o preço do bilhete é de R $ 10,00.

Para converter este anúncio em um aplicativo Android, faça o seguinte:

  1. Usando o Eclipse, crie um projeto Android.

  2. No arquivo de layout principal da atividade, criar pelo menos três widgets: uma Editar texto widget, um Botão widget, e uma TextView ferramenta.

UMA res / layout / activity_main.xml Arquivo

Aqui está um arquivo de layout amostra.

android: onclick = "whenButtonclicked"android: text = "@ Cordas / apresentar"/> 

Dentro este lno existentes, the editText1 campo é onde o usuário digita sua idade. O usuário clica no button1 widget para dizer o aplicativo para calcular o preço do bilhete, e então o preço do bilhete aparece no textView1 campo.

Na próxima etapa, você dá sentido à @corda coisas a partir desta segunda lista.

A / valores / arquivo strings.xml res

Adicionar corda elementos para o aplicativo de strings.xml arquivo, como mostrado na esta listagem.

lt;? xml version = "1.0" encoding = "utf-8">Preço do bilheteConfiguraçõesOlá Mundo!Informe a sua idade aquiEnviarPreço do bilhete

As linhas em negrito nesta lista fornecem significados para os nomes @ Cordas / enter_age, @ Cordas / apresentar, e @ Cordas / ticket_price no arquivo de layout da atividade.

Esta é a sua chance de fazer seu aplicativo útil para os leitores de todo o mundo. Por exemplo, para criar a tradução francesa do seu aplicativo, adicione uma res / valores-fr diretório para o projeto. Em um strings.xml arquivar na res / valores-fr diretório, use os mesmos atributos de nome (enter_age, enviar, e preço do bilhete). Mas entre cada marca de início e a marca final, coloque a tradução francesa do texto que aparece na tela do usuário. Quando os clientes de língua francesa usar a sua aplicação, eles vêem o texto na sua língua nativa.

A principal atividade

Adicione código para arquivo Java principal da atividade, como mostrado nesta listagem.

pacote com.example.ticketprice-import android.app.Activity-import android.os.Bundle-importação android.view.Menu-importação android.view.View-importação android.widget.EditText-import android.widget.TextView-pública classe MainActivity estende Atividade { EditText editText- TextView textView-@Overrideprotected OnCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState) -setContentView void (R.layout.activity_main) -EditText = (EditText) findViewById (R.id.editText1) -textView = (TextView) findViewById (R.id.textView1) -} vazio whenButtonclicked (Vista) pública {Cordas ageString-int à idadepreço- seqüênciaageString = editText.getText toString () (). -idade = Integer.parseInt (ageString) -se (idade lt; 18 || 65 lt; = idade) { price = "$ 7,00" -} outro { price = "$ 10,00" -}textView.setText (preço) - }@Overridepublic Boolean onCreateOptionsMenu (menu Menu) {getMenuInflater (). Inflar (R.menu.main, menu) -Retornar verdade-}}

Na Listagem 2, o botão de onclick atributo tem valor whenButtonclicked. Assim, na Listagem 4, você responde a um clique do botão com o seu novo whenButtonclicked método. este whenButtonclicked método contém a maioria das declarações que estavam em seu programa padrão original Java. A grande diferença é a maneira que você começa de texto do usuário, ea maneira como você exibir os resultados na tela do usuário.

  • No programa Java padrão que você usa JOptionPane para criar caixas de diálogo. As caixas de pedir ao utilizador para a entrada, e exibir os resultados do programa.

  • No programa Java Android, você usa os widgets na tela do atividade para entrada e saída. tendo declarado editar texto perto do início do código, você chama editText.getText (). toString () para buscar a entrada do usuário. E ter declarado textView perto do início do código, você chama textView.setText (preço) para exibir os resultados do programa.

E aí está - um programa Android a partir de um programa Java padrão!

menu