Autore Topic: Aiuto utilizzo ItextPDF con progetto Android  (Letto 901 volte)

Offline theflyoffire

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy 2
  • Sistema operativo:
    android 2.4
Aiuto utilizzo ItextPDF con progetto Android
« il: 19 Maggio 2012, 10:31:59 CEST »
0
Salve a tutti, ho provato ad implementare l'utilizzo di ITEXTPDF con viene spiegato nel tutorial postato all'indirizzo  "Creazione PDF con iText - Android Developers Italia, ma mi da un errore nell'utilizzo del componente java il codice è il seguente:

Codice (Java): [Seleziona]
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Environment;
import android.widget.Toast;

import com.itextpdf.text.Document;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.*;

public class pageStampa extends Activity {
    /** Called when the activity is first created. */
        public static float[] colsWidth = {4f, 18f,4.5f,4.5f,4f,7f};
   public static PdfPTable testata = new PdfPTable(colsWidth);
    final File sd = Environment.getExternalStorageDirectory();
    @Override
    public void onCreate(Bundle savedInstanceState){
      super.onCreate(savedInstanceState);

 }

Da quello che riesco a leggere dal LogCat la riga che va in errore è la seguente :

Codice (Java): [Seleziona]
  public static PdfPTable testata = new PdfPTable(colsWidth);
CMQ il LogCat è il seguente :

05-19 08:29:38.064: E/dalvikvm(282): Could not find class 'com.itextpdf.text.pdf.PdfPTable', referenced from method com.etoch.mobile.pageStampa.<clinit>
05-19 08:29:38.102: W/dalvikvm(282): VFY: unable to resolve new-instance 77 (Lcom/itextpdf/text/pdf/PdfPTable;) in Lcom/etoch/mobile/pageStampa;
05-19 08:29:38.102: D/dalvikvm(282): VFY: replacing opcode 0x22 at 0x0008
05-19 08:29:38.134: D/dalvikvm(282): VFY: dead code 0x000a-0011 in Lcom/etoch/mobile/pageStampa;.<clinit> ()V
05-19 08:29:38.134: W/dalvikvm(282): Exception Ljava/lang/NoClassDefFoundError; thrown during Lcom/etoch/mobile/pageStampa;.<clinit>
05-19 08:29:38.182: W/dalvikvm(282): Class init failed in newInstance call (Lcom/etoch/mobile/pageStampa;)
05-19 08:29:38.182: D/AndroidRuntime(282): Shutting down VM
05-19 08:29:38.182: W/dalvikvm(282): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
05-19 08:29:38.222: E/AndroidRuntime(282): FATAL EXCEPTION: main
05-19 08:29:38.222: E/AndroidRuntime(282): java.lang.ExceptionInInitializerError
05-19 08:29:38.222: E/AndroidRuntime(282):    at java.lang.Class.newInstanceImpl(Native Method)
05-19 08:29:38.222: E/AndroidRuntime(282):    at java.lang.Class.newInstance(Class.java:1429)
05-19 08:29:38.222: E/AndroidRuntime(282):    at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
05-19 08:29:38.222: E/AndroidRuntime(282):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
05-19 08:29:38.222: E/AndroidRuntime(282):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
05-19 08:29:38.222: E/AndroidRuntime(282):    at android.app.ActivityThread.access$2300(ActivityThread.java:125)
05-19 08:29:38.222: E/AndroidRuntime(282):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
05-19 08:29:38.222: E/AndroidRuntime(282):    at android.os.Handler.dispatchMessage(Handler.java:99)
05-19 08:29:38.222: E/AndroidRuntime(282):    at android.os.Looper.loop(Looper.java:123)
05-19 08:29:38.222: E/AndroidRuntime(282):    at android.app.ActivityThread.main(ActivityThread.java:4627)
05-19 08:29:38.222: E/AndroidRuntime(282):    at java.lang.reflect.Method.invokeNative(Native Method)
05-19 08:29:38.222: E/AndroidRuntime(282):    at java.lang.reflect.Method.invoke(Method.java:521)
05-19 08:29:38.222: E/AndroidRuntime(282):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
05-19 08:29:38.222: E/AndroidRuntime(282):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-19 08:29:38.222: E/AndroidRuntime(282):    at dalvik.system.NativeStart.main(Native Method)
05-19 08:29:38.222: E/AndroidRuntime(282): Caused by: java.lang.NoClassDefFoundError: com.itextpdf.text.pdf.PdfPTable
05-19 08:29:38.222: E/AndroidRuntime(282):    at com.etoch.mobile.pageStampa.<clinit>(pageStampa.java:32)
05-19 08:29:38.222: E/AndroidRuntime(282):    ... 15 more


Io penso che sia inserimento dell'estensione JAVA ITEXTPDF in ECLIPSE,  ma non riesco a capire come risolvere il problema

Aggiungo che sto' eseguendo il tutto su emulatore android 2.2

Spero che qualcuno mi possa aiutare

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Aiuto utilizzo ItextPDF con progetto Android
« Risposta #1 il: 19 Maggio 2012, 11:26:06 CEST »
0
i permessi per usare la sd li hai messi nel manifest?
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline theflyoffire

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy 2
  • Sistema operativo:
    android 2.4
Re:Aiuto utilizzo ItextPDF con progetto Android
« Risposta #2 il: 19 Maggio 2012, 11:30:15 CEST »
0
No, nel manifest non ho inserito i permessi, ma l'errore che mi da è prima della dichiarazione che coinvolge SD.
cmq, mi sai velocemente dire i parametri da settare nel manifest ?

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Aiuto utilizzo ItextPDF con progetto Android
« Risposta #3 il: 19 Maggio 2012, 14:26:21 CEST »
0
No, nel manifest non ho inserito i permessi, ma l'errore che mi da è prima della dichiarazione che coinvolge SD.
cmq, mi sai velocemente dire i parametri da settare nel manifest ?
a memoria no, basta che cerchi READ WRITE SD MANIFEST PERMISSION su google
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline theflyoffire

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy 2
  • Sistema operativo:
    android 2.4
Re:Aiuto utilizzo ItextPDF con progetto Android
« Risposta #4 il: 19 Maggio 2012, 16:46:39 CEST »
0
Ho inserito nel Manifest la stringa per la scrittura su SD,

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


ma non è cambiato niente

Qualche altra idea ?

Offline theflyoffire

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy 2
  • Sistema operativo:
    android 2.4
Re:Aiuto utilizzo ItextPDF con progetto Android
« Risposta #5 il: 20 Maggio 2012, 11:37:01 CEST »
0
Ragazzi dopo varie testate control il muro HO RISOLTO !!!!!
In effetti il messaggio di errore che dava il LOG CAT era molto chiaro, non riusciva a trovare la libreria ITEXTPDF.
In effetti ho dovuto correggere la mia procedura d'installazione del componente esterno, in sintesi ecco la procedura da me utilizzata:

1) creo una cartella "LIB" ( il nome è relativo, potete usare quello che volete) all'interno del progetto e inserisco la libreria da integrare
2) Tasto DX sulla cartella e cliccate su Build PAth -> Use a source Folder ( in questo modo settiamo la cartella come contenitore di file sorgente )
3) Tasto DX sulla cartella e cliccate su Build PAth ->Configure Build Path
4) Si apre la sezione proprietà del progetto in corso, cliccate sulla scheda Libraries
5)  Cliccate sul tasto ADD JAR e selezionate il file .Jar nella cartella dove avete copiato il file
6)  cliccate su OKAY e il gioco è fatto .


Alla fine troverete nel il file .jar che vi serve .

Questa procedura è quella che ho eseguito io, tutte le rettifiche e le precisazioni del caso sono bene accette.

Ringrazio tutti le l'interessamento

Alla Prossima !!!!!!!!!!!!! :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-)