title: how to generate pdf in android using itext
body: <p>Im new to android development,just two days old and I want to retrieve data from my database by displaying it on pdf format. I've done this one before on netbeans(which worked), but when i tried my code in android it gives me an error. i have the SQLitExample.java file which triggers the action for my btnPdf, and createPDF.java file which should create my pdf. I tried calling the createPDF.java file by creating a new intent. but when i click my btnPdf it gives me this error:</p>
  
  <blockquote>
    <p>dalvikvm(6097): Could not find class 'com.example.hotornot.createPDF$1', referenced from method com.example.hotornot.createPDF.pdf</p>
  </blockquote>
  
  <p>Here is my code on SQLitExample.java</p>
  
  <pre><code>package com.example.hotornot;
  
  import java.io.IOException;
  import java.sql.SQLException;
  
  import com.lowagie.text.DocumentException;
  
  import android.app.Activity;
  import android.app.Dialog;
  import android.content.Intent;
  import android.os.Bundle;
  import android.view.View;
  import android.view.View.OnClickListener;
  import android.widget.Button;
  import android.widget.EditText;
  import android.widget.TextView;
  
  public class SQLitExample extends Activity implements OnClickListener {
  
  Button btnUpdate, btnView, btnPdf;
  EditText SQLName,SQLNum;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) 
  {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.sqliteexample); 
      btnUpdate = (Button) findViewById(R.id.btnUpdate);
      SQLName = (EditText) findViewById(R.id.etSQLName);
      SQLNum = (EditText) findViewById(R.id.etSQLNum);
  
      btnView = (Button) findViewById(R.id.btnView);
      btnPdf = (Button) findViewById(R.id.btnPdf);
      btnPdf.setOnClickListener(this);        
      btnView.setOnClickListener(this);
      btnUpdate.setOnClickListener(this);
  }
  
  
  public void onClick(View arg0){
      switch (arg0.getId())
      {
      case R.id.btnUpdate:
          boolean diditwork = true;
          try{
          String name = SQLName.getText().toString();
          String num = SQLNum.getText().toString();
  
          Example entry = new Example(SQLitExample.this);
          entry.open();   
          entry.createEntry(name,num);
          entry.close();
  
          }catch(Exception e){
              diditwork = false;
              String error = e.toString();
              Dialog d = new Dialog(this);
              d.setTitle("OW men! :(");
              TextView tv = new TextView(this);
              tv.setText(error);
              d.setContentView(tv);
              d.show();
          }finally{
              if(diditwork){
                  Dialog d = new Dialog(this);
                  d.setTitle("yehey");
                  TextView tv = new TextView(this);
                  tv.setText("Success");
                  d.setContentView(tv);
                  d.show();       
              }
          }
      break;
  
      case R.id.btnView:
          Intent i = new Intent("com.example.hotornot.SQLView");
          startActivity(i);
      break;
  
      case R.id.btnPdf:    
          Intent i2 = new Intent("com.example.hotornot.createPDF"); 
          startActivity(i2);
      break;
      }
  }
  }
  </code></pre>
  
  <p>here is my createPDF.java code:</p>
  
  <pre><code>package com.example.hotornot;
  
  import java.io.FileOutputStream;
  import java.io.IOException;
  import java.sql.Connection;
  import java.sql.DriverManager;
  import java.sql.ResultSet;
  import java.sql.SQLException;
  import java.sql.Statement;
  import java.util.logging.Level;
  import java.util.logging.Logger;
  
  import android.app.Activity;
  import android.content.Context;
  import android.database.Cursor;
  import android.database.sqlite.SQLiteDatabase;
  import android.os.Bundle;
  import android.widget.TextView;
  
  import com.lowagie.text.Cell;
  import com.lowagie.text.Document;
  import com.lowagie.text.DocumentException;
  import com.lowagie.text.Element;
  import com.lowagie.text.Font;
  import com.lowagie.text.FontFactory;
  import com.lowagie.text.Paragraph;
  import com.lowagie.text.Table;
  import com.lowagie.text.pdf.PdfPCell;
  import com.lowagie.text.pdf.PdfPTable;
  import com.lowagie.text.pdf.PdfWriter;
  import com.example.hotornot.*;
  import com.example.hotornot.Example.DbHelper;
  
  public class createPDF extends Activity {
  
  String DATABASE_NAME = Example.DATABASE_NAME;
  String DATABASE_TABLE = Example.DATABASE_TABLE;
  String KEY_NAME = Example.KEY_NAME;
  String KEY_NUM = Example.KEY_NUM;
  String KEY_ROWID = Example.KEY_ROWID;
  
   public void pdf() throws ClassNotFoundException, SQLException, DocumentException{
  
      try {
  
          System.out.println("THIS SHOULD CREATE PDF!");
          Document document=new Document () {};
          PdfWriter.getInstance(document,new FileOutputStream("C:/Users/SERVER02/workspace/HotOrNot/samplePDF"));
          document.open();
  
          PdfPTable table = new PdfPTable(3);
          table.addCell("Row_Id");
          table.addCell("Name");
          table.addCell("Number");
  
          String[] columns = new String[]{ KEY_ROWID,KEY_NAME, KEY_NUM};
  
          Example entry = new Example(createPDF.this);
          Cursor c = entry.ourdatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
          String result = "";
  
          int iRow = c.getColumnIndex(KEY_ROWID);
          int iName = c.getColumnIndex(KEY_NAME);
          int iNum = c.getColumnIndex(KEY_NUM);
  
          String rownum = c.getString(iRow);
          String name = c.getString(iName);
          String num = c.getString(iNum);
  
          for (c.moveToFirst(); ! c.isAfterLast(); c.moveToNext()){
          result = result + rownum + " " + name + " " + num + "\n";
          table.addCell(c.getString(iRow));
          table.addCell(c.getString(iName));
          table.addCell(c.getString(iNum));
          }
  
          document.add(table);
          document.close();
          Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + "C:\\samplePDF.pdf");
      } catch (IOException ex) {
          Logger.getLogger(createPDF.class.getName()).log(Level.SEVERE, null, ex);
      }
  }
  
  
  }
  </code></pre>