Creare app Android nativa di un sito web – parte 2

In questa seconda parte del tutorial vediamo come importare un progetto di esempio ed adattarlo.

E’ possibile scaricare il progetto da GitHub.
Come già detto il progetto sfrutta il componente WebView per visualizzare una pagina web.

Decomprimere tutti i files in una cartella a piaciamento, esempio C:\ProgettiAndroid\WebView.

Aprire Android Studio appena installato, cliccare su File -> Open e selezionare il percorso appena creato dove abbiamo decompresso il progetto.
Il progetto richiede Build Tools 23.0.3, se non lo avete installato nella finestra dei messaggi apparirà l’errore Failed to sync Gradle project ‘Webview’.
Sarà sufficiente cliccare su Install Build Tools 23.0.3 and sync project, il pacchetto verrà scaricato automaticamente ed installato.

Il progetto richiede Gradle 2.10, per semplificare diciamo che Gradle è uno strumento che si occupa della build dei progetti in Android Studio, ovvero effettua la compilazione vera e propria.
Anche in questo caso se la versione corrente non è 2.10 apparirà un messaggio di errore.
Sarà sufficiente cliccare su Fix Gradle wrapper and re-import project.
Potrebbe presentarsi una popup che richiede di aggiornare Gradle, fatelo pure senza problemi.

La struttura si presenterà come da seguente schermata:

Android Studio

Per semplificare:

app: l’applicazione vera e propria con le sottocartelle manifests (contiene AndroidManifest.xml, file che fornisce le informazioni essenziali dell’app al sistema Android), java (contiene il codice Java, qui sono presenti le varie classi java), res (contiene le risorse come immagini, icone, layout).

Gradle Scripts contiene gli script di Gradle, il tool per la build del progetto. In particolare date un’occhio al file build.gradle relativo a Module:app, qui ci sono impostazioni importanti, vediamo successivamente cosa sono e come modificarle.

Innanzitutto vorremmo cambiare il nome del package com.androidworks.nikhil.webview.
Aprire il file AndroidManifest.xml sotto app\manifests e cambiare la seguente riga

package="com.androidworks.nikhil.webview" >

ad esempio

package="com.android.digitalking.webview" >

Quindi cliccare con il tasto destro su app\java e selezionare New -> Package, chiamarlo esattamente come abbiamo deciso da esempio.
Selezionare le tre classi java presenti (MainActivity, MyFirebaseIstanceIDService, MyFirebaseMessagingService) quindi con il tasto destro selezionare Refactor – Move e come destinazione su To package navigare con i tre puntini fino a com.android.digitalking.webview quindi premere Refactor.

Nella finestra di messaggio chiamata Find Refactoring Preview verranno visualizzate le occorrenze trovate in tutto il codice, è possibile scegliere quindi se fare il refactor premendo Do Refactor oppure cancellare l’operazione.

Una volta effettuato lo spostamento è possibile cancellare il package androidworks.nikhil.webview rimasto vuoto (tasto destro sul nome e quindi Delete).

Ora selezioniamo sempre app cliccando con il tasto destro, quindi Open Module Settings (oppure premendo F4). Qui sono presenti impostazioni importanti che possiamo lasciare così oppure modificare.
Vediamo le principali.

Sotto Properties:

Compile Sdk Version: indica la versione dell’API con cui viene compilata l’app.

Sotto Flavors:

Min Sdk Version: indica la versione di API minima.
Target Sdk Version: rappresenta un valore intero che indica il livello di API ideale per il quale l’applicazione è stata sviluppata. E’ consigliato di utilizzare sempre l’ultima versione delle API. Se non viene specificato di default viene utilizzato il valore di Min Sdk Version.
Min Sdk Version: rappresenta un valore intero che indica il livello minimo di API necessario per utilizzare l’applicazione.
Application Id: ogni app Android ha un application ID univoco che identifica l’app nel dispositivo e nel Play Store di Google. Possiamo cambiarlo e mettere il nome scelto con il nuovo package, ovvero com.android.digitalking.webview.
Version Code: valore integer utilizzato come numero per versione interna.
Version Name: una stringa utilizzata come numero di versione da mostrare agli utenti.

Ricordate il file delle impostazioni di Gradle build.gradle relativo a Module:app? Qui trovate i valori di queste impostazioni.

In questo file è anche possibile configurare i tipi di build tramite il blocco buildTypes. Di default il sistema definisce due tipi di build: debug e release. Il tipo di build debug non è esplicitamente mostrato nella configurazione di default della build ma include strumenti per il debugging ed è firmato con chiave di debug.
Il tipo di build release applica le impostazioni Proguard (permette di rilevare e rimuovere il codice non usato riducendo le dimensioni dell’APK generato) e di default non è firmato.

La compilazione del progetto dovrebbe dare degli errori per il fatto che è stato modificato l’application id ed il nome del package.
Per risolvere occorre modificare il nome del package all’interno del file google-services.json (presente sotto la directory C:\ProgettoAndroid\WebView\app\google-services.json) utilizzando un qualsiasi editor di testo e all’interno di Android Studio sulla classe MainActivity e MyFirebaseMessagingService rinominare tutte le vecchie referenze com.androidworks.nikhil.webview con il nome scelto.

Per verificare se la compilazione non da errori lanciare una nuova build (menu Build -> Rebuild project).

Android Studio

Nella terza ed ultima parte vedremo come modificare il codice sorgente adattandolo, testare l’applicazione e quindi generare l’APK pronto per essere installato.

Creare app Android nativa di un sito web – parte 1

Se non siete sviluppatori Android ma volete realizzare un’app del vostro sito web questo è il tutorial che fa per voi.
Avete un blog WordPress o un sito realizzato in Joomla già responsivo? (adatto ad essere visualizzato correttamente sia su desktop che su mobile).
Esistono diverse soluzioni per creare un’app Android, quella che verrà illustrata in questa guida si avvale dell’uso di Android Studio, l’IDE (Integrated Development Environment) ufficialmente supportato da Google per lo sviluppo Android.
Per chi non lo sapesse per sviluppare in Android si utilizza il linguaggio Java, se non siete esperti di programmazione non vi preoccupate!
In questa prima parte del tutorial verrà illustrato tutto ciò che occorre installare per utilizzare Android Studio in ambiente Windows.
Nella seconda parte verrà fornito un progetto Android Studio già pronto da modificare secondo le proprie esigenze.

Scaricare ed installare Android Studio

E’ possibile scaricare ed installare Android Studio dal sito https://developer.android.com/studio/index.html.
Il bundle completo include tutti gli strumenti necessari per iniziare a sviluppare le proprie app:

– IntelliJ IDE + Android Studio plugin
– Android SDK Tools
– Android Platform-tools
– Una versione di Android platform
– Emulatore Android con immagine di sistema Android incluso Google Play Services

ATTENZIONE: Android Studio richiede che sia installato Java (JRE/JDK) per funzionare.
Link JRE: https://java.com/it/download/
Link JDK: http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html
fare attenzione ad installare la versione corretta in base al proprio sistema operativo, se 32 o 64bit.

Alcune volte il wizard di Android Studio non trova Java installato.

Cliccare su Browse e indicare il percorso al JDK (ad esempio C:\Program Files\Java\jdk1.8.0_77).

Si può ovviare all’errore di cui sopra definendo una nuova variabile di sistema chiamata JAVA_HOME che punta alla cartella JDK.

In Windows 10 basta andare su Pannello di controllo\Sistema e sicurezza\Sistema quindi selezionare Impostazioni di sistema avanzate.
Selezionare variabili d’ambiente e definire la nuova variabile di sistema JAVA_HOME con il valore il percorso al JDK (ad esempio C:\Program Files\Java\jdk1.8.0_77).

Schermate di installazione di Android Studio:

View post on imgur.com

Durante l’installazione di Android Studio annotatevi il percorso dell’Android SDK, ad esempio C:\Users\NOMEUTENTE\AppData\Local\Android\sdk.
Da qui lanciate l’Android SDK Manager per scaricare i vari pacchetti, non sono necessari tutti, dipende quali API intendete utilizzare, sono consigliate sempre le più recenti.
Le varie system image e Intel x86 Emulator Accelerator (XAHM Installer) permettono di far girare l’applicazione su un dispositivo virtuale all’interno di Android Studio.
Sarà necessario creare e configurare un Android Virtual Device (AVD) in Android Studio.
Se non si vuole/può utilizzare l’emulatore è anche possibile far girare l’app su un dispositivo collegato al computer, a patto che lo smartphone sia correttamente visto dal computer (aver installato i driver Windows) e abilitato l’opzione Debug USB sulle opzione Sviluppatore nelle impostazioni del proprio dispositivo.

Se si vuole utilizzare le ultime API di Android Nougat (7.1.1) dall’SDK Manager si installerà:

– Tools: Android SDK Tools, Android SDK Platform-tools, Android SDK Build-tools
– Android 7.1.1 (API 25): SDK Platform più tutte le system image
– Extras: Android Support Repository, Google Repository, Google USB Driver, Intel x86 Emulator Accelerator (XAHM Installer).

Nella seconda parte del tutorial verrà importato un progetto in Android Studio che sfrutta il componente Webview per visualizzare pagine web, con le opportune modifiche verrà personalizzato ed infine compilato generando l’APK pronto per essere installato.

Le migliori alternative al client ufficiale Facebook per Android

Il client ufficiale Facebook per Android è noto non solo per i milioni di utenti che usano il social di Mark Zuckerberg ma anche per la sua pesantezza.
Difatti oltre ad occupare molto spazio è tra le app che consumano più ram e batteria peggiorando così le performances dello smartphone.

Sono sempre di più gli utenti del social che preferiscono utilizzare alternative, magari rinunciando a qualche funzionalità in più offerta dal client ufficiale ma con il beneficio di avere un’app molto più leggera.

Esistono molte alternative, il consiglio è quello di provarle tutte e scegliere quello più adatto in base alle proprie esigenze.

Una nota importante: è notizia di questi giorni che gli utenti che utilizzano il social tramite browser al posto della solita finestra con le conversazioni si ritrovano un messaggio di avviso, le conversazioni saranno spostate nell’app Messenger.

Metal è un web wrapper con funzionalità aggiuntive quali notifiche, finestre e temi.

Facebook Lite è uno dei client più leggeri, riceve frequenti aggiornamenti.

SlimSocial un altro web wrapper, app attualmente in sviluppo e mancano alcune features ma già apprezzata da molti utenti.

Fast for Facebook una delle prime app alternative al client nativo. Come dice il nome si propone di essere la più veloce.

Mini for Facebook un altro web wrapper, tra le caratteristiche si segnala la possibilità di scaricare i video.

Tinfoil è il wrapper web originale, open source. Offre maggiore privacy.

Toffeed another web wrapper, ha dei bottoni circolari sempre presenti che permetto di aggiornare il proprio stato, aggiungere foto, registrarsi (fare il check in).

Hermit offre un wrapper per qualsiasi sito, non solo Facebook. E’ in material design ed integra Ad Block.

Swipe un web wrapper che pone particolare enfasi sul design UI/UX, è presente anche un tema scuro, utile per la visualizzazione notturna.

Folio Free un altro web wrapper con una bella interfaccia in material design.

Puffin for Facebook è un plugin sviluppato appositamente per il browser Puffin.

Alternative ad IFTTT

apps

Avevamo già parlato in un vecchio articolo di IFTTT (If This Then That), servizio online e disponibile come applicazione Android ed iOS che permette di automatizzare diverse operazioni secondo il principio azione – reazione, ovvero in base a certe regole definite dall’utente al scatenarsi di un certo evento scatta un trigger che compie l’operazione che è stata impostata, da qui appunto l’acronimo per If This Then That.

Il servizio è gratuito e supporta moltissime apps. Nel sito è possibile trovare tante regole già pronte all’uso (chiamate recipes, ricette), oppure è possibile partire da zero e crearne di nuove.

Esistono alcune alternative a questo servizio che forse non tutti conoscono.

Zapier (gratuito con piani a pagamento per maggiori funzionalità) e We Wired Web (piani a pagamento) sono due di questi, il meccanismo di funzionamento è simile.
Esiste un’altro servizio simile ma più orientato per le aziende, chiamato CloudWork, difatti conta molte apps per la produttività (Shopify, Zoho CRM, ecc…)

7 servizi web per cui vale la pena pagare

La presenza su Internet è molto importante, sia che si abbia un blog, un sito personale, ecommerce ecc…
Esistono dei servizi a pagamento per cui vale la pena spendere offrendovi dei servizi indispensabili che altri di tipo gratuito non vi possono offrire.
Digi Talking ha individuato 6 servizi essenziali per essere dei veri professionisti del web.

Discourse mette a disposizione forum di nuova generazione sia per design, per caratteristiche offerte e per tecnologie con cui è realizzato.
Offre diversi piani mensili a seconda delle esigenze più un piano ad hoc con pagamento unico per l’installazione del forum in server cloud.
Sebbene ci siano i social network, un forum permette di creare discussione su specifici argomenti tra gli utenti.

Get Satisfaction o servizi equivalenti quali UserVoice.
Se si ha un’attività in Rete e si è a contatto con clienti questi due servizi permettono di ricevere feedback e di fornire assistenza online. I servizi offrono accurate statistiche

HootSuite e SproutSocial permettono di gestire molteplici account sociali tramite un’unica piattaforma. Offrono programmazione dei post, statistiche complete ecc…

MailChimp permette di creare newsletter professionali. Questo servizio è uno degli strumenti più apprezzati nell’email marketing.

Amazon CloudFront, fa parte degli Amazon Web Services. Si tratta di un servizio CDN, ovvero per distribuire i contenuti statici (immagini, video, ecc…) via cloud, senza appesantire il proprio servizio di hosting.
Tutto ciò a beneficio delle performances del sito (banda e spazio sito risparmiati, contenuti forniti velocemente grazie al cloud).

CloudFlare offre strumenti per la sicurezza del proprio sito web contro molti tipi di attacchi (es. denial of service) oltre a varie ottimizzazioni per velocizzare il sito.
Il servizio richiede la modifica dei record DNS con quelli di CloudFlare, verificare con il proprio hosting che ciò sia possibile.

Servizi per le creazioni di app mobili: i visitatori via mobile sono sempre più in aumento quindi sarebbe un suicidio ignorare questo settore. Per questo esistono vari servizi che permettono di creare app native per vari sistemi operativi mobili (iOS, Android, Windows Phone, ecc…), ne trovate un buon elenco su Business News Daily e su Mashable.

E voi li conoscevate già? Conoscete altri servizi a pagamento che meritano di essere citati tra gli essenziali?

Ricevi gli aggiornamenti del blog

Vuoi rimanere aggiornato riguardo gli ultimi articoli pubblicati nel blog? Inserisci la tua email per sottoscriverti alla newsletter!