Archivi tag: android

Lista database popolari nello sviluppo delle app Mobile

fonte: five-popular-databases-for-mobile- 2014 – 2017 (tradotto e migliorato by Vargas Carmen)

http://www.lillysfreshpasta.com/4-questions-to-ask-when-you-buy-fresh-pasta/
http://www.lillysfreshpasta.com/4-questions-to-ask-when-you-buy-fresh-pasta/ appissue

pouchdb

Database Tipo di dati immagazzinamento Licenza Piattaforme supportate
BerkeleyDB
(Oracle)
relazionale, oggetti, coppie chiave-valore, documenti AGPL 3.0 Android, iOS (?)
Couchbase Lite documenti Apache 2.0 Android, iOS
LevelDB coppie chiave-valore New BSD Android, iOS (2017 OS X, Linux, Windows Phone, Illumos
SQLite relazionale Dominio Pubblico Android, iOS, Windows Phone, Blackberry
UnQLite coppie chiave-valore, documenti BSD 2-Clause Android, iOS, Windows Phone
Siaqodb oggetti, documenti (database che corre su .NET…) Siaqodb MonoMac, Universal Windows Platform (UWP), Xamarin.iOS, Xamarin.Android, Xamarin.Mac and Unity3D.
pouchdb (javascript) Pouchdb

BerkeleyDB

Berkeley DB è una famiglia di librerie open-source che consentono di gestire i dati sia in modo relazionale tradizionale (usando SQL) o come coppie chiave-valore (in cui entrambe le chiavi e i valori sono array di byte) o come oggetti Java o come documenti XML . Indipendentemente delle API che si sceglie, Berkeley DB promette l’indicizzazione, memorizzazione nella cache, transazioni, scrittura-singola / accesso de multi-lettura, ricerca full-text (per l’interfaccia SQL),  ripristino automatico dei guasti, replica, compressione e crittografia. Supporta inoltre sia in memoria e su disco i database.

Un’altra caratteristica interessante di Berkeley DB è che l’API SQL fornisce piena compatibilità con quella di SQLite. Di conseguenza, è possibile creare delle applicazioni SQLite utilizzano Berkeley DB come il motore di storage (immagazzinamento) sottostante, senza doverlo riscrivere. Tutto quello che se deve fare è creare un collegamento  (link) a una versione adatta della libreria Berkeley DB. Questa combinazione di SQLite e Berkeley DB  è stata segnalato como una che dona un eccellente rendimento in caso di altamente di app e dati altamenti concorrenti, e di una intensa scrittura di dati sul datbase.

Berkeley DB prevede API attacchi (BINDING)  per svariati linguaggi di programmazione, tra cui C ++ e Java, ed è stato compilato, eseguito e testato su diversi sistemi operativi, tra cui Android e iOS. Tuttavia, potrebbe essere messo al di fuori dalla sua licenza AGPL, nel caso in cui si desidera utilizzarlo nella vostra applicazione, ma non si desidera di distribuire il proprio codice sorgente, in cambio.

Si noti inoltre che, soprattutto a causa del suo sforzo per fornire funzionalità che ci si aspetta nei database client / server tradizionali, Berkeley DB è considerata come una soluzione relativamente pesante. Quindi, a meno che non si voglia assolutamente una caratteristica che viene offerto solo da Berkeley DB, si possono trovare e sgliere nel mercato altre alternative più leggere.

Aggiornamento: Anche se Berkeley DB supporta tecnicamente iOS, non può essere utilizzato in App “Apps Store” a causa di incompatibilità con licenza termini e condizioni di App Store.

Couchbase Lite

Couchbase Lite è un databaseorientato ai documenti (document-oriented) dove i dati vengono memorizzati come documenti JSON. Ciascun documento può avere uno o più allegati, che sono essenzialmente dati binari memorizzati e non interpretati  e caricati separatamente dal documento stesso. Couchbase Lite supporta indici persistenti (chiamati Viste – visualizzazioni), e usa Mappa-ridotta  per gestire e interrogare i dati.

Couchbase Lite, insieme a Couchbase Sync Gateway e Couchbase Server, sono i tre componenti della soluzione di database NoSQL JSON soluzione per mobile database offerto da Couchbase chiamato Couchbase Mobile. Una delle caratteristiche chiave di Couchbase mobile è built-in di sincronizzazione (attraverso Couchbase Sync Gateway) tra le banche dati locali (Couchbase Lite) e database nel cloud (Couchbase Server), che allevia lo sviluppatore dall’onere di scrivere il proprio codice di sincronizzazione. Al fine di supportare questa funzionalità, Couchbase Lite è dotato di un meccanismo di risoluzione dei conflitti che è molto simile a quello usato da Git.

Couchbase Lite fornisce un’API nativa sia per Android che per iOS, così come dei plug-in per gli strumenti, piu  ampiamente utilizzati (multipiattaforma), nello  sviluppo mobile: PhoneGap (Cordova)  e Xamarin.

aggiornamento (2017): couchbase Mobile è una piattaforma completa per lo sviluppo nel mondo delle app sia mobile, che web e anche per la Internet delle cose… vedi,  couchbase for mobile developer. e anche couchbase Mobile collegamento,

LevelDB

LevelDB è una libreria open-source (scritto da Google) che implementa un archivio di chiave-valore, in cui sia le chiavi che i valori sono array di byte, dove i dati vengono memorizzati in ordine di chiave (sulla base di alcuni, probabilmente personalizzati, funzione di confronto). LevelDB supporta aggiornamenti batch atomici, permette l’ iterazione in avanti e indietro soprai dati contenuti, istantanee (cioè consistenti viste, di sola lettura, dell’intero database del negozio), caching, l’integrità dei dati (utilizzando checksum), e la compressione dei dati automatica (utilizzando la libreria di compressione Snappy ). Un importante limitazione imposta dalla libreria è quella di che in qualsiasi momento, che massimo un processo puo interaggire con un database specifico in un determinato momento uno solo).

“LevelDB ha buone prestazioni in una vasta gamma di carichi di lavoro (lavori specifici)” per quello che dicono i suoi autori, e per i risultati di un punto di riferimento (benchmarking) che si sono messi insieme per dimostrare la loro richiesta attraverso il LevelDB with SQLite and Kyoto Cabinet (un’altra implementazione memoria dei coppie di chiave-valore).

LevelDB è scritto in C ++. sviluppatori iOS possono utilizzare direttamente nelle loro applicazioni o attraverso uno dei numerosi involucri Objective-C che sono disponibili per esso. Gli sviluppatori Android possono utilizzare LevelDB tramite JNI e NDK.

SQLite

SQLite è una libreria open-source C per la gestione dei database relazionali che possono essere memorizzati sia su disco che in memoria. Supporta la tipizzazione dinamica (dei tipi sono assegnati a dei valori, piuttosto che a delle colonne), le transazioni, la ricerca full-text, l’accesso sscrittura singola / multiplelettura, svariata ed efficienti gamma di query (filtri)- (utile per la memorizzazione di dati geografici), e la caching condivisa (attraverso connessioni aperte,  allo stesso database, fatte da un unico filo (thread)).

SQLite immagazzina ogni database come un singolo file su disco,  in un formato multipiattaforma. Ciò implica che è possibile creare un database SQLite su una macchina e poi utilizzarlo su un’altra macchina con un’architettura completamente diversa semplicemente copiando il file corrispondente.
Gli autori di SQLite credono che sia “il database SQL più diffuso”. Attacchi (bind) per SQLite sono disponibili nella maggior parte dei linguaggi di programmazione tradizionali. SQLite è anche incluso in entrambi i sistemi operativi sia iPhone che Android.

UnQLite

Ce un’infinità di persone che crede erroneamente che UnQLite sia la controparte NoSQL di SQLite, anche se i due prodotti sono completamente indipendenti. UnQLite è un database open-source che espone sia un ccoppie di chiave-valore che un’interfaccia di immagazinamento tipo documento. Supporta sia in memoria che su disco le databases, anche le transazioni, più lettori concorrenti, e cursori per l’attraversamento lineare. Come SQLite, UnQLite utilizza un formato di file (multi-piattaforma) cross-platform, e memorizza ogni database in un singolo file su disco.

Non importa quale interfaccia di immagazzinamento si utilizza, il motore di archiviazione di UnQLite funziona con coppie di chiave-valore. Una caratteristica distintiva di UnQLite è che si può cambiare in fase di esecuzione il motore di archiviazione che viene utilizzato. Al momento, UnQLite è dotato di due motori di storage built-in, uno per il disco e uno per la  database in-memory.

UnQLite è scritto in C, e può quindi essere utilizzato sia IOS che delle applicazioni Android (in quest’ultimo, attraverso JNI).

aggiornamento 2017 – altre opinioni:

Implementazioni Open source delle database orientate ai documenti: (fonte wiki / modificato)

  • Apache Jackrabbit – Java (Apache License)
  • BaseX – xml, base di dati XML (Licenze BSD)
  • Apache CouchDB  (Apache License)
  • MongoDB – Database orientato al documento, (GNU AGPL v3.0)
  • OrientDB – Database orientato al documento, ma con una gestione ottimizzata delle relazioni fra documenti come avviene in un database a grafo. Open source con licenza commerciale friendly (Apache License)
  • RavenDB – Transazionale .NET basato su database a documento RESTful (commercial o GNU AGPL v3.0)
  • Redis – Uno store con coppie chiave-valore con supporto per liste ed insiemi (BSD License)
  • Riak – Decentralizzato, tolleranza all’errore, datastore di documenti scalabile orizzontalmente (Apache License)
  • ThruDB ( Licenza BSD)
  • Persevere JSON è un database JSON e un JavaScript Application Server. Fornisce un’interfaccia RESTful JSON per l’acceso alla creazione, lettura, aggiornamento e cancellazione dei dati. Supporta anche le interrogazioni JSONQuery/JSONPath.
  • DBSlayer old è un leggero database abstraction layer (su MySQL) che può parlare ai client via JSON su HTTP usato dal New York Times.
Annunci

Come diventare uno sviluppatore Android – (android skills 2015)

FONTE ORIGINALE (by 

Si sa che le app mobile (applicazioni per mobile)  collegano sempre più gente del pianeta, e permettono agli utenti di tutto il mondo ad interattuare o  interagire  in modo sempre più interessante e innovativo come non si era mai immaginato, il lavoro dello sviluppatore app mobile è diventato sempre più arricchente, appagante, e necessario per l’economia globale moderna.

Le applicazioni per cellulari che usiamo ogni giorno hanno cambiato il nostro modo di comunicare e di consumare intrattenimento, anche il nostro modo di imparare le cose sul mondo.  Non sarebbe male se si pensasi allo sviluppo delle mobile app come ad una delle industrie di lavoro più cool (di moda – più trainante) del momento.

Quindi, come si fa a diventare uno sviluppatore di applicazioni per mobile (appmobile – mobileapp developer ) ?

Ecco la sua versione essenziale : si sceglie una delle piattaforme – come Android ,iOS o Windows Mobile – si apprendono le competenze tecniche di base, se si cimenta  sulle proprie competenze trasversali -migliorandole (soft skills), e ci si diventa.

Come diventare uno sviluppatore Android ?

Ma veniamo in un  po più in dettaglio. Qui, stiamo andando ad affrontare la prospettiva di diventare uno sviluppatore di Android appositamente (dedicato ).

Perché Android?

Android a livello globale, è il leader indiscusso della quota di mercato degli smartphone. Grazie alla crescita dei mercati emergenti come il Messico, la Turchia e il Brasile, quella posizione dominante non tramuterà nel breve periodo.

android developer
android developer

Grafico via 9to5Mac

facendo si che questa preponderanza di mercato si traduca in una grave  difficoltà, per la sicurezza del lavoro degli sviluppatori di Android.

Inoltre, la piattaforma Android è open source (l’intero codice sorgente di Android è consultabile (browsable)  e condivisibile, anche se con un po di software proprietario come Google Play), rendendo l’ecosistema di sviluppatori dinamico e collettivamente arricchente.

Gli sviluppatori di Android condividono consigli, trucchi e tutorial con tutta la comunità Android, e dal momento che Google gli aiuta  con lo sviluppo di strumenti come Google Play Services  per tutte le attività comuni delle app:  come l’accesso, l’autenticazione, la posizione e la archiviazione di dati,  cosi permettendo agli sviluppatori di Android di concentrarsi sulla costruzione delle ‘funzionalità di base’  delle loro applicazioni

In sostanza, si tratta di un momento particolarmente emozionante per lanciare una carriera nello sviluppo di Android. Vi è una fonte sana di posti di lavoro, la domanda di applicazioni Android promette di aumentare in futuro, e le tecnologie – app indossabile e app TV-  stanno intrigantemente avanzando.

Le Abilità o Competenze richieste (Hard Skills): cosa imparare

Per prima cosa: le competenze tecniche. siccome lo Sviluppo di Android può essere fatto su un computer Mac, PC Windows o Linux. Avrete anche bisogno di un dispositivo Android (è possibile utilizzare un emulatore come Genymotion per lo sviluppo, ma alla fine ti consigliamo di provare su un dispositivo reale).

Ecco il breve elenco degli strumenti da conoscere (must-know skills) per diventare uno sviluppatore Android.

Java

L’elemento più fondamentale  per lo sviluppo con Android è il linguaggio di programmazione Java. Per essere un  sviluppatore Android di successo, è necessario stare bene con i concetti di Java come loop, liste, variabili e strutture di controllo.  Java è uno dei linguaggi di programmazione più utilizzati dagli sviluppatori di software di oggi, in modo cheimparare i suoi pro e  contro ci metterà in una buona posizione per trovare lavoro. (qualcuno dal mondo di sviluppo back-end?) Anche al di là della piattaforma Android.

SQL

Avrete anche bisogno di imparare le basi di SQL per gestire e organizzare i database all’interno delle applicazioni Android.   SQL è un linguaggio per esprimere le query (filtri chiamate) e cosi consultare e recuperare dati o informazioni dai database. Una volta imparate a scrivere (filtri e query), non ci saranno domande che non si possano chiedere ai tuoi database (dati).

SDK- Android Software Development Kit e Android Studio

Una delle parti migliori dello sviluppo per Android è che gli strumenti necessari sono gratuiti e facili da ottenere. L’SDK Android è disponibile per il download free-of-charge -gratis -, come lo è anche Android Studio, l’ambiente di sviluppo integrato ufficiale (IDE) per lo sviluppo di applicazioni Android.     Android Studio è il programma principale con cui gli sviluppatori a scrivere codice e assemblare le loro applicazioni da vari pacchetti e le librerie. L’Android SDK include codice di esempio, librerie software, utili strumenti di codifica, e molto di più per aiutarvi a costruire, testare, e debug-gare (mettere appunto)  le vostre applicazioni Android.

Un altro punto rilevante di sviluppare per Android è la facilità del processo di distribuzione (deploy)  delle app. Una volta che si è pronti per inviare la tua applicazione a Google Play Store, basta registrarsi con un account editore/sviluppatore – Google Play publisher account -(che include il pagamento di una tassa di 25 dollari tramite Google Wallet), seguire passo a passo tutte le voci della lista di lancio di Android (launch checklist), pubblicare la app attraverso il Developer Google Play Console, attendere la approvazione di Google, e vederla apparire. Semplice e soddisfacente.

XML

I programmatori usano XML per descrivere i dati. Le basi della sintassi XML sarà utile – a pieno titolo  – nel vostro viaggio  degli sviluppatori Android  per sviluppare diversi compiti, come la progettazione di interfaccie utente (UI), presentazione( layout) e analisi dei dati alimentati o provenienti da internet. Molto di ciò che è necessario per XML può essere fatto attraverso Android Studio, ma è costruttivo essere fondato nelle basi di questo linguaggio di markup.

Le Abilità o Competenze richieste (Hard Skills): Come imparare a dimostrare di averle

Per gli sviluppatori di Android abbondano  le resource (strumenti) per potere cosi affinare le proprie competenze e  condividere suggerimenti e migliori pratiche (best practice).    Alcuni preferiti del settore includono Stack OverflowAndroid Weekly, il  Android Dev subreddit, vogella tutorials, YouTube(lezioni di Youtube), e il sito ufficiale di  Google per gli sviluppatori Android Developers site—specialmente il Building Your First App modulo.    Se sei un allievo della carta stampata, ci sono del libri molto popolari di Android come  Head First Java, Android Programming (programmazione) : Pushing the Limits(superare i limiti), e Java: A Beginner’s Guide( Guida per principianti di Java.)

Quando si inizia a pensare ad attrarre delle nuove  opportunità di lavoro, e alla vendita (migliore presentazione)  di se stessi come validi candidati,  è importante prendere in considerazione di mettere in in mostra il proprio lavoro sviluppato su Android (apps) nei siti come suon LinkedInXing, attraverso un portfoglio – cartella di (app) personale online, o su siti come e BehanceGitHub.    Gomito a gomito, di persona o  in forma virtuale, incontrarsi con altri sviluppatori Android e con molteplici responsabili delle assunzioni o reclutatori tramite Meetup (incontri conferenze) , tali come droidcon, e concentratori di gruppi o reti digitali (hubs) come LinkedIn groups, Twitter chats, e Quora feeds (sviluppi e notizie). Lei non saprà mai cosa potrà imparare, o a chi potrà mai trovare ?

Le competenze e abilità trasversali (soft skills)

Come per qualsiasi lavoro, non è sufficiente essere completo o senza difetti a livello tecnico, devi fare in modo di affinare le proprie abilità interpersonali tanto quanto quelle di codifica (scrittura analisi di codice).

Perseveranza (e pazienza … a.d.t.)

La pratica rende perfetti davvero quando si parla di sviluppo delle applicazioni. Inevitabilmente, si troveranno dei posti di blocco o degli ostacoli nel processo di sviluppo, in particolare agli inizi dello stesso.  Avrete bisogno di un gran cumulo di perseveranza per poterlo utilizzare a dovere nei momenti frustranti. Per fortuna, dal momento che Android è open-source, cosi che gli sviluppatori di Android potranno  usufruire di librerie e di  framework – pieni di lavori condivisi (codice example)  creati e pubblicati su siti come GitHub.

Avere un atteggiamento Collaborativo

L’atteggiamento Collaborativo è una richiesta di vitale importanza, nella maggior parte dei lavori offerti agli sviluppatori.   Anche se si sta lavorando in un solo progetto, sarà inevitabile dovere lavorare  insieme con altre persone, tali come specialisti in grafica e design (grafici) , personale del marketing, o della alta direzione aziendale (top managers).  Inizia a prendere confidenza con l’accettare semplicemente (umilmente a.d.t)  i feedback (appunti, commenti, e/ o suggerimenti migliorativi) sul proprio lavoro, giungendo a compromessi  con i colleghi, e collaborando con gli altri partecipanti  del progetto per cosi  creare dei prodotti eccezionali.

Sete di conoscenza

Tutti i buoni sviluppatori, mobile e non, sono impegnati nella formazione continua e permanente. Soprattutto nel paesaggio del rapido sviluppo di applicazioni mobile:  con l’avvento di app indossabili, app TV, app per le auto, e altro ancora, gli sviluppatori mobile devono tenere gli occhi e le orecchie aperte alle nuove tecnologie e alle mutabilità continua delle “migliori pratiche”.   Non importa il  livello  raggiunto delle loro conoscenze,essi  non si fermano mai nello  indagare, esplorare, giocare attorno, e fare delle domande.

Sintesi (the bottom line)

Le mobile applicazioni hanno una richiesta altissima, oggi più che che mai, il che rende questo momento uno fra il più incredibile  per lanciare propria carriera come sviluppatore Android. Con l’allargamento Androidoltre lo spazio dei consumatori al lavoro e all’istruzione, e continua a spingere le frontiere i limiti consolidando ricche esperienze utente di tipo cross-device(attraverso molteplice dispositivi) con il nuovo Material design language, Sono tempi eccitanti (momento particolarmente emozionante)  per tuffarsi nello sviluppo di Android. Quindi, andare avanti, con i i piedi per prima. L’acqua è calda (tiepida a.d.t.!).

Molte grazie agli sviluppatori esperti per conto di Google: Enrique López-Mañas (eenriquelopez) ed Etienne Caron, e allo sviluppatore per conto di Udacity Eric Gonzalez per i loro contributi e commenti tecnici all’interno di questo articolo.

a.d.t. (annotazione del traduttore Carmen Vargas)

come scaricare (download) una immagine da web (url) usando AsyncTask in Android

asynctask steps
asynctask steps
LA CHIAMATA
new DownloadImageTask(holder.imageview).execute(urlImgS);


LA ASYNCTASK
		
private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
		ImageView bmImage;

public DownloadImageTask(ImageView bmImage) {
	this.bmImage = bmImage;
}

protected Bitmap doInBackground(String... urls) {
	String urldisplay = urls[0];
	Bitmap mIcon11 = null;
	try {
	   InputStream in = new  java.net.URL(urldisplay).openStream();
	mIcon11 = BitmapFactory.decodeStream(in);
	} catch (Exception e) {
	  Log.e("Error", e.getMessage());
	  e.printStackTrace();
	}
	 return mIcon11;
}

protected void onPostExecute(Bitmap result) {
   bmImage.setImageBitmap(result);
}
}
}//AsyncTask

come fare il parsering dei dati in formato Json in Android

del formato json si deve conoscere …

appissue json rest http
appissue json rest http

In primo luogo si deve analizzare i dati, gli oggetti o le stringhe in formato Json.

In particolare Items è un oggetto, conformato da un Array da oggetti con CodPro, Brand, FormattedFullPrice.

{"Items": 
   [
	{
	"CodPro": "2234567899",
	"Brand": "XXX ZZZ",	
	"FormattedFullPrice": "Euro 2,620.00",
	},
        {
	"CodPro": "2234123456",
	"Brand": "ALPHA",	
	"FormattedFullPrice": "Euro 1,120.00",
	},
        {
	"CodPro": "2234234567",
	"Brand": "BETA",	
	"FormattedFullPrice": "Euro 1,112.00",
	},
   ]
}

dopo si devono creare le classi per gestire l’oggetto Item. creare la Classe Items con gli getters e setters e infine creare le constanti per gestire i nomi dei componenti degli array di oggetti.

LA CLASSE ITEMS

public class Items{
  private String brand;
  private String codPro;
  private String formattedFullPrice; 
  	
  
  public String getBrand(){
	return this.brand;
 }
public void setBrand(String brand){
	this.brand = brand;
 }
 public String getCodPro(){
	return this.codPro;
 }
 public void setCodPro(String cod10){
	this.codPro = codPro;
 }
 public String getFormattedFullPrice(){
	return this.formattedFullPrice;
 }
 public void setFormattedFullPrice(String  formattedFullPrice){
	this.formattedFullPrice = formattedFullPrice;
}
 	
}
...

LE VARIABILI

 private static final String ENTITY_NAME = "Items";  
 private static final String BRAND = "Brand";
 private static final String CODPRO = "CodPro";
 private static final String FORMATTEDFULLPRICE = "FormattedFullPrice"; 
PARSERING

private Boolean parseJson(String jsonString) {
 String myS;
 try {
  JSONObject jsono = new JSONObject(jsonString);
  JSONArray jarray = jsono.getJSONArray(ENTITY_NAME);

  for (int i = 0; i < jarray.length(); i++) {
    JSONObject object = jarray.getJSONObject(i);
    Items item = new Items();
    item.setCodPro(object.getString(CODPRO));
    item.setBrand(object.getString(BRAND));         item.setFormattedFullPrice(object.getString
    (FORMATTEDFULLPRICE));
    /* myS = (item.getCod10() + " " + item.getBrand()  + " " + item.getCod10());
    Log.d("item iessimo " , myS);*/
    listitems.add(item);
  }//endfor*/
  //test
  /*for (int i = 0; i < jarray.length(); i++) {
    Log.d(" *** ***   iesimo ",   listitems.get(i).getCod10());
   }*/
 } catch (JSONException e) {
      Log.d("Parse Json error ",e.toString());
      return false;
  }//endcarch
 return true;
}

Come usare HttpURLConnection in Android

Una URLConnection per HTTP (RFC 2616) consente di inviare e ricevere dati attraverso il web.

appissue json
appissue json

Questi dati possono essere di qualsiasi tipo e lunghezza.

Questa classe può essere utilizzata per inviare e ricevere dati in streaming cui lunghezza non è nota in anticipo.

  • Ottenere un nuovo HttpURLConnection chiamando URL.openConnection () e lanciando il risultato di HttpURLConnection.
  • Preparare la richiesta. La struttura primaria di una richiesta è suo URI. (la richiesta può comprendere anchei metadati quali le credenziali, i tipi di contenuti preferiti e cookies di sessione.
    Opzionalmente si può caricare un corpo della richiesta.
  • Le istanze devono essere configurati con setDoOutput (vero) se includono un corpo.
  • I dati vengono trasmessi ad un flusso restituito da getOutputStream ().
  • si legge la risposta. Il corpo di risposta può essere letto dal flusso restituito da getInputStream (). Se la risposta non ha corpo, il metodo restituisce un flusso di vuoto.
  • Disconnect. Una volta che il corpo della risposta è stato letto, il HttpURLConnection dovrebbe essere chiuso chiamando disconnessione().  Questa  disconnessione rilascia le risorse detenute dalla connessione in modo che possano essere chiusi o riutilizzati.

vedi su android reference HttpURLConnection


private String getJSONString(String strUrl){
  InputStream is = null;
  URL url = null;
  BufferedReader br = null;
  StringBuilder sb = new StringBuilder();
   HttpURLConnection conn = null;
  String jsonString = null;
  try {
      url = new URL(strUrl);
      conn = HttpURLConnection)url.openConnection();
      //set the timeout in milliseconds
      conn.setReadTimeout(15000);
      //set the timeout in milliseconds
      conn.setConnectTimeout(15000);
      conn.setRequestMethod("GET");
      conn.setDoInput(true);
      conn.connect();

      // Log.d("-----url 1 ", String.valueOf(url));
      int response = conn.getResponseCode();
      is = new BufferedInputStream(conn.getInputStream());
      //Log.d("!!!!!!!!is  2", String.valueOf(is));
      br = new BufferedReader(new InputStreamReader(is));
      byte[] b = new byte[1024];
      // to implement try catch…
      ByteArrayOutputStream baos = new ByteArrayOutputStream();
      //readstream
      while ( is.read(b) != -1) {
        baos.write(b);
      }
      //Log.d("+sb 3 ", String.valueOf(sb));
      //String JSONResp= new String(baos.toByteArray());
       byte[] data1 = baos.toByteArray();
      // to implement try catch…
      jsonString = new String(data1);
      //Log.d("JSON jsonSTRing  ", jsonString);
      //call parse json data
       myFlag = parseJson(jsonString);
  } catch (MalformedURLException e) {
       e.printStackTrace();
  } catch (java.net.ProtocolException e) {
       e.printStackTrace();
  } catch (IOException e) {
       e.printStackTrace();
  }finally{
      if(br!=null){
          try {
              br.close();
              is.close();
          } catch (IOException e) {
              e.printStackTrace();
          }
          if(conn!=null) {
              conn.disconnect();
          }
      }
  }
  return jsonString;
}

app e doppiaggio : Dubsmash video selfie abbinato a canzoni famose (menziona Francesco Fiumarella)

sarebbe interessante capire le sue funzionalità e la capacità di fare in forma ottimale quello che la App Dubsmash promette … a voi il compito…

La vita attraverso il cinema

image

image

Grazie a Wikipedia di aver menzionato il mio stile innovativo di doppiaggio segnalando il mio nome nella pagina di Dubsmash ! Contento di essere stato riconosciuto come novità artistica e di sapere che questa app sta avendo un grande successo mondiale… Bravi i ragazzi Tedeschi ad averla sviluppata!

Francesco Fiumarella

View original post

Applicazioni Android con REST client, API ed altro

In questo post vorrei approfondire le tematiche necessarie per comprender meglio la filosofia e  l’importanza degli  web services nello lo sviluppo ottimale delle applicazione Android mobile.  attraverso una serie di collegamenti esterni (links) porterò il lettore ad una più consapevole conoscenza della tematica esposta qui.

json-rest3

#appissue

è importante ricordare che una connessione RESTful web service è una simple connessione a un URI attraverso l’oggetto HttpURLConnection  e anche la parserizzazione (analisi e interpretazione secondo determinate regole)  dei dati della risposta.

 

 

una lista di siti di interesse:

libri:

android: aggiornare un archivio lato server con richieste POST dal lato client

android_linee_guida android_topics android_codice_esempio
android_linee_guida android_topics android_codice_esempio

come  aggiornare un archivio lato server con richieste POST dal lato client ?

 
 SERVER SIDE SCRIPT PHP
<?php
$messaggio=$_POST["message"];
$nomeArchivio="ricevutodaApp.html";
file_put_contents($nomeArchivio,$messaggio."<br />",FILE_APPEND);
$androidMess=$file_get_contents($nomeArchivio);
echo $androidMess;
?>

 vedi file_put_contents in php

LATO CLIENT – LATO APP – file .java

//import fondamentali per gestire http
import 
org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.message.BasicNameValuePair;
//una edit test per leggere da app il messaggio //da inviare al Server EditText
 msgTextField
;

//leggere il messaggio da inviare al Server String mess = msgTextField.getText().toString(); 
if(mess.length()>0) {
 HttpClient clientAndr = new DefaultHttpClient();
 HttpPost   postHeader = new HttpPost 
            ("http://www.sito.it/PhpScript.php");
 try { 
   List<NameValuePair> coppieValori =  new    ArrayList<NameValuePair>(2);  
//
   coppieValori.add(new
   BasicNameValuePair("id","11116"));  
//
   coppieValori.add(new
   BasicNameValuePair ("message",mess));  
//
    postHeader.setEntity(new
    UrlEncodedFormEntity(coppieValori));  
//
    clientAndr.execute(postHeader);    //msgTextField.setText(""); 
// re inizializzare la variabile
 
catch(ClientProtocolException e)
  {
   // ....
  }
catch(IOException e)
  { 
   // ...
  } 
}else
{ 
  // messaggio di errore se non c'è dato   Toast.makeText(getBaseContext(), "dati   richiesti",Toast.LENGTH_SHORT).show();}
} 

collegamenti fondamentali per approfondire:
HttpClient
HttpPost
vedi .BasicNameValuePair

vedi http.client.methods
UrlEncodedFormEntity
Fonte1 webtutsdepot.com:
Fonte2 androidsnippets.com
F
onte3 mobiledevtuts.com-task asincrona

  articolo relazionato android i 4 famosi del Http

image di doscadesa
image di http://www.doscadesa.com/index.php/category/productos/especias/?lang=es&lang=es

 

quali le app delle migliori imprese italiane ? telecom italia- TIM apps 2014

curiosando nel web, ho trovato da poco, una indagine di Mediobanca che, secondo loro,  rappresenta la più autorevole classifica delle società italiane.

a questo punto ho avuto due grandi grande curiosità… quella di capire quali app  sono state sviluppati da questi grandi colossi italiani e anche sapere come esse sono state classificate dai loro utenti …

nelle prossime righe intendo allora, descrivere  alcune caratteristiche delle app, delle impresse migliore classificate, nei settori industriali e di servizi, in Italia.

di Telecom Italia:   TIM Cloud
le app di TELECOM ITALIA sono disponibili su:

App Store, Google Play, Windows Store, BlackBerry.
Il logo telecom è un marchio registrato di telecom italia spa.

TIM Cloud - telecom italia
TIM Cloud – telecom italia

Descrizione
Fino a 10GB di spazio GRATIS per salvare in automatico i contatti della tua rubrica e tutti i contenuti del tuo smartphone e TABLET.
Per ogni amico che inviti a registrarti su TIM CLOUD ottieni 500 MB di spazio GRATIS.
Potrai vedere i tuoi contenuti sempre e ovunque da PC (http://cloud.tim.it), Smartphone, TABLET e Smart TV e li potrai far conoscere a tutti i tuoi amici TIM Cloud.

Scarica l’applicazione sul tuo telefonino ed Accedi a TIM Cloud. Se utilizzi la rete dati la registrazione è automatica. Se accedi in WiFi potrai accedere utilizzando la user id e password del sito TIM.it.

timcloud2
Puoi impostare la password direttamente dall’APP o inviando un SMS con TIM “password” al 41901. La password deve essere numerica di 8 cifre; i numeri devono essere diversi tra di loro e non in ordine crescente o decrescente.
Per informazioni e suggerimenti scrivici su timcloud@telecomitalia.it
Potrai caricare i tuoi contenuti in modo veloce anche da PC su http://www.cloud.tim.it

TIM Cloud - Telecom Italia
TIM Cloud – Telecom Italia

TIM Cloud è disponibile per tutti i clienti TIM maggiori di 18 anni.
SITI: https://cloud.tim.it/dev/tmc/login.jsp

https://play.google.com/store/apps/details?id=it.telecomitalia.timcloud&hl=en

https://itunes.apple.com/it/app/tim-cloud/id496817097?mt=8telecom

Telecom Italia App:  119 gestire linea telefonica.

119 Tim Telecom Italia
119 Tim Telecom Italia
Descrizione
“119” è l’applicazione ufficiale di TIM che permette di gestire al meglio la tua linea telefonica.
Ovunque tu sia, avrai sempre a disposizione le informazioni su:
– Credito residuo (per le TIM Card Ricaricabili) o saldo del bimestre in corso non ancora fatturato (per gli abbonati)
– Piano tariffario e scadenza SIM (per le TIM Card Ricaricabili)
– Avanzamento del consumo del traffico incluso nelle tue offerte attive (per alcune offerte anche in formato grafico)
– Dettaglio del traffico.
Inoltre potrai:
– Ricaricare il tuo credito residuo o quello di un’altra utenza con Carta di Credito (anche memorizzando i dati della carta per alcuni circuiti), con PayPal o con RICARICard (per le TIM Card Ricaricabili)
– Visualizzare le informazioni relative a tutte linee TIM a te intestate e associate precedentemente sul sito tim.it (voce menu “Le tue SIM”)
– Trovare il negozio TIM più vicino
– Contattare gli operatori 119 attraverso la sezione “Twitter”
– Attivare le offerte selezionate da TIM appositamente per te (il pagamento avviene con scalo da credito residuo per i Clienti con utenze ricaricabili e con addebito in bolletta per i Clienti con utenza in abbonamento)
– Attivare e gestire il servizio “TIM Ti Avvisa” per tenere sotto controllo le tue offerte attive.
Se utilizzi l’applicazione “119” connettendoti dalla rete dati TIM, potrai visualizzare direttamente le informazioni della linea TIM corrispondente alla SIM inserita nel tuo telefono/tablet.
Se invece utilizzi l’applicazione connettendoti da rete Wi-Fi o da rete di altro operatore mobile, potrai accedere alle informazioni della tua linea TIM, utilizzando le stesse credenziali di accesso dell’Area Clienti del sito tim.it.
In entrambi i casi, potrai visualizzare le informazioni di una qualsiasi tua linea TIM Consumer utilizzando le credenziali di accesso (username e password) dell’Area Clienti del sito tim.it.
Avrai anche la possibilità di memorizzare tali credenziali per evitare di doverle digitare ad ogni accesso.

https://play.google.com/store/apps/details?id=it.telecomitalia.centodiciannove

119 Tim Telecom Italia
119 Tim Telecom Italia

http://www.telecomitalia.it/assistenza/assistenza-amministrativa/assistenza-ipad-iphone-smartphone-android

119 Tim Telecom Italia
119 Tim Telecom Italia

https://itunes.apple.com/it/app/119/id378783815?mt=8

telecom italia App: Serie A TIM – Sports TV

serie A TIM APP sports
serie A TIM APP sports

Description

Scarica l’app Serie A TIM e guarda le dirette delle migliori partite con TIM e l’app ufficiale della Lega SERIE A e dopo 1 mese, se vuoi, inizi a pagare!Se sei un Cliente TIM, guarda la diretta delle migliori partite di Serie A TIM sul tuo Smartphone e/o Tablet!
L’abbonamento “Serie A TIM” ti offre la diretta audio-video delle 6 migliori partite di ciascuna giornata del Campionato 2013-2014, i goal e le sintesi di ogni giornata, le video-news e la partecipazione alla vita social della serie A TIM grazie all’accesso diretto alla Fan Page Serie A TIM di FB. E in più, inizio partite e video-goal della tua squadra del cuore ti saranno notificati sul tuo telefonino! Tutto con traffico incluso su rete 2G, 3G o LTE per APN WAP !L’abbonamento a “Serie A TIM”, in promozione gratuita per 1 mese dall’attivazione offre:
– la diretta video delle migliori 6 partite selezionate per ciascun turno
– i video-goal di tutte le partite
– le video-sintesi di tutte le partite
– gli alert di tutti i goal e sintesi delle partite della tua squadra del cuore (ricorda di attivare le Notifiche in Profilo e per ogni goal della tua squadra riceverai un alert che ti consentirà di vederli in near-live)
– l’audio-cronaca della partita per tutte le volte che potrai concederti il piacere di seguirne la diretta
– le video-news e tutti i video di conferenze stampa e interviste
– la personalizzazioni della tua squadra del cuore, grazie alla funzione “La mia squadra”, per ricevere gli alert dei goal di ogni giornata e configurare il “canale” personalizzato con tutti i contenuti della tua squadra del cuore
– la partecipazione alle iniziative, ai concorsi e alla vita social della Serie A TIML’utilizzo gratuito dell’applicazione Serie A TIM offre:
– lutte le notizie brevi e gli approfondimenti di Calciomercato e Serie A
– il calendario, le classifiche, i risultati, le formazioni, le statistiche ed i marcatori di tutti i match
– La cronaca testuale di tutte le partite in tempo reale
– ’accesso diretto alla fan page FB di Serie A TIM
– notifiche degli eventi più importantiL’app è compatibile con smartphone e tablet con display di dimensioni sino a 12’’.
L’abbonamento a “Serie A TIM” è in promozione gratuita per 4 settimane dall’attivazione.
Al termine dell’abbonamento, e a meno di disattivazione da parte del Cliente, il prezzo è di 3,59€ a settimana, con rinnovo automatico.
TIM informa che l’abbonamento è disponibile per i soli Clienti TIM, perché i diritti concessi dalle squadre di calcio a TI, non consentono a quest’ultima di estendere l’offerta ai Clienti di altri operatori mobili.DISATTIVAZIONE
Potrai decidere in qualsiasi momento di disattivare il tuo abbonamento a Serie A TIM, direttamente all’interno della tua applicazione in Profilo > Info&Costi e cliccare su “Disattiva Abbonamento” oppure chiama il 119.
Dopo la disattivazione il servizio è comunque disponibile sino a scadenza dell’abbonamento.
© Telecom Italia – tutti i diritti riservati
serie A TIM APP sports
serie A TIM APP sports

https://play.google.com/store/apps/details?id=it.telecomitalia.calcio

telecom Italia APP: TIM CheckApp

TIM CheckApp dati traffico
TIM CheckApp dati traffico

Descrizione

Vuoi tenere sotto controllo il tuo piano dati e verificare quanto traffico consuma ciascuna app? Sei sicuro che tutti i dati personali a cui le app hanno accesso servano davvero? Hai delle applicazioni che non usi da tempo? TIM Checkapp è il cruscotto all-in-one che mostra quanta percentuale del tuo piano dati hai consumato nel mese, quanti dati consuma ciascuna applicazione e segnala le app che accedono a molti dati personali e fornisce lo score globale della tua privacy.

Da oggi TIM Checkapp è ancora più semplice ed immediato. Permette di configurare il piano dati e mostra in un’unica schermata il consumo e il livello medio della tua privacy. Infatti, classifica le tue app in base a quanto sono invasive della tua privacy oltre a segnalare quelle che usi di più e quelle che usi di meno e che, forse, non ti servono più.
Con TIM CheckApp puoi visualizzare:
• Il traffico dati sviluppato da ciascuna applicazione (sia su rete 3G che su rete WiFi) misurata sul periodo di un giorno, una settimana o un mese
• Il livello globale di condivisione dei tuoi dati personali calcolato tramite un algoritmo sviluppato da TIM
• Tutte le applicazioni installate sul telefono
• La quantità di dati personali a cui ciascuna applicazione ha accesso e valutarne l’adeguatezza rispetto alla funzione dell’app
• Le applicazioni che hanno accesso al maggior numero di dati personali
• Le applicazioni in esecuzione: Puoi arrestare quelle che ritieni non importanti e migliorare le prestazioni del tuo telefonoIl traffico dati indicato è misurato sul terminale e potrebbe differire da quello misurato sulla rete. Per ottenere il consumo mensile di traffico scarica l’app del 119 o consulta il sito http://www.tim.it.
Per informazioni e suggerimenti scrivici su timcheckapp@telecomitalia.it
TIM CheckApp 3
TIM CheckApp 3
TIM CheckApp 2
TIM CheckApp 2

 

https://play.google.com/store/apps/details?id=it.telecomitalia.timcheckapp