Il Forum è consultabile solo in modalità lettura. Per domande o consigli iscriviti al nostro GRUPPO FACEBOOK / COMMUNITY cliccando qui

problema db mysql

Discussione in 'Development' iniziata da nicolachiari, 21 Nov 2015.

  1. RedHat

    RedHat Golden Droid

    Iscritto:
    4 Lug 2014
    Messaggi:
    5.104
    "Mi Piace":
    1.367
    Cioè che vorresti fare di preciso? Ho provato a rileggere diverse molte ma non riesco a seguirti.. Se vuoi creare un listview personalizzato per esempio con diverse text view oppure con image view o così dicendo devi creare una classe e estendere ArrayList..

    Inviato dal mio A0001 utilizzando Tapatalk
     
  2. nicolachiari

    nicolachiari Worker Droid

    Iscritto:
    13 Ott 2015
    Messaggi:
    150
    "Mi Piace":
    8
    sisi infatti mi ero espresso male.... era quello che volevo dire.... cmq c'èera gia il layout pronto da modificare!!!!

    ascolta... sto trasferendo quel progetto nella mia applicazione..... ho trasferito le librerie e aggiunto degli elementi nel gradle app che facevano funzionare il tutto, ma quando faccio run app mi esce sta cosa e non riesco proprio a capire a cosa è dovuto..... ho provato a trasferirlo su un progetto bianco nuovo e li funzionava...





    aggiornamento... ho risolto... c0èerano troppe librerie... ne ho cancellate alcune del play service...
     
  3. RedHat

    RedHat Golden Droid

    Iscritto:
    4 Lug 2014
    Messaggi:
    5.104
    "Mi Piace":
    1.367
    Eccomi, allora per le notifiche procedi cosi:

    1) Segui questa guida per dare i permessi giusti all'applicazione parse.

    2) Poi vai nel tuo progetto Parse -> Settings.. e abilita "Client push enabled?"

    3) Fai sottoscrivere l'utente a un determinato channel, esempio:

    3) Per inviare la notifica:

    4) Per gestire l'arrivo della notifica devi creare una classe e estendere ParsePushBroadcastReceiver. Per esempio ti lascio il mio anche se lo devi adattare per quello che devi fare:

    import android.app.Notification;
    import android.app.NotificationManager;
    import android.app.PendingIntent;
    import android.content.Context;
    import android.content.Intent;
    import android.media.RingtoneManager;
    import android.net.Uri;
    import android.util.Log;
    import com.example.mario.chatapp.Chat.Chat;
    import com.example.mario.chatapp.MainActivity;
    import com.example.mario.chatapp.Message.MessageActivity;
    import com.example.mario.chatapp.MyApp;
    import com.example.mario.chatapp.Query.QueryFirebase;
    import com.example.mario.chatapp.Query.QueryOffline;
    import com.example.mario.chatapp.R;
    import com.parse.ParsePushBroadcastReceiver;
    import com.parse.ParseUser;

    import org.json.JSONObject;

    import java.util.Random;

    public class CustomNotificationReceiver extends ParsePushBroadcastReceiver implements QueryFirebase.OnTaskCompleteCallBack{

    private final String TAG = "MyCustomParsePush";
    private QueryFirebase queryFirebase;
    private QueryOffline queryOffline;
    private MyApp myApp;
    private Context context;
    private Intent intent;
    private Notification.Builder notification;
    private Intent messageIntent;
    private String recipient, sender, notificationAlert, notificationTitle;

    Override
    public void onPushReceive(Context context, Intent intent) {
    this.context = context;
    this.intent = intent;
    myApp = (MyApp) context.getApplicationContext();
    try {
    // controllo se l'applicazione è in background, se lo è invio la notifica
    if (Utils.isAppIsInBackground(context)) {
    // ottengo i dati della notifica appena arrivata
    JSONObject json = new JSONObject(intent.getExtras().getString("com.parse.Data"));
    if (json.has("alert")) {
    notificationAlert = json.getString("alert").toString();
    }

    if (json.has("title")) {
    notificationTitle = json.getString("title").toString();
    }

    if (json.has("to")) {
    recipient = json.getString("to").toString();
    }

    if (json.has("sender")) {
    sender = json.getString("sender").toString();
    }
    // creo una nuova applicazione
    // cioè creo un chatAdapter e una queryFirebase
    myApp.newApplication(context);
    // ottengo la queryFirebase appena creata
    queryFirebase = myApp.getQueryFirebase();
    queryOffline = myApp.getQueryOffline();
    // carico i dati
    // Appena il caricamento è finito, verrà chiamato onDataLoad e poi onChatFind
    // this = OnTaskCompleteCallBack
    queryFirebase.updateLocalChat(ParseUser.getCurrentUser().getUsername(), this);
    }

    } catch (Exception e) {
    Log.i(TAG, "" + e.getMessage());
    }

    }

    /**
    * Cati caricati, trovare la chat della notifica appena cliccata
    */
    Override
    public void onDataLoad() {
    Log.i(TAG, "**********onDataLog Entrato*********");
    queryOffline.findLocalChatWithCallBack(recipient, sender, this);
    }

    /**
    * Metodo chiamato dopo onDataLoad (dati caricati) per aprire la chat corrente della notifica
    * param chat: Chat trovata dal findLocalChatWillCallBack
    */
    Override
    public void onChatFind(Chat chat) {
    Log.i(TAG, "**********onChatFind Entrato*********");
    // creo l'intent per aprire la chat della notifica
    messageIntent = new Intent(context, MessageActivity.class);
    messageIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    // chat = chat trovata da findLocalChatWithCallBack
    messageIntent.putExtra(MainActivity.INFO_CHAT, chat);
    Log.i(TAG, "Chat :" + chat);
    // mostro la notifica
    showNotification();
    }

    Override
    public void onChatUpdate(Chat chat) {
    // nothing
    }

    public void showNotification(){
    Log.i(TAG, "**********showNotification Entrato*********");
    // avviso l'utente del messaggio
    //super.onPushReceive(context, intent);
    PendingIntent pendingIntent =
    PendingIntent.getActivity(
    context,
    0,
    messageIntent,
    PendingIntent.FLAG_CANCEL_CURRENT
    );
    Uri uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
    notification = new Notification.Builder(context)
    .setSmallIcon(R.mipmap.ic_launcher)
    .setContentTitle(notificationTitle)
    .setSound(uri)
    .setAutoCancel(true)
    .setPriority(Notification.PRIORITY_HIGH)
    .setDefaults(Notification.DEFAULT_VIBRATE)
    .setStyle(new Notification.BigTextStyle().bigText(notificationAlert))
    .setContentText(notificationAlert)
    .setContentIntent(pendingIntent);

    Random random = new Random();
    int randomNumber = random.nextInt(9999 - 1000) + 1000;
    NotificationManager mNotifyMgr = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    mNotifyMgr.notify(randomNumber, notification.build());
    }


    }

    rimane il solito problema dell'indentazione quindi non si capisce molto purtroppo

    Comunque mi dispiace dirlo ma se non hai molta esperienza sorgeranno diversi problemi, ci devi sbattere la testa qualche giorno
     
    Ultima modifica: 25 Nov 2015
  4. nicolachiari

    nicolachiari Worker Droid

    Iscritto:
    13 Ott 2015
    Messaggi:
    150
    "Mi Piace":
    8
    ok graziee!!! sisi ci guardo un po e cerco di farlo.... comunque alla fine questo mi permette all'arrivo di un messagio in quella chat di ricevere una notifica giusto?
     
  5. RedHat

    RedHat Golden Droid

    Iscritto:
    4 Lug 2014
    Messaggi:
    5.104
    "Mi Piace":
    1.367
    Sisi se lo gestisci dopo il click del bottone per l'invio del messaggio si
     
  6. nicolachiari

    nicolachiari Worker Droid

    Iscritto:
    13 Ott 2015
    Messaggi:
    150
    "Mi Piace":
    8
    ahhh okk.. sembra stra complicato... ahah vedro di capire! grazie!
     
  7. RedHat

    RedHat Golden Droid

    Iscritto:
    4 Lug 2014
    Messaggi:
    5.104
    "Mi Piace":
    1.367
    Se ti è più semplice una versione semplificata per il ParsePushBroadcastReceiver la trovi qui.. comunque per qualunque problemi chiedi siamo qui apposta
     
  8. nicolachiari

    nicolachiari Worker Droid

    Iscritto:
    13 Ott 2015
    Messaggi:
    150
    "Mi Piace":
    8
    OK grazie ancora!!!!
     
  9. nicolachiari

    nicolachiari Worker Droid

    Iscritto:
    13 Ott 2015
    Messaggi:
    150
    "Mi Piace":
    8
    rieccomiiii..... scusa se chiedo sempre.... ma per me è l'unico modo per imparare...:sor3:

    ho fatto il punto 1 e due....e il punto 3 lo sto facendo cosi...
    il problma è che non mi fa mettere niente in channel.... tutto quello che provo a mettere.... me lo da sottilineato....
     
  10. RedHat

    RedHat Golden Droid

    Iscritto:
    4 Lug 2014
    Messaggi:
    5.104
    "Mi Piace":
    1.367
    Il subscribeInBackground devi metterlo in una classe che estende application.. Nel metodo onCreate

    Inviato dal mio A0001 utilizzando Tapatalk
     
  11. nicolachiari

    nicolachiari Worker Droid

    Iscritto:
    13 Ott 2015
    Messaggi:
    150
    "Mi Piace":
    8
    mmmm non mi riesce proprio.... l'ho messo qua e penso sia giusto.... ma non me lo prende cmq..... fa nulla dai... se ho proplemi gia in sta cosa.. chissa dopo..

     
  12. RedHat

    RedHat Golden Droid

    Iscritto:
    4 Lug 2014
    Messaggi:
    5.104
    "Mi Piace":
    1.367
    Apposto di code hai mezzo il tuo codice parse no? Comunque non è un problema è una fesseria appena sono a casa vedo meglio.. Inoltre stai provando con l'emulatore o con un dispositivo fisico?

    Inviato dal mio A0001 utilizzando Tapatalk
     
  13. nicolachiari

    nicolachiari Worker Droid

    Iscritto:
    13 Ott 2015
    Messaggi:
    150
    "Mi Piace":
    8
    sisi li ci sono i codici.... non sto proprio provando perchè mi sottolinea chat in channel e me lo da come errore... mi dice sta cosa



    grazie!
     
  14. RedHat

    RedHat Golden Droid

    Iscritto:
    4 Lug 2014
    Messaggi:
    5.104
    "Mi Piace":
    1.367
    Comunque nel manifest devi dichiarare la classe application .. L'hai fatto? Questo errore poi lo vedo, è strano

    Inviato dal mio A0001 utilizzando Tapatalk
     
    Ultima modifica: 27 Nov 2015
  15. nicolachiari

    nicolachiari Worker Droid

    Iscritto:
    13 Ott 2015
    Messaggi:
    150
    "Mi Piace":
    8
    sisi! quella classe si chiama chatapplication ed è dichiarata cosi:



    sisi quando riesci!!!!!
     
  16. RedHat

    RedHat Golden Droid

    Iscritto:
    4 Lug 2014
    Messaggi:
    5.104
    "Mi Piace":
    1.367
    Eccomi, comunque da quanto ho capito ti da proprio errore nella compilazione?
    Anche io facevo come te, nessun problema:

     
  17. nicolachiari

    nicolachiari Worker Droid

    Iscritto:
    13 Ott 2015
    Messaggi:
    150
    "Mi Piace":
    8
    mi da errore subito mentre inserisco... è sottilineato... e durante la compilazione mi da quell'errore... quello a cosa serve???
     
  18. RedHat

    RedHat Golden Droid

    Iscritto:
    4 Lug 2014
    Messaggi:
    5.104
    "Mi Piace":
    1.367
    Ma sei sicuro di aver importato le librerie? Niente è lo stesso codice solo che ti da errore in console se non è andata a buon fine.. Tenant session è una stringa static, puoi mettere quello che vuoi

    Inviato dal mio A0001 utilizzando Tapatalk
     
  19. nicolachiari

    nicolachiari Worker Droid

    Iscritto:
    13 Ott 2015
    Messaggi:
    150
    "Mi Piace":
    8
    l'unica cosa che non mi da errore in channel è mettendo questa stringa
    List<String> canale = getChannels();
    ma mi da l'errore il getChannel()

    si le libs le ho importate
     
  20. RedHat

    RedHat Golden Droid

    Iscritto:
    4 Lug 2014
    Messaggi:
    5.104
    "Mi Piace":
    1.367
    Che errore ti da?