Sto imparando Java e sto pensando a come e quando imparare Android?

6

Sto imparando Java e mi chiedevo quando sarebbe stato meglio per me provare a sviluppare qualcosa per Android? Ho due preoccupazioni specifiche.

1.Come l'API Android è diversa dall'API Java principale? Sono simili o radicalmente diversi?

2. Ho sentito che è necessario creare più versioni di una determinata applicazione per diversi dispositivi. È corretto?

Non ho idea di dove cominciare quando rispondo a queste domande.

    
posta arrrrgv 10.08.2011 - 04:09
fonte

3 risposte

4

Android non è una lingua o un sottoinsieme ma un'API

L'API Android è scritta per la lingua java. Di seguito sono riportati i requisiti di sistema degli sviluppatori Android. Che descrive la versione specifica di java ed eclipse, ecc. Che dovrai essere in grado di creare applicazioni Android.

Supported Development Environments Eclipse IDE

Eclipse 3.5 (Galileo) or greater

Note: Eclipse 3.4 (Ganymede) is no longer supported with the latest version of ADT. Eclipse JDT plugin (included in most Eclipse IDE packages) If you need to install or update Eclipse, you can download it from http://www.eclipse.org/downloads/.

Several types of Eclipse packages are available for each platform. For developing Android applications, we recommend that you install one of these packages:

  • Eclipse IDE for Java Developers
  • Eclipse Classic (versions 3.5.1 and higher)
  • Eclipse IDE for Java EE Developers
  • JDK 5 or JDK 6 (JRE alone is not sufficient)
  • Android Development Tools plugin (recommended)
  • Not compatible with Gnu Compiler for Java (gcj)

I dispositivi potrebbero eseguire diverse versioni del sistema operativo Android

Come è possibile immaginare come il sistema operativo Android si è evoluto, così ha l'API per essere in grado di dare agli sviluppatori la possibilità di targeting nuovi dispositivi in grado di eseguire le ultime funzionalità. Allo stesso modo queste nuove funzionalità non sono visualizzabili su dispositivi precedenti e quindi sono incompatibili con tali dispositivi.

Codice in deprecazione di funzioni eleganti

Quello che devi decidere come sviluppatore Android è quali funzionalità desideri nella tua applicazione determineranno quali dispositivi puoi supportare. E se desideri supportare una più ampia varietà di dispositivi, dovrai quindi scrivere codice per rilevare la versione del dispositivo e disabilitare in modo sicuro parti del tuo codice che utilizzeranno funzionalità incompatibili su dispositivi meno recenti.

Gli sviluppatori google hanno linee guida chiare su quali funzionalità sono supportate nei nuovi dispositivi e lavorando con la retrocompatibilità spetta allo sviluppatore garantire che funzioni come previsto.

Quando posso iniziare ad imparare Android?

Praticamente quando vuoi, da uno dei tuoi altri post vedo che hai già familiarità con C #. Java è molto simile a C # (cronologicamente è il contrario di iirc) in molti modi e le differenze possono essere minori in molti modi (nessun LINQ e supporto diverso per generici) ecc.

Tuttavia, queste differenze non dovrebbero in alcun modo influire sulla tua capacità di imparare java e applicare tale conoscenza alla scrittura di app Android. Quasi come Winforms, Android ha il suo modo di fare cose che determinerà quali tecniche sarà necessario utilizzare per ottenere la funzionalità desiderata.

    
risposta data 10.08.2011 - 04:20
fonte
1
  1. La piattaforma di sviluppo Android fa uso di un sottoinsieme del linguaggio di programmazione Java, semplicemente perché il dispositivo mobile è più limitato di un computer standard. Non dovrai affrontare differenze nella lingua, ma solo ciò che puoi utilizzare per svilupparlo per Android.

  2. Poiché Android è una piattaforma aperta utilizzata su vari dispositivi mobili, ciascun dispositivo sarà leggermente diverso (ad esempio, la risoluzione dello schermo). Non solo dovrai tenerne conto quando sviluppi per Android, ma devi considerare anche la versione della piattaforma Android utilizzata dal dispositivo mobile (ovvero non tutti i dispositivi utilizzano l'ultima versione di Android).

risposta data 10.08.2011 - 04:19
fonte
1

L'androide di Android è leggermente diverso dal java normale. Ad esempio, molto probabilmente, sei abituato a creare applicazioni Swing (o anche awt), in cui crei la GUI nel codice java. Nella programmazione Android, crei la tua interfaccia utente in XML e dai a ciascun elemento un ID che chiami nel tuo codice. questo rende tutto più dinamico. Inoltre, la programmazione Android è probabilmente più vicina alla programmazione delle applet rispetto alla normale programmazione Swing, in quanto al posto di un metodo principale esistono diversi metodi. uno per la creazione, uno per l'avvio, uno per l'arresto e uno per la distruzione dell'applicazione.
per la creazione, è:

    @Override
       onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
       }

quindi per l'avvio, c'è un:

    @Override
       onStart() {
         super.onStart();
       }

quindi per lo stop, c'è un:

    @Override
       onStop() {
         super.onStop();
       }

quindi per Distruggere l'applicazione c'è:

    @Override
       onDestroy() {
         super.onDestroy();
       }

Mentre tutto ciò può sembrare diverso, è relativamente facile una volta capito. Ho imparato semplicemente leggendo Sviluppo di applicazioni Android for Dummies , questo è quello che consiglierei. non è poi così diverso dal java normale una volta che hai superato il layout e il ciclo di vita.

    
risposta data 07.09.2011 - 19:56
fonte

Leggi altre domande sui tag