Powered by ScribeFire.
mercoledì, gennaio 23, 2008
Ecco il team di Android
martedì, gennaio 22, 2008
Applicazione in C per Android
Tutti sappiamo che l'SDK di Android lavora con Java, ma se volessimo eseguire servizi o programmi scritti in C? Ognuno di noi e pronto a sbarellare le proprie conoscenze di C quado ne abbiamo la possibilità, visto che è la prima cosa che si impara in genere, sappiamo che è una cosa possibile analizzando il framework di sviluppo allora perche non farlo? Non è cosi difficile quindi proviamoci. Grosso modo quello che dobbiamo fare è compilare le nostre applicazioni con un compilatore Linux Standard di tipo cross-platform, spostare l'applicazione nel device o emulatore che sia ed eseguire l'applicazione da shell.
Abbiamo bisogno del compilatore, il semplice gcc non va bene, ne troviamo uno che fà al caso nostro proprio qui (fate attenzione a scegliere quello per ARM GNU/Linux). Quindi possiamo procedere alla creazione, compilazione e caricamento dei nostri programmi:
// compiliamo il file
$ arm-none-linux-gnueabi-gcc -static hello.c -o hello
// carichiamo il file sul device
$ adb push hello/hello data/hello
Ora basta solo eseguire la nostra applicazione:
$ adb shell data/hello
Hello, Android!
Sicuramente non sarà molto ma per i nostri scopi và più che bene. Questo ci fà rendere conto delle potenzialità della piattaforma che abbiamo in mano lasciandoci la libertà di provare quello che ci va.
Nota: Attenzione al parametro -static
in fase di compilazione (vedi documentazione)!
Powered by ScribeFire.
Quali tool di sviluppo abbiamo?
- Vi dà la possibbilità di accedere agli strumenti di sviluppo di Android direttamente dall'interno dell'IDE di Eclipse. Ad esempio, possiamo accedere alle tante funzionalità dello strumento DDMS — prendere screenshot, gestire il port-forwarding, impostare breakpoints, e vedere informazioni sui thread e sui processi — direttamente da Eclipse.
- Fornisce un Wizard per la creazione di un nuovo progetto, che vi aiuta a creare ed impostare velocemente tutti i file di base di cui avete bisogno per una nuova applicazione per Android.
- Automatizza e semplifica il processo di costruzione delle vostre applicazioni.
- Fornisce un editor che vi aiuta a scrivere XML valido per i vostri manifest e file di risorse.
Powered by ScribeFire.
giovedì, gennaio 17, 2008
Istallare ADT plugin in Eclipse
- Avviate Eclipse,quindi selezionate Help > Software Updates > Find and Install....
- Nella finestra che appare selezionate Search for new features to install e premete Next.
- Premete New Remote Site.
- Nella finestra di dialogo, inserite un nome per il sito (es. Android Plugin o ADT_Repo) ed inserite questo URL:
https://dl-ssl.google.com/android/eclipse/
Premete OK. - Ora dovreste vedere che il sito appena inserito è stato aggiunto e spuntato. Premete Finish.
- Nella finestra dei risultati di ricerca successiva, spuntate la casella per Android Plugin > Eclipse Integration > Android Development Tools e premete Next.
- Leggete i termini di licenza e quindi cliccate Accept terms of the license agreement, sempre se li accettate e non ci sia nulla in contrario. Poi premete Next.
- Premete Finish.
- Il plugin ADT non è firmato; potete accettare l'installazione comunque premendo Install All.
- Riavviate Eclipse.
- Dopo il riavvio aggiornate le vostre preferenze di Eclipse facendole puntare alla cartella dell'SDK in questo modo:
- Selezionate Window > Preferences... per aprire il pannello delle preferenze (Preferences). (in Mac OS X: Eclipse > Preferences)
- Selezionate Android dal pannello di sinistra.
- Probabilmente vi verrà restituito un messaggio di errore, ma non fateci caso accettate ed impostate il percorso dell'SDK nel pannello principale, premendo Browse... e selezionando il giusto percorso.
- Premete Apply, quindi OK.
Finito, se non riuscite a scaricare il plugin potete provare a sostituire il tipo di protocollo del repository cambiandolo da https:// a http:// oppure se vi trovate dietro un firewall (magari quello della vostra azienda) allora impostate in Eclipse l'indirizzo del proxy (Window > Preferences > General > Network Connections). Se proprio non riuscite in nessun modo ad installare il plugin in questo modo allora potete provare ad eseguire l'installazione manuale procedendo in questo modo:
- Scaricate manualmente il file del plugin ADT
- Decomprimete il file nella sua cartella
- Seguite i passi 1 e 2 sopra descritti
- Premete New Local Site...
- Nella finestra di dialogo successiva selezionate la cartella dove avete decompresso il plugin
- Eseguite poi i passi dal 5 all'11, come descritti in precedenza, per completare l'installazione
Nel caso si dovesse aggiornare il plugin utilizzare la stessa procedura!
http://code.google.com/android/intro/installing.html#installingplugin
mercoledì, gennaio 16, 2008
First application...
Powered by ScribeFire.
martedì, gennaio 15, 2008
Android e l'hardware...
domenica, gennaio 13, 2008
Cosa è Android?
Le caratteristiche principali sono:
- L'Application framework utilizzato favorisce il riuso e la sostituzione dei componenti
- Dalvik virtual machine ottimizzata per i dispositivi mobili
- Web browser integrato basato su software open source (WebKit engine)
- Grafica ottimizzata data da una propria libreria 2D; grafica 3D basata sulle specifiche OpenGL ES 1.0 (accelerazione hardware opzionale)
- SQLite per lo storage di dati strutturati
- Supporto al multimedia per i piu diffusi formati audio, video, ed immagine (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
- Telefonia GSM (dipendente dall'hardware)
- Bluetooth, EDGE, 3G, e WiFi (dipendente dall'hardware)
- Videocamera, GPS, bussola, e accellerometro (dipendente dall'hardware)
- Ricco ambiente di sviluppoche include un emulatore di periferica, tool per il debugging, gestione della memoria e delle performance, plugin per lo sviluppo su Eclipse
Applications
Application Framework
- Un ricco ed estensibile set di Views (Viste) che possono essere usate per costruire le applicazioni, quali liste, griglie, caselle di testo, bottoni e tutto ciò che può essere eseguito in un web browser.
- Content Providers che abilitano le applicazioni ad accedere a dati di altre applicazioni (come ad esempio i Contatti), o a condividere i propri.
- Resource Manager, (gestore di risorse) forniscono il supporto all'accesso a risorse di altro tipo, diverso dal codice, come ad esempio stringhe per la localizzazione delle applicazioni, elementi grafici e file di layout
- Un Notification Manager (gestore delle notifiche) che abilita ogni applicazione a mostrare le proprie notifiche nella barra di stato
- Un Activity Manager (gestore delle attività) che gestisce il ciclo di vita di ogni applicazione e fornisce un navigation backstack condiviso
Libraries
- Libreria C di sistema - una implementazione BSD-derived della libreria standard C di sistema (libc), ottimizzata per periferiche embedded Linux-based
- Librerie Multimediali - basate sulle PacketVideo OpenCORE; queste librerie supportano l'esecuzione e la registrazioni dei più diffusi formati audio, video ed immagine, incluso MPEG4, H.264, MP3, AAC, AMR, JPG, e PNG
- Surface Manager - fornisce il supporto per la gestione del display e degli elementi grafici 2D e 3D alle varie applicazioni
- LibWebCore - un moderno web browser engine che fornisce supporto al browser di Android e permette di integrare viste in stile web
- SGL - 2D graphics engine
- Librerie 3D - una implementazione basata sulle API OpenGL ES 1.0; le librerie usano o l'accelerazione hardware 3D (dove disponibile) o il software di rasterizzazione 3D ottimizzato per questa piattaforma
- FreeType - librerie di rendering bitmap e vettoriale per i font
- SQLite - un potente e leggero database relazionale disponibile a tutte le applicazioni
Android Runtime
Ogni applicazione su Android viene eseguita in prorpio processo, in una prorpia istanza nella Dalvik virtual machine. Dalvik ha scritto che ogni periferica può eseguire efficientemente più Virtual Machine. La Dalvik VM esegue file in un formato eseguibile proprio (Dalvik Executable format, .dex appunto) ottimizzati per un utilizzo minimo di memoria. La VM è register-based cioè basata su registri, ed esegue classi compilate da compilatori Java e trasformate nel formato .dex grazie al traduttore "dx" incluso nel framework.
La Dalvik VM conta sul kernel Linux per fornire funzionalità come il threading e la gestione a basso livello della memoria.
Linux Kernel
Con questo penso di aver finito, vi ricordo che questa è una traduzione molto personale di questa pagina senza nessun desiderio/aspirazione di completezza e vi rimando alla stessa per ogni altra informazione.
Inoltre vi segnalo questi 3 video che potete anche trovare direttamente su Youtube che spiegano meglio il framework e la struttura di Android, logicamente in lingua inglese:
- Androidology - Part 1 of 3 - Architecture Overview
- Androidology - Parte 2 di 3 - Application Lifecycle
- Androidology - Parte 3 di 3 - API