Funzionalità nascoste dello sviluppo Android?


121

Sono sorpreso che non ci sia ancora alcun post Android Hidden Features nella serie Hidden Features che sto monitorando da un po 'di tempo.

La serie Hidden Features è ottima per le persone che non conoscono una certa lingua. Mostra le corde e alcuni preziosi trucchi, tutto in un unico posto. Penso che sia un'idea brillante. Anche gli esperti a volte trovano trucchi di cui non avevano mai sentito parlare.

Sto iniziando lo sviluppo di Android e mi piacerebbe conoscere le sue funzionalità nascoste, suggerimenti, trucchi e insidie.

Quindi, ecco qui: quali sono alcune funzionalità nascoste di Android ?

Risposte:


105

Si spera che non ci siano troppe funzionalità nascoste e nascoste, ma ecco alcune delle funzionalità meno conosciute e non intuitive disponibili per Android che renderanno sicuramente la tua vita più facile e le tue app migliori.

  • Tutto il codice sorgente per la piattaforma e tutte le app native non Google è disponibile per navigare, scaricare, prendere in prestito o rubare dal progetto Android Open Source .
  • Utilizzando il framework delle risorse , creare versioni localizzate della tua app è semplice come aggiungere una nuova sottocartella annotata (es. Valori-fr) che contiene un file XML con stringhe in una lingua diversa (es. Francese). Android sceglierà per te la cartella giusta in fase di esecuzione.
    • Lo stesso framework di risorse consente di utilizzare layout alternativi per diverse configurazioni hardware, densità di pixel dello schermo e dispositivi di input semplicemente rilasciandoli nella cartella denominata.
  • A partire da Android 1.6, la tua app può produrre risultati che appariranno nei risultati di una ricerca nella casella di ricerca rapida nella schermata iniziale. Questo è noto come suggerimenti di ricerca personalizzati .
  • Utilizzando Intents e Intent Filters le tue app possono effettuare e soddisfare richieste anonime per il completamento di un'azione (ad es. L'app Where può richiedere la prenotazione di un tavolo dall'app Open Table ).
    • Possono richiedere a un'applicazione sconosciuta di completare un'azione senza dover sapere quali applicazioni possono soddisfare tale richiesta
    • La tua app può soddisfare le richieste di app sconosciute per completare le azioni senza bisogno di sapere quali app effettueranno le richieste. Gioca bene e puoi creare l'app Twitter "predefinita" o l'app di prenotazione, ecc.
  • Utilizzando gli allarmi puoi impostare la tua app per completare le attività in orari prestabiliti, anche se la tua app non è in esecuzione.
    • È possibile risparmiare molta durata della batteria utilizzando il metodo setInexactRepeating per pianificare eventi regolari (come polling del server o aggiornamenti). Sincronizzerà gli allarmi di più app in modo che si verifichino contemporaneamente anziché ad hoc.
  • Utilizzando il framework delle preferenze puoi creare schermate delle impostazioni per le tue app nello stesso stile delle impostazioni di sistema. È anche possibile incorporare schermate delle impostazioni di sistema (ad es. Sicurezza e posizione) nella gerarchia delle impostazioni dell'applicazione.
  • Utilizzando le API AudioTrack e AudioRecord , è possibile eseguire lo streaming di dati audio direttamente da e verso i buffer audio PCM.

35

Gli strumenti nella directory / tools dell'SDK meritano una menzione:

  • il nostro designer è rimasto particolarmente colpito dal fatto draw9patchche ha contribuito a progettare bottoni estensibili. Mi ha fornito le risorse da lì, e sono passato da un colore di sfondo a un disegnabile a 9 patch e ora abbiamo un pulsante personalizzato, angoli arrotondati, ecc. Allungati per adattarsi al testo.
  • ddms, che è anche integrato nel plugin Eclipse. È immensamente potente, ma lo uso per fare screenshot.
  • adb- interagisci con il tuo dispositivo o emulatore dalla riga di comando. Lo uso per seguire i log dal mio dispositivo in una finestra di terminale sul mio desktop, anche se l'ho trovato utile per installare e disinstallare app che si comportano male.
  • sqlite3 - ottimo per interagire con un database installato e provare le query.
  • apkbuilder, zipalign, aapt- grande per l'esecuzione senza testa costruisce
  • monkey per testare la tua app.

Vorrei anche individuare i tre Designing for Performance , Reattività e Seamlessness , ma vorrei anche aggiungere un quarto Coding for (Battery) Life .

Anche se il Javadoc può essere un po 'scarso a volte, aiuta a non finire avere la fonte proprio lì da guardare.

È anche molto utile avere molte app di esempio scritte dai googler per creare, esaminare e poi vedere come hanno fatto.


1
Ti sei perso un altro bel layout dello strumentoopt.
100rabh

Un altro buono che manca che uso sempre è hierarchyviewer.
Artem Russakovskii

25

Immagino che inizierò allora.


Una bella caratteristica nascosta penso siano le migliori pratiche della documentazione di Android. Elenca molti ottimi suggerimenti per la progettazione di app reattive e veloci.

Le sezioni delle migliori pratiche sono:

  • Supporto di più schermi (più dimensioni e risoluzioni)
  • Linee guida per l'interfaccia utente
    • Icona di design
    • App Widget Design
    • Attività e progettazione dei compiti
    • Progettazione di menu
  • Progettare per le prestazioni
  • Progettare per la reattività
  • Progettare per la continuità

Un'altra caratteristica nascosta è che questi documenti sono disponibili offline come parte dell'SDK. All'inizio caricavo alcune pagine ogni giorno per il mio viaggio in treno mattutino, ma non avevo più bisogno di farlo dopo averle trovate nella directory SDK.


Se usi Eclipse, noterai che non formatta molto bene i file XML e quando lo fa, è molto incoerente (a volte divide gli attributi con nuove righe, a volte no). Per risolverlo, puoi premere Ctrl-Shift-F (formattazione automatica). Le regole usate da Ctrl-Shift-F sono in Finestra-> Preferenze-> XML-> File XML-> Editor.


1
L'ultimo farà sicuramente parte del mio flusso di lavoro. Questo mi ha infastidito nell'ultima settimana ... Grazie !!
Mikle

14

Android supporta XML <shape>che possono essere usati come drawable simili a SVG. Purtroppo non c'è documentazione per loro. Questa è la migliore informazione che ho trovato:

http://escomic.net/217


4
C'è anche idunnolol.com/android/drawables.html con una documentazione completa su tutte le funzionalità xml per le forme. Le forme possono essere molto importanti per creare sfondi rotondi che cambiano colore quando vengono cliccati o per creare sfumature definite xml invece di disegnabili di sfondo personalizzati.
Janusz

è possibile aggiungere un numero di forme a un documento xml. ad esempio un paio di cerchi e rettangoli?
skyfoot

13

Anche per quanto riguarda le migliori pratiche, potresti voler controllare lo stile di codifica Android:

http://source.android.com/source/code-style.html

così come il codice eclipse e importa i formattatori (android-formatting.xml, android.importorder) che si trovano nel codice sorgente della piattaforma in fase di sviluppo / ide / eclipse


2
Ci sono un po 'troppi cerchi da superare per ottenere il codice solo per il formattatore Eclipse, quindi
trovalo

7

hierarchyviewer in / tools ti consente di eseguire il debug / analizzare il layout della tua vista: padding, posizionamento, view hierarchy ecc.

Mi ha fatto risparmiare un sacco di tempo un paio di volte cercando di capire perché le cose sono disposte nel modo in cui sono.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.