title: How to retrieve data from sqlite database in android and display it in TextView
body: <p>I am learning Android. I have a problem and I can't solve it. I want to retrieve data from an existing database and display it in a <code>TextView</code> after click button. </p>
  
  <p>My code <strong>DataBaseHelper</strong> looks like this:</p>
  
  <pre><code>public class DataBaseHelper extends SQLiteOpenHelper {
  
              //The Android's default system path of your application database.    
              private static String DB_PATH = "/data/data/in.ekonomia.android/databases/";     
              private static String DB_NAME = "cytaty";     
              private SQLiteDatabase myDataBase;      
              private final Context myContext;     
  
          /**     * Constructor     * Takes and keeps a reference of the passed context in order to access to the application assets and resources.     * @param context     */    
      public DataBaseHelper(Context context) 
      {       
          super(context, DB_NAME, null, 1);        
          this.myContext = context;    
  
      }      
      /**     * Creates a empty database on the system and rewrites it with your own database.     * */    
      public void createDataBase() throws IOException
      {       
          boolean dbExist = checkDataBase();      
          if(dbExist){            
              //do nothing - database already exist       
              }else{          
                  //By calling this method and empty database will be created into the default system path               
                  //of your application so we are gonna be able to overwrite that database with our database.         
                  this.getReadableDatabase();             
                  try 
                  {               
                      copyDataBase();             
                      } catch (IOException e) 
                      {               
                          throw new Error("Error copying database");          
                          }       
                  }     
          }     
      /**     * Check if the database already exist to avoid re-copying the file each time you open the application.     * @return true if it exists, false if it doesn't     */    
      private boolean checkDataBase()
      {       SQLiteDatabase checkDB = null;      
      try 
      {           
          String myPath = DB_PATH + DB_NAME;          
          checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);      
          }catch (SQLiteException e)
          {           
              //database does't exist yet.        
              }       
      if(checkDB != null)
      {           
          checkDB.close();        
          }       
      return checkDB != null ? true : false;    
      }     
      /**     * Copies your database from your local assets-folder to the just created empty database in the     * system folder, from where it can be accessed and handled.     * This is done by transfering bytestream.     * */    
      private void copyDataBase() throws IOException
      {       
          //Open your local db as the input stream        
          InputStream myInput = myContext.getAssets().open(DB_NAME);      
          // Path to the just created empty db        
          String outFileName = DB_PATH + DB_NAME;         
          //Open the empty db as the output stream        
          OutputStream myOutput = new FileOutputStream(outFileName);      
          //transfer bytes from the inputfile to the outputfile       
          byte[] buffer = new byte[1024];     
          int length;     
          while ((length = myInput.read(buffer))&gt;0)
          {           
              myOutput.write(buffer, 0, length);      
              }       
          //Close the streams     
          myOutput.flush();       
          myOutput.close();       
          myInput.close();     
          }     
      public void openDataBase() throws SQLException {        
          //Open the database       
          String myPath = DB_PATH + DB_NAME;      
          myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);     
          }     
      @Override   
          public synchronized void close() 
      {           
          if(myDataBase != null)              
          myDataBase.close();             
      super.close();  
      }   
      @Override   
      public void onCreate(SQLiteDatabase db) 
      {   }   
      @Override   
      public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  }         
      // Add your public helper methods to access and get content from the database.       
      // You could return cursors by doing "return myDataBase.query(....)" so it'd be easy       
      // to you to create adapters for your views. 
  
      }
  </code></pre>
  
  <p><strong>Cytaty.java</strong> looks like this:</p>
  
  <pre><code>package in.ekonomia.android;
  
  import android.app.Activity;
  import android.os.Bundle;
  import android.view.View;
  import android.widget.Button;
  
  
  public class cytaty extends Activity {
  
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          // TODO Auto-generated method stub
          super.onCreate(savedInstanceState);
          setContentView(R.layout.galeria);
  
  
          Button bLosuj = (Button) findViewById(R.id.button1);
          bLosuj.setOnClickListener(new View.OnClickListener() {
  
              public void onClick(View v) {
                  // TODO Auto-generated method stub
  
              }
              });
          }
  
  }
  </code></pre>
  
  <hr>
  
  <p>I did as above and Eclipse gives me errors. </p>
  
  <pre><code>Database name: cytaty
  name of table: cytaty
  columns: _id, autor, cytat 
  </code></pre>
  
  <p>My <strong>code</strong> is: </p>
  
  <pre><code>public void getData() {
      public String[] getAppCategorydetail() {
          String Table_Name="cytaty";
  
          String selectQuery = "SELECT  * FROM " + Table_Name;
                SQLiteDatabase db = this.getReadableDatabase();
          Cursor cursor = db.rawQuery(selectQuery, null);
                   String[] data = null;
          if (cursor.moveToFirst()) {
              do {
                 // get  the  data into array,or class variable
              } while (cursor.moveToNext());
          }
          db.close();
          return data;
      }
  
  }
  </code></pre>
  
  <p>And: </p>
  
  <pre><code>Button bLosuj = (Button) findViewById(R.id.button1);
      bLosuj.setOnClickListener(new View.OnClickListener() {
  
          public void onClick(View v) {
              // TODO Auto-generated method stub
              DataBaseHelper myDataBaseHelper = new DataBaseHelper(cytaty.this);
                 myDataBaseHelper.openDataBase();
                  String text= myDataBaseHelper.getData();//this is the method to query
                 myDataBaseHelper.close(); 
              // set text to your TextView 
              TextView tekst = (TextView) findViewById(R.id.editText1);
              tekst.setText(text);
          }
          });
      }
  </code></pre>
  
  <p>What am I doing wrong? 
  I want retrieve data from database and show in <code>TextView</code> after click button.  Your help would be appreciated.</p>