Note that there are some explanatory texts on larger screens.

plurals
  1. POHow do i import my Cursor from my database class into my current class?
    text
    copied!<p>Here is my code for my db class:</p> <pre><code>package one.two; import java.util.List; import android.app.ListActivity; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteDatabase.CursorFactory; import java.util.ArrayList; public class DBAdapter extends ListActivity { public String status = "status"; public String id = "id"; public String arrival = "arrival"; public String destination = "destination"; public String ferry = "ferry"; private static String DB_PATH = "/data/data/one.two/databases/"; private static final String DATABASE_NAME = "ferry.db"; private static final String DATABASE_TABLE = "port"; public static Context context; public Cursor c; public static SQLiteDatabase DbLib; //overloaded non-null constructor public DBAdapter(Context context) { DbLib = context.openOrCreateDatabase(DATABASE_NAME, SQLiteDatabase.CREATE_IF_NECESSARY,null); System.out.println("OpenOrCreateDB Done"); } public class DatabaseHelper extends SQLiteOpenHelper { Context context; DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); this.context = context; }//end constructor DatabaseHelper // ---closes the database--- public void close() { DBHelper.close(); }//end close() @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { }//end onUpgrade() @Override public void onCreate(SQLiteDatabase db) { }//end onCreate() }// end class DatabaseHelper private static DatabaseHelper DBHelper; private static final int DATABASE_VERSION = 1; public static ArrayList&lt;String&gt; getAllTitles() { ArrayList&lt;String&gt; port = new ArrayList&lt;String&gt;(); Cursor c=null; c = DbLib.query("port", new String[] { "status", "id", "arrival", "destination", "ferry" }, null, null, null, null, null); try { if (c!=null) { // start - when there is at least 1 record System.out.println("Cursor is NOT NULL"); int i =0; for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) { // Debug Stm System.out.println("Record No. "+i); System.out.println(c.getString(0)); System.out.println(c.getString(1)); System.out.println(c.getString(2)); System.out.println(c.getString(3)); System.out.println(c.getString(4)); // Assign database cursor.records to arraylist port.add(i,c.getString(0)); port.add(i,c.getString(1)); port.add(i,c.getString(2)); port.add(i,c.getString(3)); port.add(i,c.getString(4)); i = i + 1; } } // end - where there is at least 1 record } finally { if (c!=null) { c.close(); } } return port; }//end getAllTitles() public void open() { //Open the database String myPath = DB_PATH + DATABASE_NAME; DbLib = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY); } }//end class DBAdapter </code></pre> <p>My Arrival class</p> <pre><code>package one.two; import java.io.IOException; import java.util.ArrayList; import java.util.List; import android.app.ListActivity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.SimpleCursorAdapter; public class Arrival extends ListActivity { private ListView listView; /** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) { ArrayList&lt;String&gt; retList = new ArrayList&lt;String&gt;(); System.out.println("Start onCreate Function\n"); super.onCreate(savedInstanceState); setContentView(R.layout.main); System.out.println("In onCreate Function\n"); System.out.println("In of GetData\n"); DBAdapter db = new DBAdapter(this); System.out.println("DB Open\n"); db.open(); System.out.println("DB Opened\n"); retList = getData(); System.out.println("Out of GetData\n"); // force count no. of records in table // dump to check index int cnt = 2; int i=0; for (i = 0; i&lt;cnt; i++) System.out.println(retList.toString()); listView = (ListView) findViewById(android.R.id.list); SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, android.R.id.list, null, null, null); this.setListAdapter(mAdapter); // db.close(); } @SuppressWarnings("static-access") public static ArrayList&lt;String&gt; getData() { ArrayList&lt;String&gt; items = DBAdapter.getAllTitles(); // titles ???? redundant //ArrayList&lt;String&gt; titles = new ArrayList&lt;String&gt;(items); System.out.println("Return a LIST titles\n"); return items; } } </code></pre> <p>Thank you</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload