android - How to pass database adapter to another activity? -


i'm having trouble understanding search dialog in android sdk.

the "main activity" of application provides button. if user clicks button search dialog called. search done in async task might need time. far good.

the main activity creates database adapter object used initialize database, perform queries, etc. how can use adapter object in searchable activity?

main activity
// init database
databaseadapter dba = new databaseadapter();
dba.init();
// open search dialog
if (buttonclick) onsearchrequest();

searchable activity

  1. get intent , receive query search dialog -> ok
  2. how can use database adapter again perform query?

do have create new object? can pass somehow min activity searchable activity, [...]?

thanks,
robert

an option use singleton , provide access databaseadapter via static method. ex:

private static databaseadapter swritableadapter = null; private static databaseadapter sreadableadapter = null;  public static databaseadapter openforreading(context ctx) {     if(sreadableadapter == null)     sreadableadapter = new databaseadapter(new databasehelper(ctx).getreadabledatabase());      return sreadableadapter;  } 

or write access:

public static databaseadapter openforwriting(context ctx) { if(swritableadapter == null)         swritableadapter = new databaseadapter(new databasehelper(ctx).getwritabledatabase());      return swritableadapter;  } 

so in searchable activity write instance:

databaseadapter adapter = databaseadapter.openforreading(ctx); adapter.searchsomething(); 

marco


Comments

Popular posts from this blog

c# - how to write client side events functions for the combobox items -

exception - Python, pyPdf OCR error: pyPdf.utils.PdfReadError: EOF marker not found -