2011-10-12 2 views
0

J'ai créé la classe cl_DBHandler qui s'étend SQLiteOpenHelper. et j'ai créé la classe my_srvc qui s'étend service. J'ai l'objet intialise m_DBHandler de la classe cl_DBHandler en service mais tandis que l'objet d'initialisation je dois passer des paramètres à cl_DBHandler(context, name, factory, version), je ne reçois pas exactement ce que passer dans ceci. j'ai passer comme ça cl_DBHandler(getappcontext(),"databasename.sqlite",null,1)Quels sont les paramètres du constructeur de la classe cl_DBHandler qui étend SQLiteOpenHelper dans android?

2ème chose: je fais appel une fonction de la classe avec l'aide de m_DBHandler object mais je reçois la valeur nulle de object m_DBHandler à chaque appel que j'ai que object in service .Peut l'initialiser quelqu'un me dire ou me guider pour résoudre ce problème.

Merci à Advance--

Répondre

0

Utilisez le constructeur suivant pour votre classe cl_DBHandler

public static final String DATABASE_NAME = "MyDBName.db"; 
public static final int DATABASE_VERSION = 1; 

public cl_DBHandler(Context context) { 
    super(context, DATABASE_NAME, null, DATABASE_VERSION); 
} 

Dans votre service ou activité:

cl_DBHandler m_DBHandler = new cl_DBHandler(this); 

Ensuite, ouvrez votre base de données:

SQLiteDatabase db; 
try { 
     db = m_DBHandler.getWritableDatabase(); 

    } catch (SQLiteException ex) { 
     db = m_DBHandler.getReadableDatabase(); 
    } 
// do anything you like for example: 
Cursor cursor = db.rawQuery(strQuery, null); 
+0

hi, in_DBHnadle r l'initialisation de l'objet est-elle suffisante pour passer seulement à la fonction cl_DBHandler? son sonne l'erreur – Sam

+0

En fait je l'ai déjà fait mais je reçois une exception null-pointer chez m_Handler. – Sam

+0

J'ai édité mon code – breceivemail

Questions connexes