Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 28
  1. #11
    Utente di HTML.it L'avatar di BlueSmurf
    Registrato dal
    Sep 2015
    residenza
    Bari
    Messaggi
    42
    Quote Originariamente inviata da Misterxxx Visualizza il messaggio
    Non ti voglio sballottare tra mysql+json e sqlite ma io ho usato il primo sistema, facile da mantenere su un qualsiasi server anche gratuito (altervista nel mio caso).
    Il file php di lettura è banale e non mi soffermerei.
    Per leggere il response dal server ho usato la classe Volley che evolve di parecchio la "vecchia" richiesta HttpURLConnection con tutti i limiti che ha con JsonObject (e parsing a seguire), per visualizzare la lista RecyclerView, necessaria al posto della Listview quando si manipola un elevato numero di records.
    Non ho lunga esperienza in Android per cui riporto la mia esperienza perchè semplice, flessibile e estremamente funzionale ma non pretendo sia la migliore
    Ok, grazie per la risposta ma considera che sono ancora agli albori, non ho idea di cosa sia Volley. Il file php ce l'ho pronto ma non so come hostarlo, non ho ancora capito.
    Mi dovresti spiegare anche la classe Volley con JsonObject con relativa recycler view.

    Vorrei capire come funziona questo benedetto collegamento php-json anche se forse per questa app userò SQLite poichè permette la creazione del codice fiscale anche senza connessione internet

  2. #12
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,613
    dal momento che php è un linguaggio server-side lo devi evidentemente hostare su uno spazio che preveda tale tecnica
    in realtà, la maggior parte lo prevedono insieme a mysql
    ho suggerito altervista perchè oltre a tutto questo è pure gratuito
    edit: fai una prova nel browser per vedere se l'output è corretto

    per quanto riguarda la classe volley cerco un breve tutorial che avevo scritto e lo posto (tanto per evitare cross posting con altri forums che non è cosa carina )
    Ultima modifica di Misterxxx; 31-12-2015 a 10:52
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

  3. #13
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,613
    eccolo:
    STEP 1: rendere disponibile la classe Volley
    pare che le future linee guida di google prevedano di incorporare la classe nel proprio progetto (cosa facilmente ottenibile tramite il Git)
    io però ho preferito un approccio classico aggiungendo la dipendenza:
    CODICE:
    compile 'com.mcxiaoke.volley:library-aar:1.0.0'
    STEP 2: aggiungere al manifesto il consueto accesso a internet:
    CODICE:
    <uses-permission android:name="android.permission.INTERNET" />
    adesso le classi:
    STEP 3: CustomJSONObjectRequest.java che si occupa di fare la richiesta del file
    CODICE:
    import com.android.volley.AuthFailureError;
    import com.android.volley.Response;
    import com.android.volley.RetryPolicy;
    import com.android.volley.toolbox.JsonObjectRequest;

    import org.json.JSONObject;

    import java.util.HashMap;
    import java.util.Map;

    public class CustomJSONObjectRequest extends JsonObjectRequest {

    public CustomJSONObjectRequest(int method, String url, JSONObject jsonRequest,
    Response.Listener<JSONObject> listener,
    Response.ErrorListener errorListener) {
    super(method, url, jsonRequest, listener, errorListener);
    }

    @Override
    public Map<String, String> getHeaders() throws AuthFailureError {
    HashMap<String, String> headers = new HashMap<String, String>();
    headers.put("Content-Type", "application/json; charset=utf-8");
    return headers;
    }

    @Override
    public RetryPolicy getRetryPolicy() {
    return super.getRetryPolicy();
    }
    }
    STEP 4: CustomVolleyRequestQueue.java che si occupa di incalanare la coda delle richieste
    CODICE:
    import android.content.Context;

    import com.android.volley.Cache;
    import com.android.volley.Network;
    import com.android.volley.RequestQueue;
    import com.android.volley.toolbox.BasicNetwork;
    import com.android.volley.toolbox.DiskBasedCache;
    import com.android.volley.toolbox.HurlStack;

    public class CustomVolleyRequestQueue {

    private static CustomVolleyRequestQueue mInstance;
    private static Context mCtx;
    private RequestQueue mRequestQueue;

    private CustomVolleyRequestQueue(Context context) {
    mCtx = context;
    mRequestQueue = getRequestQueue();
    }

    public static synchronized CustomVolleyRequestQueue getInstance(Context context) {
    if (mInstance == null) {
    mInstance = new CustomVolleyRequestQueue(context);
    }
    return mInstance;
    }

    public RequestQueue getRequestQueue() {
    if (mRequestQueue == null) {
    Cache cache = new DiskBasedCache(mCtx.getCacheDir(), 10 * 1024 * 1024);
    Network network = new BasicNetwork(new HurlStack());
    mRequestQueue = new RequestQueue(cache, network);
    mRequestQueue.start();
    }
    return mRequestQueue;
    }
    }
    STEP 5: il codice che fa la richiesta nella Main Activity
    CODICE:
    mQueue = CustomVolleyRequestQueue.getInstance(this.getAppli cationContext()).getRequestQueue();
    String url = "urldelfiledascaricare";
    final CustomJSONObjectRequest jsonRequest = new CustomJSONObjectRequest(Request.Method.GET, url, new JSONObject(), this, this);
    mQueue.add (jsonRequest);
    STEP 6: gestione della risposta
    CODICE:
    @Override
    public void onResponse(Object response) {
    try {
    //fai quello che ti pare con l'oggetto 'response' ottenuto
    } catch (JSONException e){
    e.printStackTrace();
    }
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

  4. #14
    Ciao,suppongo tu abbia un sistema windows,giusto? Di norma,ti direi di configurar eun sistema linux,però non è proprio di semplice intuizione configurarlo,e sopratutto servono ben più di due minuti. Altervsta è un buona soluzione,ma io ne ho una che potrebbe andare ancora meglio.
    Scarica questo: http://www.uniformserver.com/
    In pratica lo avvii,starti apache ,mysql e phpmyadmin dalla GUI,e poi copi il tuo file php nella cartella www,dopo verifichi dal browser se è effettivamente accessibile inserendo l'ip locale della macchina dove lavori.
    PEr sicurezza,prova a raggiungere la macchina anche dal device android. Se usi un emulatore,PENSO tu debba sbloccare la 80 sul modem,ma non ne sono sicuro.

  5. #15
    Utente di HTML.it L'avatar di BlueSmurf
    Registrato dal
    Sep 2015
    residenza
    Bari
    Messaggi
    42
    Grazie a tutti per le risposte, proverò, ma per il mio progetto di codice fiscale ho pensato sia meglio utilizzare un DB Sqlite precaricato nell'app in modo da non dover dipendere da alcuna connessione

  6. #16
    Quote Originariamente inviata da BlueSmurf Visualizza il messaggio
    Grazie a tutti per le risposte, proverò, ma per il mio progetto di codice fiscale ho pensato sia meglio utilizzare un DB Sqlite precaricato nell'app in modo da non dover dipendere da alcuna connessione
    Se non hai necessita di centralizzare,fai bene!Eviti molti problemi

  7. #17
    Utente di HTML.it L'avatar di BlueSmurf
    Registrato dal
    Sep 2015
    residenza
    Bari
    Messaggi
    42
    Per caso potresti aiutarmi con sqlite?����

  8. #18
    Sinceramente,non ho mai avuto necessità di memorizzare grandi moli di dati in locale,preferisco centralizzare.
    HTML,ha una buona guida : http://www.html.it/pag/49180/database-e-sqlite/
    Se non necessiti di funzioni avanzate come il join,penso tu possa utilizzare anche le shared preference.

  9. #19
    Utente di HTML.it L'avatar di BlueSmurf
    Registrato dal
    Sep 2015
    residenza
    Bari
    Messaggi
    42
    Sarà pure buona ma non mi funziona... Pur copiando pari pari. A me basta semplicemente importare il DB che ho creato e leggerne i dati delle colonne

  10. #20
    "Semplicemente"? Perdonami,ma hai dimestichezza con db e Java? Perchè, alla fine può esserci qualche funzione deprecata,ma da qui a non funzionare... In ogni caso,sii più specifico,cosa non funziona?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2021 vBulletin Solutions, Inc. All rights reserved.