Post recenti

Pagine: [1] 2 3 ... 10
1
Ciao,
ho provato a cercare il framework che hai menzionato (Switch-Swap-Android) ma non ho trovato granchè, puoi girarmi il link del framework giusto per dargli un occhio? Inoltre, nel codice che hai postato mi sembra di capire che il framework non l'hai usato, giusto? se è così, hai provato a chiamare le varie animazioni in un thread specifico (magari inserendole in un runnable). Non vorrei che il problema sia il risultato di eseguire tuitto nel main thread...
Purtroppo la mia esperienza è limitata in queste cose e posso solo  darti qualche idea...
Ciao
P
2
Utilizzo della Rete / attesa infinita JSON parser
« Ultimo post da LaLeggenda il Ieri alle 21:33 »
ciao a tutti,

sto impementando un'app che può richiedere diverse operazioni  ad un server.
Brevemente creo degli oggetti che vengono spediti al server che li conserva in una lista, successivamente chiedo la lista di oggetti creati.
Per serializzare gli oggetti ho usato json. Il problema nasce perché il server rimane in attesa dei dati (anche se sono già stati spediti) a meno che non chiuda la socket. io non voglio chiuderla perché non ho terminato le operazioni da fare, quindi ho cercato un escamotage cioè di inviare una stringa di fine comunicazione "END" ma il server continua a bloccarsi.
Qualcuno ha un'idea?

Codice: [Seleziona]
try{
            JSONParser parser = new JSONParser();
            Object obj=new Object();
            InputStreamReader ISR=new InputStreamReader(clientSocket.getInputStream());
            BufferedReader IN = new BufferedReader(ISR);
            while (true) {
                if (IN.readLine().equals(
                        "END")) break;
                obj = parser.parse(IN); // implementa un meccanismo di lettura che legge finché non è = END
            }
                JSONObject json = (JSONObject) obj;
                System.out.println("str rcvd: " + json);



            eee =new Event();
            eee.setLocation((String) json.get("Location"));
            eee.setIdea((String) json.get("Idea"));
            eee.setBudget(Integer.parseInt(json.get("Budget").toString()));
            eee.setId_img(Integer.parseInt(json.get("Id_img").toString()));
            String cmd=(String) json.get("cmd");
            System.out.println("RCVD COMMAND: "+cmd);
3
Ciao,
niente volevo solo dire se si riusciva a fare qualche prova con altri device fisice con su android 6 o android 8 per avere effettivamente la conferma che non siano davvero le api, escludendo i test sui vistual device. Nel frattempo ho dato un occhio al video che hai postatoma ho avuto la sensazione che non fosse più lento o scattoso, ma semplicemente che il secondo quadrato rosso abbia più strada da percorrere; non sono un esperto di animazioni e quant'altro quindi magari sto dicendo cavolate, ma non è che i 2 device hanno densita di display diverse e l'effetto è dovuto a queste caratteristiche differenti? come fai a fare il movimento? puoi postare il codice o parte di esso?
Ciao
P

Eh purtroppo non ho tutti questi device fisici per fare altri test.
Prova ad osservare l'animazione della scritta "vs". Ha tempistiche differenti anche se non tiene conto della lunghezza del display.
Il movimento lo faccio con le basi Java della programmazione ad oggetti.
Codice (Java): [Seleziona]
public class GameScreen extends Screen {
    private Animation vsAni;
    public static Robot robot;
   
    public GameScreen(Game game) {
        super(game); //Inizializzo Objects
        robot = new Robot();

        //Definisco le animazioni
        long vsTime = 100;
        vsAni = new Animation();
        vsAni.addFrame(Assets.vs1, vsTime + 300);
        vsAni.addFrame(Assets.vs2, vsTime);
        vsAni.addFrame(Assets.vs3, vsTime);
        vsAni.addFrame(Assets.vs4, vsTime);
        vsAni.addFrame(Assets.vs5, vsTime + 1400);
        vsAni.addFrame(Assets.vs4, vsTime);
        vsAni.addFrame(Assets.vs3, vsTime);
        vsAni.addFrame(Assets.vs2, vsTime);
        vsAni.addFrame(Assets.vs1, vsTime + 300);

    }


    @Override
    public void update(float deltaTime) {
        robot.update();
        vsAni.update(10);
    }



    @Override
    public void paint(float deltaTime) {
        Graphics g = game.getGraphics();
        g.clearScreen(Color.WHITE);
        g.drawBitmap(Assets.robot, robot.r.left, robot.r.top);

        g.drawBitmap(vsAni.getImage(), 190, 350);
    }
}
Codice (Java): [Seleziona]
public class Robot {
    private int speedX = 0;
    private int leftRobot = 0;
    private int topRobot = 0;
        public static Rect r = new Rect(0, 0, 0, 0);

    public void update() {
        speedX = +1;
        r.set(leftRobot, topRobot, leftRobot+70, topRobot+106);
        if (speedX != 0) { leftRobot += speedX; }
    }

}
4
Ciao,
Citazione
Cosa intendi con su 6 e 8?

niente volevo solo dire se si riusciva a fare qualche prova con altri device fisice con su android 6 o android 8 per avere effettivamente la conferma che non siano davvero le api, escludendo i test sui vistual device. Nel frattempo ho dato un occhio al video che hai postatoma ho avuto la sensazione che non fosse più lento o scattoso, ma semplicemente che il secondo quadrato rosso abbia più strada da percorrere; non sono un esperto di animazioni e quant'altro quindi magari sto dicendo cavolate, ma non è che i 2 device hanno densita di display diverse e l'effetto è dovuto a queste caratteristiche differenti? come fai a fare il movimento? puoi postare il codice o parte di esso?
Ciao
P
5
Ciao, nessun problema, siamo qui per questo. Potevi anche scrivermi in privato...
Cmq che errore ti da? riesci a postare il messaggio dell'errore? Ho visto che hai dichiarato la progress direttamente nel onPreExecute del listener; questo vuol dire che quella variabile ha validità solo all'interno del onPreExecute(), se provi a settarla o ad usarla al di fuori di quell'evento ti darà sicuramenteun errore (non ho guardato tutto il codice, però quell'istruzione mi salta subito all'occhio!!)
 In teoria potresti fare così (se è quello il problema):

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);
                                         //BERPAO: Devi dichiarla "final" perchè poi la usi in una inner class
                                         final ProgressDialog pd = new ProgressDialog(c);

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;

                                                 //BERPAO: Istruzione sostituita dalla dichiarazione precedente
                                                 //ProgressDialog pd = new ProgressDialog(c);
                                                 pd.setMessage("Sending..... Please wait");
                                                 pd.show();

                                             }

                                             @Override
                                             public void onPostExecute(String response) {
                                                 //BERPAO: distruggo la progress. pd ora è accessibile
                                                pd.dismiss();

                                                 // VERIFICO IL RISULTATO DEL MIO SENDER
                                                 if (response== null) {
                                                    // RISULTATO NEGATIVO
                                                     SenderResponceNegative();
                                                 }else {
                                                     // RISULTATO POSITIVO
                                                     SenderResponcePositive();
                                                 }
                                             }
                                         };

                                          .......

Se ho frainteso o se hai altri problemi fammi sapere e allega il messaggio dell'errore
Ciao
P
6
Ma il "cuore" cosa deve contenere? Che calcoli deve fare? Spiegati meglio
7
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
8
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
9
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
10
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
Pagine: [1] 2 3 ... 10