Autore Topic: Share di un array  (Letto 548 volte)

Offline felasandroid

  • Utente normale
  • ***
  • Post: 345
  • Respect: +10
    • Github
    • balduzziantonio
    • balduzziantonio.unifi
    • Mostra profilo
  • Dispositivo Android:
    Huawei P8 Lite
  • Play Store ID:
    FelasTech
  • Sistema operativo:
    Windows 10
Share di un array
« il: 13 Novembre 2013, 17:46:07 CET »
0
Praticamente in un Array ho una serie di stringhe, che visualizzo in un TableLayout, ora vorrei mettere l'opzione di condividere queste Stringhe, ma ecco io faccio così:

Codice (Java): [Seleziona]
getMenuInflater().inflate(R.menu.action_provider, menu);
               
                MenuItem shareItem = (MenuItem) menu.findItem(R.id.abShare);
                               
                ShareActionProvider mShare = (ShareActionProvider) shareItem.getActionProvider();
                Intent shareIntent =  new Intent (Intent.ACTION_SEND);
                shareIntent.setAction(Intent.ACTION_SEND);
                shareIntent.setType("text/plain");
               
               
                shareIntent.putExtra(Intent.EXTRA_TEXT, rowID);
               
                mShare.setShareIntent(shareIntent);

Al posto di rowID dovrei metterci l'array ma appundo devo richiamare il metodo putExtra per tutte le Stringhe dell'Array?

Offline vincenzoc

  • Utente junior
  • **
  • Post: 148
  • Respect: +47
    • Google+
    • cerminarav
    • Mostra profilo
    • Mie applicazioni sul Play Store
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Vincenzo Cerminara
  • Sistema operativo:
    Arch Linux
Re:Share di un array
« Risposta #1 il: 16 Novembre 2013, 22:52:57 CET »
0
Se devi condividere tutte le Stringhe insieme puoi scorrere l'array e mettere tutte le Stringhe in una Stringa unica:
Codice (Java): [Seleziona]
getMenuInflater().inflate(R.menu.action_provider, menu);
MenuItem shareItem = (MenuItem) menu.findItem(R.id.abShare);
ShareActionProvider mShare = (ShareActionProvider) shareItem.getActionProvider();
Intent shareIntent =  new Intent (Intent.ACTION_SEND);
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
String ris="";
for(int i=0; i<array.length; i++)
      ris +=  ( i==0?(array[i]):(",\n"+array[i]) );
shareIntent.putExtra(Intent.EXTRA_TEXT, ris);
mShare.setShareIntent(shareIntent);
Dove array è l'array che contiene le tue Stringhe ed otterrai un risultato simile a:
Codice: [Seleziona]
Stringa 1,
Stringa 2,
Stringa 3
Ringrazia chi ti aiuta sul forum con l'apposito pulsante :P
Scarica Yazzy

Offline C_G

  • Utente junior
  • **
  • Post: 69
  • Respect: 0
    • Mostra profilo
Re:Share di un array
« Risposta #2 il: 22 Marzo 2014, 01:21:15 CET »
0
Ciao, e se voglio inviare un file di database (*.db) che setType devo inserire? ho fatto diverse prove ma senza risultato:
Codice (Java): [Seleziona]
private Intent shareIt() {

            Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
            shareIntent.setType("*/*");
            shareIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
            Uri uri = Uri.parse("/data/data/"+getPackageName()+"/databases/Mydb.db");
            shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
            startActivity(Intent.createChooser(shareIntent, "Share via"));
            return shareIntent;
        }
     });
}