Archivi tag: mobile app

Imparare a sviluppare apps con android online in Udacity

Imparare a sviluppare apps con android online in Udacity

android course 2015 udacity
udacity course android appissue 2015

ecco il link Imparare a sviluppare apps con android online in Udacity

Annunci

Come e quando si usa AsyncTask in android (thread) – code esempio

 

Un’attività asincrona è definita da un calcolo che viene eseguito su un thread (filo o processo) in background (sottofondo) e il cui risultato è condiviso e pubblicato sul thread UI (processo della UI).

android AsyncTask
android AsyncTask (image  lucadentella)

Un thread o thread di esecuzione, in informatica, è una suddivisione di un processo in due o più filoni o sotto processi, che vengono eseguiti con-correntemente da un sistema di elaborazione.

AsyncTask consente un uso corretto e semplice del thread UI (processo o filo principale della Interfaccia Utente).

Questa classe consente di eseguire operazioni in background (sottofondo) e di condividere i loro risultati sul thread UI ossia sul filo o processo dell’interfaccia utente, senza dover gestire processi/fili o utilizzare maipolatori di eventi (handlers).

AsyncTask è stato progettato per essere una classe di supporto per Thread ed Handler e non costituisce framework di thread generico.
AsyncTask dovrebbe idealmente essere utilizzato per operazioni di breve durata (pochi secondi al massimo).

Se è necessario conservare un thread (filo) in esecuzione per lunghi periodi di tempo, si consiglia vivamente di utilizzare le varie API fornite dal pacchetto java.util.concurrent package tali come Executor, ThreadPoolExecutor e FutureTask.

Un compito asincrono è definito da 3 tipi generici, chiamati (params, progress, result), e di 4 momenti (passaggi nel tempo), chiamati respettivamente OnPreExecute, doInBackground, onProgressUpdate e OnPostExecute.

params, progress, result

 

Android Code Esempio AsyncTask

LA CHIAMATA

package com.apps.xxxx.xxxx;

import android.app.Activity;
...
public class MainActivity extends Activity {
   ...
  public GridView gridview;
  @Override
  protected void onCreate(Bundle savedInstanceState)      {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main1);
     
     // Creating a new non-ui thread
     jsonAsyncTask downloadTask = new jsonAsyncTask();
     ...
 }
}


I QUATTRO (TRE) PASSAGGI
(attenzione ai parametri generici...params, progress, result ... String, Void, String)

/** AsyncTask to download json data */
private class jsonAsyncTask extends AsyncTask
<String, Void, String> {

ProgressDialog dialog;
@Override
protected void onPreExecute() {
   super.onPreExecute();
   //dialog
   dialog = new ProgressDialog(MainActivity.this);
   dialog.setTitle("Connecting server  ");
   dialog.setMessage("Loading, please wait");
   dialog.setIndeterminate(true);
   dialog.setCancelable(false);
   dialog.show();
 }
//last param String
  String data = null;

@Override
protected String doInBackground(String... url) {
try{
   data = getJSONString(url[0]);
   }catch(Exception e){
    return "notok";
   }
    return "ok";
  }

/** Invoked by the Android on "doInBackground" is executed */

@Override
protected void onPostExecute(String result) {
dialog.dismiss();
//dialog.cancel();
//adapter.notifyDataSetChanged();
 if(result =="ok") {
  adapter = new ItemAdapter(MainActivity.this, R.layout.row, listitems);
   gridview.setAdapter(adapter);
  }else{
   showToast("Unable to fetch data from server");                
  }//endif
 }//onPosExecute
}//AsyncTask

lista di collegamenti (links) sulle api (apis) per lo sviluppo app web e mobile

in questa pagina si presenta una lista con collegamenti internet per aiutare il lettore a conoscere meglio e più consapevolmente il  mondo delle API per lo sviluppo web e mobile.

appissue api mobile app italia
fonte immagini : http://www.businessinsider.com/the-best-social-networking-apps-for-iphone-android-and-windows-phone-2014-10?op=1&IR=T

ecco una anteprima

continua all’interno di questa pagina fonte http://www.programmableweb.com/

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