Drehen Standard-Oracle Java in Android Java

Hier ist das Szenario: Sie haben eine Killer-Applikation, die in Java geschrieben. Die App läuft auf Windows- und Macintosh-Betriebssysteme. Die App läuft nicht auf einem mobilen Gerät (weil Java SE Programme laufen nicht auf mobile Geräte).

Sie wollen wissen, wie die App aussieht, wenn es auf einem Android-Gerät läuft. Und hier ist noch eine Sache: Sie haben keine ernsthafte Gedanken machen wollen. Das wäre zu viel Stress bedeuten!

Ein Java-Programm für einen Desktop-Computer oder Laptop

Können Sie schnell und mechanisch die App in eine Android App verwandeln? Sie können. Beginnen Sie mit dem einfachen Programm in dieser Auflistung.

Paket com.allmycode.tickets-Import javax.swing.JOptionPane-public class Ticketpreis {public static void main (String [] args) {String ageString-int age-String Preis-ageString = JOptionPane.showInputDialog ( "Alter?") - age = Integer.parseInt (ageString) -wenn (Alter lt; 18 || 65 lt; = Alter) {price = "$ 7,00" -} else {price = "$ 10.00" -} JOptionPane.showMessageDialog (null, Preis, "Ticket-Preis", JOptionPane.INFORMATION_MESSAGE) -}}

Der Code in dieser Auflistung fordert den Benutzer für eine Reihe (das Alter des Benutzers). Wenn der Benutzer ein Kind ist oder ein Senior, ist der Ticketpreis nur 7,00 $. Ansonsten ist der Ticketpreis $ 10,00.

Um dieses Angebot in eine Android App konvertieren, gehen Sie wie folgt vor:

  1. Mit Eclipse erstellen Sie ein Android-Projekt.

  2. In der Layout-Datei Haupttätigkeit, erstellen Sie mindestens drei Widgets: eine Text bearbeiten Widget, a Taste Widget und ein Textview Widget.

EIN res / Layout / activity_main.xml Datei

Hier ist ein Beispiel-Layout-Datei.

Android: onclick = "whenButtonclicked"Android: text = "@ Zeichenfolge / einreichen"/> 

Im dieses lhenden, the editText1 Feld ist, wo der Benutzer sein oder ihr Alter eintritt. Der Benutzer klickt auf den button1 Widget, um die App zu sagen Ticketpreis zu berechnen, und dann wird der Ticketpreis erscheint in der textView1 Feld.

Im nächsten Schritt, einen Sinn geben Sie die @string Dinge aus dieser zweiten Liste.

Eine res / Werte / strings.xml Datei

Hinzufügen Schnur Elemente der App strings.xml Datei, wie gezeigt in Dies Auflistung.

lt;? xml version = "1.0" encoding = "utf-8">Ticket PreisEinstellungenHallo Welt!Geben Sie Ihr Alter hiereinreichenTicket Preis

Die fett gedruckte Linien in dieser Auflistung bieten Bedeutungen für die Namen @ Zeichenfolge / enter_age, @ Zeichenfolge / einreichen, und @ Zeichenfolge / ticket_price in der Layout-Datei Aktivität.

Dies ist Ihre Chance, Ihre App verwendbar für die Leser auf der ganzen Welt zu machen. Um zum Beispiel die Französisch Übersetzung Ihrer App zu erstellen, fügen Sie ein res / Werte-fr Verzeichnis für das Projekt. In einem strings.xml Datei in der res / Werte-fr Verzeichnis, verwenden Sie den gleichen Namen Attribute (enter_age, einreichen, und Ticket Preis). Aber zwischen den einzelnen Start-Tag und End-Tag, legen Sie die Französisch Übersetzung des Textes, der auf dem Bildschirm des Benutzers angezeigt wird. Wenn Französisch sprechenden Kunden Ihre Anwendung verwenden, sehen sie den Text in ihrer Muttersprache.

Die Haupttätigkeit

Fügen Sie den Code auf der Java-Datei der Hauptaktivität, wie in dieser Auflistung gezeigt.

Paket com.example.ticketprice-Import android.app.Activity-Import android.os.Bundle-Import android.view.Menu-Import android.view.View-Import android.widget.EditText-Import android.widget.TextView öffentlichen Klasse MainActivity erstreckt Aktivität { EditText editText- Textview textView-@Overrideprotected Leere onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState) -setContentView (R.layout.activity_main) -editText = (EditText) findViewById (R.id.editText1) -Textview = (Textview) findViewById (R.id.textView1) -} public void whenButtonclicked (View-Ansicht) {String ageString-int alters-String preis-(AgeString = editText.getText) toString (). -age = Integer.parseInt (ageString) -if (Alter lt; 18 || 65 lt; = Alter) { Preis = "$ 7,00" -} Else { Preis = "$ 10.00" -}textView.setText (Preis) - }@Overridepublic Boolean onCreateOptionsMenu (Menü-Menü) {getMenuInflater (). Aufblasen (R.menu.main, Menü) -return Echt-}}

In Listing 2, ist der Knopf auf Knopfdruck Attribut-Wert whenButtonclicked. So in Listing 4, antworten Sie auf einen Klick auf den Button mit dem neuen whenButtonclicked Verfahren. Dies whenButtonclicked Verfahren enthält die meisten der Aussagen, die in der ursprünglichen Standard-Java-Programm. Der große Unterschied ist die Art, wie Sie Text aus dem Benutzer zu bekommen, und die Art, wie Sie die Ergebnisse auf dem Bildschirm des Benutzers angezeigt werden soll.

  • In der Standard-Java-Programm, das Sie verwenden JOptionPane zu erstellen Dialogfelder. Die Boxen der Benutzer zur Eingabe auffordern, und die Ergebnisse des Programms angezeigt werden soll.

  • Im Android Java-Programm, verwenden Sie die Widgets auf dem Bildschirm des Aktivität für Eingang und Ausgang. Nachdem erklärt Text bearbeiten in der Nähe der Start des Codes, rufen Sie editText.getText (). toString () die Eingabe des Benutzers zu holen. Und da erklärt Textview in der Nähe der Start des Codes, rufen Sie textView.setText (Preis) die Programmergebnisse anzuzeigen.

Und dort haben Sie es - ein Android-Programm von einem Standard-Java-Programm!

Menü