Post recenti

Pagine: [1] 2 3 ... 10
1
Utilizzo della Rete / Re:attesa infinita JSON parser
« Ultimo post da LaLeggenda il Ieri alle 18:27 »
il client arriva fino a "sono qui" e poi attende

ho provato:
clientSocket.setKeepAlive(true); clientSocket.setSoTimeout(1); per non far cade la connessione quando facciuo un close ma niente
 anche a sostituire printwriter con bufferedwriter... perché un amico usa queste classe e se chiude gli stream la connessione non cade.... lui però per connettersi usa:
Codice: [Seleziona]
//URL url = new URL("http://localhost:9999");
        //HttpURLConnection client=(HttpURLConnection) url.openConnection();
        //client.setDoOutput(true);
ma niente ....

questo è il client
Codice: [Seleziona]
package com.mastrosoft.myapplication;

// EchoClient.java
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

import java.net.*;
import java.io.*;
public class EchoClient {
    public static void main(String[] args) throws IOException {

        Event messsage= new Event("08/12/2017","Bologna","Discodiscotecateca","100",2);


        BufferedReader in = null, stdIn = null;
        BufferedWriter printwriter = null;
        Socket client = new Socket("192.168.203.20", 9999);
        client.setKeepAlive(true);
        //URL url = new URL("http://localhost:9999");
        //HttpURLConnection client=(HttpURLConnection) url.openConnection();
        //client.setDoOutput(true);
        System.out.println("connesso");

        String command="AddNewEvent";

            if (command.matches("AddNewEvent")) {
                //System.out.println("AddNewEvent req");
                //json
                try {

                    printwriter = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
                    System.out.println("Creato writer");
                    JSONObject object = new JSONObject();
                    try {
                        object.put("Location", messsage.getLocation());
                        object.put("Idea", messsage.getIdea());
                        object.put("Budget", messsage.getBudget());
                        object.put("Id_img", messsage.getId_img());
                        object.put("cmd", command);
                        object.put("com", null);
                        System.out.println("Inviato evento");
                    } catch (Exception e) {
                        e.printStackTrace();
                    }

                    printwriter.write(object.toJSONString());
                    printwriter.newLine();
                    printwriter.flush();
                    System.out.println("chiuso stream");



                } catch (UnknownHostException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }


        command="ShowEvents";

        if (command.matches("ShowEvents")) {
            System.out.println("ShowEvents req");

            try{

                printwriter = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));

                System.out.println("Creato writer");
                //json
                JSONObject object = new JSONObject();
                try {
                    object.put("Location", "NaN");
                    object.put("Idea", "NaN");
                    object.put("Budget", 0);
                    object.put("Id_img", 0);
                    object.put("cmd", command);
                    object.put("com", null);
                } catch (Exception e) {
                    e.printStackTrace();
                }
//Bufferedwriter
                printwriter.write(object.toJSONString());
                printwriter.newLine();
                printwriter.flush();
                //printwriter.close();
                System.out.println("inviato eventofittizio");



               // printwriter = new PrintWriter(client.getOutputStream(), true);

                JSONParser parser = new JSONParser();
                Object obj2=null                ;


                InputStreamReader isr = new InputStreamReader(client.getInputStream());
                BufferedReader iin = new BufferedReader(isr);
                System.out.println("sono qui");
                System.out.println("echo: " + iin.readLine());
                //printwriter.write(1);
                //printwriter.flush();
                while(obj2==null) {
                    obj2 = parser.parse(new InputStreamReader(client.getInputStream()));// la coda non viene ricevuta!!!! prova wait e notify
                }//si chiude la connessione per questo non riceve un cazzo socketisclosedexception!
                JSONObject json = (JSONObject) obj2;
                System.out.println("str rcvd: " + json);
                Event RCVDmesssagetmp=new Event();
                RCVDmesssagetmp.setLocation((String) json.get("Location"));
                RCVDmesssagetmp.setIdea((String) json.get("Idea"));
                RCVDmesssagetmp.setBudget(Integer.parseInt(json.get("Budget").toString()));
                RCVDmesssagetmp.setId_img(Integer.parseInt(json.get("Id_img").toString()));
                String cmd = (String) json.get("cmd");
                System.out.println("RCVD COMMAND: " + cmd);


            }catch (UnknownHostException e) {
                e.printStackTrace();
            } catch (IOException e) {

                e.printStackTrace();
            } catch (ParseException e) {
                e.printStackTrace();
            }

        }
        printwriter.close();
        client.close();


    }

}

e questo è il server
Codice: [Seleziona]
package com.mastrosoft.myapplication;

import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;

/**
 * Created by Alessandro on 11/12/2017.
 */
public class SkeletonThread extends Thread {
    private IGestore skeleton;
    private Socket clientSocket;
    private Event eee;
    private CodaEvents ccc;
    public SkeletonThread(IGestore _skeleton, Socket _socket){
        this.skeleton=_skeleton;
        this.clientSocket=_socket;

        InetAddress address = clientSocket.getInetAddress();
        String client = address.getHostName();
        int porta = clientSocket.getPort();
        System.out.println("In chiamata Client: "+ client + " porta: " + porta);
        System.out.println("Connection accepted: "+ clientSocket);
    }

    public void run(){
        try{
                JSONParser parser = new JSONParser();
                clientSocket.setKeepAlive(true);
                clientSocket.setSoTimeout(1);
            InputStreamReader ISR = new InputStreamReader(clientSocket.getInputStream());
            BufferedReader IN = new BufferedReader(ISR, 1);
            Object 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);
                String com=(String) json.get("com");
                System.out.println("RCVD COM: "+com);


            if (cmd.matches("AddNewEvent")){
                Boolean Esito=skeleton.AddNewEvent(eee);
                System.out.println("Event added...");
                OutputStreamWriter osw = new OutputStreamWriter(clientSocket.getOutputStream());
                osw.write(Esito.toString());
                System.out.println("EchoServer operation: " + Esito.toString());
                System.out.println("connessione chiusa");
            }


            if (cmd.matches("ShowEvents")) {
                System.out.println("chiamo server...");
                ccc = skeleton.ListEventAvailable();
                ccc.listcoda();
                PrintWriter printwriter = new PrintWriter(clientSocket.getOutputStream(), true);
                InputStreamReader isr = new InputStreamReader(clientSocket.getInputStream());
                BufferedReader in = new BufferedReader(isr);
                System.out.println("Sending Events...");
                //for (int i = 0; i<ccc.length ; i++) {
                    Event messsage = ccc.estrai();
                    //json
                    JSONObject object = new JSONObject();
                    try {
                        object.put("Location", messsage.getLocation());
                        object.put("Idea", messsage.getIdea());
                        object.put("Budget", messsage.getBudget());
                        object.put("Id_img", messsage.getId_img());
                        object.put("Esito", "TRUE");
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    boolean Esito=false;
                    //while(in.read()!=1) {
                        printwriter.write(object.toJSONString());
                        System.out.println(object.toJSONString());
                        printwriter.flush();

                    //}
                //}
                System.out.println("Events Sent...");
//                OutputStreamWriter osw = new OutputStreamWriter(clientSocket.getOutputStream());
//                osw.write(Esito.toString());
//                System.out.println("EchoServer operation: " + Esito.toString());}



                //clientSocket.close();
                System.out.println("connessione chiusa");
            }

        }catch (Exception e) {
            e.printStackTrace();
        }



    }
}
2
View e Layout / Re:Settare una progressbar in una listview
« Ultimo post da robe il Ieri alle 08:53 »
Ora provo. grazie
3
View e Layout / Re:Settare una progressbar in una listview
« Ultimo post da Ohmnibus il 19 Gennaio 2018, 21:22:13 CET »
La progress bar circolare di solito è utilizzata per indicare un processo di cui non si conosce la durata ed è normale che cicli all'infinito o sia fermo.

Se vuoi indicare una percentuale "a torta" devi crearne una personalizzata (o quantomeno usare lo stile adatto), es: https://www.android-examples.com/create-material-design-circular-progressbar-in-android-on-all-devices/
4
View e Layout / Re:Settare una progressbar in una listview
« Ultimo post da robe il 19 Gennaio 2018, 18:12:51 CET »
Ho creato il getView e ho provato
sia la progressBar Horizontal e sia le due Seek e ... funzionano perfettamente ...

la progressBar circolare non ne vuole sapere o luppa o è morta    chi conosce dove sta il trucco?

Grazie infinite


5
Richiesta Tutorial / Come firmare manualmente un apk con ubuntu?
« Ultimo post da pythonuser il 19 Gennaio 2018, 12:47:24 CET »
Sono un principiante e ho creato per la prima volta un apk come posso firmarla manualmente?grazie
6
Utilizzo della Rete / Re:attesa infinita JSON parser
« Ultimo post da Ohmnibus il 19 Gennaio 2018, 08:40:23 CET »
Cosa succede lato client? Legge solo una parte di dati o proprio nulla?

Eventualmente prova ad inizializzare BufferedReader con una dimensione pari ad 1

Codice (Java): [Seleziona]
BufferedReader IN = new BufferedReader(ISR, 1);
E' una cosa normalmente sbagliatissima, ma potrebbe essere di aiuto per individuare il problema.
7
Utilizzo della Rete / Re:attesa infinita JSON parser
« Ultimo post da LaLeggenda il 18 Gennaio 2018, 23:33:47 CET »
nada
8
Programmazione Java per Android / Re:Differenza velocità oggetti tra due dispositivi
« Ultimo post da Zed92 il 18 Gennaio 2018, 20:43:15 CET »
Ciao!

Il framework è questo qui: Day 5: The Android Game Framework: Part I - Kilobolt

Nel codice che ho postato credo ci sia solo un riferimento alle animazioni che fa parte del framework
9
Gestione dei dati / Re:Lettura dati su database remoto con app android
« Ultimo post da ridaria il 18 Gennaio 2018, 17:23:43 CET »
Grazie OK.

MA come chiamo il mio web service che sta qui:
   WebServiceTotali Servizio Web


e come richiamo una funzione del WS piuttosto che un'altra?


GRAZIE
10
Gestione dei dati / Re:Lettura dati su database remoto con app android
« Ultimo post da berpao il 18 Gennaio 2018, 14:02:25 CET »
Ciao

Codice (Java): [Seleziona]
        final Button buttonLeggi = findViewById(R.id.buttonLeggi);
        buttonLeggi.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // Code here executes on main thread after user presses button
                TextView text = (TextView) findViewById(R.id.textView);
                text.setText("TESTbutton2");
               
//Berpao, codice preso dal sito [url=http://loopj.com/android-async-http/]Android Asynchronous Http Client[/url]
AsyncHttpClient client = new AsyncHttpClient();
client.get("https://www.google.com", new AsyncHttpResponseHandler() {

    @Override
    public void onStart() {
        // called before request is started
       //BERPAO, qui puoi creare un loader
    }

    @Override
    public void onSuccess(int statusCode, Header[] headers, byte[] response) {
        // called when response HTTP status is "200 OK"
    }

    @Override
    public void onFailure(int statusCode, Header[] headers, byte[] errorResponse, Throwable e) {
        // called when response HTTP status is "4XX" (eg. 401, 403, 404)
    }

    @Override
    public void onRetry(int retryNo) {
        // called when request is retried
        }
});                
               
               
               
               
            }
        });

Questo è proprio un esempio banale, però ti da un'idea; in ogni evento puoi inserire il codice che ti serve, per esempio nell'onSuccess puoi gestire i dati che ti arrivano dalla chiamata al web service e cos' via
Ciao
P
Pagine: [1] 2 3 ... 10