Post recenti

Pagine: [1] 2 3 ... 10
1
ti ringrazio lo stesso speriamo che c'e'qualcuno che può aiutarmi leggendo su internet  da terminale posso creare il keystore ma non conosco i comandi  grazie ancora
2
Purtroppo non conosco kivy/buildozer. Da android studio è molto semplice vai sul menu Build -> Generate Signed apk e da li puoi crearti il keystore ma dall'ambiente che usi tu non ti saprei dire.
Questo forse può aiutarti

https://github.com/kivy/kivy/wiki/Creating-a-Release-APK
3
Ciao ho android studio installato sul pc ma non lo uso come ambiente di sviluppo,uso la macchina virtuale kivy/buildozer per sviluppare le apk scusa la mia poca esperienza ma se puoi aiutarmi per piacere
4
Ciao, mi piacerebbe realizzare il "cuore" principale che poi sfrutterò per realizzare altre app.
Questo "cuore" fa delle operazioni matematiche , non cose complicate.

Poi mi piacerebbe che questo cuore possa essere aggiornato (anche altri miei compagni di classe possono ottenere questo strumento), magari tramite PlayStore.

Ma, a livello teorico-programmazione-Android, su che cosa mi devo concentrare? Grazie
5
Ciao,
usi android studio come ambiente di sviluppo?
6
Salve a tutti sono un principiante,ho creato una piccola applicazione con kivy/buildozer,adesso mi serve la keystore scusate la mia inesperienza ma come posso crearla ? uso la macchina virtuale kivy/buildozer con il sistema operativo xubuntu Grazie in anticipo mi serve per favore un tutorial con i comandi da inserire  :-)
7
Ciao Berpao
I valori dei virtual device oscillano giustamente in base a cosa il pc sta facendo, ma sono comunque molto diverse le tempistiche.
Comunque ho provato a disabilitare le opzioni di sviluppatore ma i tempi sui dispositivi fisici sono sempre gli stessi.
I dispositivi fisici erano scollegati quindi niente debug.

Cosa intendi con su 6 e 8?
8
ciao berpao ti ringrazio ancora per l'aiuto, ho seguito il tuo consiglio e ho gestito gli intent verso le altre Activity all interno del postExecute dell' Interfaccia,

La risoluzione di questo problema mi ha aperto nuovi problemi e soprattutto nuovi dubbi  :-P :-P :-P :-P
Adesso mi da un errore bloccante sulla ProgressDialog ma dato che non l'ho mai usata non ho ben chiaro il perchè....

Questa è la solita chiamata all AsyncTask del Main Activity.....
Codice (Java): [Seleziona]
String urlAddress = "http://mioIP/var/www/html/Find_First.php";
                                         Sender s = new Sender(urlAddress, ID_String, Fpos, Catpos, Nazione_Market, Company_MKT);
                                         // // TODO: 03/07/2017  verifico se il risultato è positivo
                                         IRequestListener list  = new IRequestListener() {
                                             @Override
                                             public void onPreExecute() {

/// COME TU MI AVEVI CONSIGLIATO HO INSERITO LA GESTIONE DELLA PROGRESSDIALOG NEL PRE EXECUTE della mia INTERFACE

                                                 Context c;
                                               //  c = this;


                                                 ProgressDialog pd = new ProgressDialog(c);
                                                 pd.setMessage("Sending..... Please wait");
                                                 pd.show();

                                             }

                                             @Override
                                             public void onPostExecute(String response) {

                                                 // VERIFICO IL RISULTATO DEL MIO SENDER
                                                 if (response== null) {
                                                    // RISULTATO NEGATIVO
                                                     SenderResponceNegative();
                                                 }else {
                                                     // RISULTATO POSITIVO
                                                     SenderResponcePositive();
                                                 }
                                             }
                                         };
                                         s.execute();
                                         s.setOnRequestListener(list);
Nella classe Sender.java gestisco sia la chiamata al mio server....
Codice (Java): [Seleziona]
public class Sender extends AsyncTask<Void,String,String>{

    // TODO: Sender: inizializzo le variabili della classe AsyncTask

   // Context c;
    String urlAddress,Id_String,GRM_Family,GRM_Prodoct,MK_Nation, MK_Company;
    ProgressDialog pd ;
    protected IRequestListener _listener=null;


    // TODO: Sender: Metodo Sender per inviare i dati al server
    public Sender( String urlAddress, String id_string, String fpos, String catpos, String nazione_market, String Company_MKT) {

        // TODO: Sender: inizializzo le variabili del Metodo sender

        this.urlAddress=urlAddress;
        this.Id_String=id_string;
        this.GRM_Family=fpos;
        this.GRM_Prodoct=catpos;
        this.MK_Nation= nazione_market;
        this.MK_Company = Company_MKT;

        Log.v(TAG,"Sono entrato nel sender");
    }

     // Show Progres dialog while download data
    @Override
    protected void onPreExecute(){
        Log.v(TAG,"Sender: onPreExecute");
        super.onPreExecute();

        Log.v(TAG,"Sender: onPreExecute post super.onPreExecute");

        /*pd= new ProgressDialog(c);
        pd.setTitle("Send");
        pd.setMessage("Sending..... Please wait");
        pd.show();*/

        Log.v(TAG,"Sender: onPreExecute post ProgressDialog");

        // LA CHIAMATA ALLA MIA INTERFACCIA
        if (this._listener!=null) {
            this._listener.onPreExecute();
        }
    }

    @Override
    protected String doInBackground(Void... params) {
        Log.v(TAG,"Sender: doInBackground");
        return this.send();
    }

    /*
    1. Called when job is ovwer
    2. We dismiss or pd
    3. Receive a string from doinbackground
     */


    @Override
    protected void onPostExecute(String response){
         super.onPostExecute(response);

        pd.dismiss();


        if (response!= null){
            //SUCCESS
            Toast.makeText(c,response,Toast.LENGTH_LONG).show();
        }

        // CHIAMATA ALLA MIA INTERFACCIA
        if (this._listener!=null) {
            this._listener.onPostExecute(response);
        }
    }

    /* SEND DATA AND RECEIVE

     */


// QUESTA è IL METODO CHE FA LA CHIAMATA AL SERVER MA NON GESTISCE L'ERRORE... ANCHE SE CHIAMANDO LA PAGINA MI ESCE SERVER NOT FOUND LUI LO PRENDE COME SE IL RISULTATO è POSITIVO!!!!

    private String send(){

        // CONNECT
        Log.v(TAG,"Sender: sono nel send ...");
        HttpURLConnection con = utilityBOperation.Connect(urlAddress);
        Log.v(TAG,"Sender/ send: valore del risultato della connessione al server"+ con);

        if (con==null){
            Log.v(TAG,"Sender: Il risultato del HttpURLConnection è nullo : " + con);
            return null;
        }
        try {
            Log.v(TAG,"Sender: Il risultato del HttpURLConnection non è nullo : " + con);
            OutputStream os = con.getOutputStream();

            // Write
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os,"UTF-8"));
            bw.write(new DataPackager(Id_String,GRM_Family,GRM_Prodoct,MK_Nation,MK_Company).packData());

            bw.flush();

            // RELEASE RES

            bw.close();
            os.close();

            //HAS IT BEEN SUCCESSFUL?

            int responseCode=con.getResponseCode();

            if (responseCode== con.HTTP_OK){

                //GET EXACT RESPONSE
                BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
                StringBuffer response = new StringBuffer();

                String line;

                //READ LINE BY LINE
                while ((line=br.readLine())!= null){

                    response.append(line);
                }
                // RELEASE RES
                br.close();

                String JsonData = response.toString();
                JSONObject JsonOB = new JSONObject(JsonData);
                JSONArray parentArray = JsonOB.getJSONArray("response");
                JSONObject finalOB = parentArray.getJSONObject(0);

                Find_Place.Rest_Data_to_Json(finalOB);
                return response.toString();

            }else {

        }

        } catch (IOException e) {
            e.printStackTrace();
        } catch (JSONException e) {
            e.printStackTrace();
        }
        return null;
    }

    // METODO PER RICHIAMARE LA MIA INTERFACCIA

    public void setOnRequestListener(IRequestListener listener) {
        this._listener = listener;
    }

Per chiarezza ti inserisco anche le altre classi che  creano la connessione e che creano i pacchetti di dati da inviare anche se credo sia questo il problema perche la chiamata non resta aperta abbastanza...

METODO che apre la connessione al server però senza inviare nessun dato
Codice (Java): [Seleziona]
 // Connessione con il post preparo la httpconnection
    public static HttpURLConnection Connect(String urlAddress) {

        try {

            Log.v(TAG,"utilityBOopreation:Connect: entrato nel connect");

            URL url = new URL(urlAddress);
            HttpURLConnection con = (HttpURLConnection) url.openConnection();

            // set propertis
            con.setRequestMethod("POST");
            con.setDoInput(true);
            con.setDoOutput(true);
            Log.v(TAG,"utilityBOopreation:Connect: Valore della connessione :  "+ con);
            return con;

        } catch (IOException e) {
            e.printStackTrace();
            Log.v(TAG,"utilityBOopreation:Connect: La connessione non è andata a buon fine : " + e);
            return null;
        }
   //     return null;
    }
Questo è la classe che si occupa di creare il pacchetto di dati da inviare
Codice (Java): [Seleziona]
public class DataPackager {

    String Id_string, GRM_Family, GRM_Prodoct , MK_Nation , General_MK , MK_Company;

    // Section 1.RECEIVE ALL DATA WE WANNA SEND

    public DataPackager(String Id_string, String GRM_Family, String GRM_Prodoct, String MK_Nation, String MK_Company){

        this.Id_string=Id_string;
        this.GRM_Family=GRM_Family;
        this.GRM_Prodoct=GRM_Prodoct;
        this.MK_Nation= MK_Nation;
        this.MK_Company = MK_Company;

    }
    /*
    SECTION 2
    1.PACK THEM INTO A JONSON OBJECT
    2.READ ALL THIS DATA AND ENCODEIT INTO A FORMAT THAT CAN BE SEND VIA NETWORK

     */



    public String packData(){

        JSONObject jo= new JSONObject();
        StringBuffer packedData =new StringBuffer();


        try {
            jo.put("ID_Marcket",Id_string);
            jo.put("GRM_Family",GRM_Family);
            jo.put("GRM_Prodoct",GRM_Prodoct);
            jo.put("MK_Nation", MK_Nation);
            jo.put("MK_Company",MK_Company);

            Boolean FirstValue=true;
            Iterator it=jo.keys();

            do {
                String Key=it.next().toString();
                String value=jo.get(Key).toString();
                if (FirstValue){
                    FirstValue=false;
                }else {
                    packedData.append("&");
                }

                packedData.append(URLEncoder.encode(Key,"UTF-8"));
                packedData.append("=");
                packedData.append(URLEncoder.encode(value,"UTF-8"));


            }while (it.hasNext());
            return packedData.toString();

        } catch (JSONException | UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return null;
    }
}

NON VOGLIO ABUSARE DELLA TUA DISPONIBILITA INFATTI HO PROVATO A  RISOLVERE DA SOLO MA CON SCARSI RISULTATI....
VOLEVO SCRIVERTI IN PRIVATO MA NON SAPEVO SE AVREI SUPERATO IL LIMITE...
GRAZIE PER TUTTO L'AIUTO CHE MI DAI  ;-) ;-) ;-) ;-) ;-)
9
View e Layout / Re:Settare una progressbar in una listview
« Ultimo post da robe il Ieri alle 16:24 »
Grazie molto gentile
10
Ciao, non so.
Io personalmente non mi affiderei molto sulle performance dei virtual device; dipendono molto da quello che sta facendo il pc in quel momento e secondo me potresti addirittura avere tempi diversi lanciando lo stesso emulatore in 2 momenti diversi. Sarebbe meglio fare la prova con una altro dispositivo hardware con su la 8 per essere sicuri. Le prove che farei io sono:
1) prova con altri device fisici 6 e 8.
2) Le impostazioni sviluppatore sono le medesime tra i due device fisici? Credo che possano influenzare i tuoi test
3) i tempi che hai rilevato sono in debug? se si, prova senza debug; io una mia app trovo grosse latenze durante il debug, che non ho eseguendo la app al di fuori di esso

E' solo qualche idea... ciao
Paolo
Pagine: [1] 2 3 ... 10