I have method selectAll(); in my DatabaseHandler.java
public Cursor selectAll() {
String query = "SELECT * FROM" + TABLE_CONTACTS;
System.out.println(query);
SQLiteDatabase db = null;
Cursor cur = db.rawQuery(query, null);
cur.moveToFirst();
return cur;
}
and i try to get column "KEY_PH_NO" from "TABLE_CONTACTS" and send SMS to stored numbers in Database.
DatabaseHandler db = new DatabaseHandler(this);
Cursor c=db.selectAll();
String number =c.getString(KEY_PH_NO);
public void sendSmsByManager() {
try {
// Get the default instance of the SmsManager
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(number.toString(),
null,
smsBody.getText().toString(),
null,
null);
Toast.makeText(getApplicationContext(), "Your sms has successfully sent!",
Toast.LENGTH_LONG).show();
} catch (Exception ex) {
Toast.makeText(getApplicationContext(),"Your sms has failed...",
Toast.LENGTH_LONG).show();
ex.printStackTrace();
}
}
This code give me no error but throws some exceptions, here is my LogCat:
com.smart.scheduler/com.smart.scheduler.CampusActivity,ident = 1} 05-10
15:17:01.892: V/ViewRootImpl(31416): onHardwarePostDraw: mResizeBuffer =
null, mResizeAlpha = 0, this = ViewRoot{4228eae8
com.smart.scheduler/com.smart.scheduler.CampusActivity,ident = 1}
05-10 15:17:01.893: V/ViewRootImpl(31416): ViewRoot performTraversals and
draw- : mResizeBuffer = null, mResizeAlpha = 0, this = ViewRoot{4228eae8
com.smart.scheduler/com.smart.scheduler.CampusActivity,ident = 1}
05-10 15:17:01.899: I/System.out(31416): SELECT * FROMcontacts
05-10 15:17:01.899: D/AndroidRuntime(31416): Shutting down VM
05-10 15:17:01.899: W/dalvikvm(31416): threadid=1: thread exiting with
uncaught exception (group=0x41c529a8)
05-10 15:17:01.901: E/AndroidRuntime(31416): FATAL EXCEPTION: main
05-10 15:17:01.901: E/AndroidRuntime(31416): java.lang.RuntimeException:
Unable to instantiate activity
ComponentInfo{com.smart.scheduler/com.smart.scheduler.Sms}:
java.lang.NullPointerException
05-10 15:17:01.901: E/AndroidRuntime(31416): at
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2239)
05-10 15:17:01.901: E/AndroidRuntime(31416): at
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2365)
05-10 15:17:01.901: E/AndroidRuntime(31416): at
android.app.ActivityThread.access$600(ActivityThread.java:156)
05-10 15:17:01.901: E/AndroidRuntime(31416): at
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
05-10 15:17:01.901: E/AndroidRuntime(31416): at
android.os.Handler.dispatchMessage(Handler.java:99)
05-10 15:17:01.901: E/AndroidRuntime(31416): at
android.os.Looper.loop(Looper.java:153)
05-10 15:17:01.901: E/AndroidRuntime(31416): at
android.app.ActivityThread.main(ActivityThread.java:5336)
05-10 15:17:01.901: E/AndroidRuntime(31416): at
java.lang.reflect.Method.invokeNative(Native Method)
05-10 15:17:01.901: E/AndroidRuntime(31416): at
java.lang.reflect.Method.invoke(Method.java:511)
05-10 15:17:01.901: E/AndroidRuntime(31416): at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.
run(ZygoteInit.java:833)
05-10 15:17:01.901: E/AndroidRuntime(31416): at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
05-10 15:17:01.901: E/AndroidRuntime(31416): at
dalvik.system.NativeStart.main(Native Method)
05-10 15:17:01.901: E/AndroidRuntime(31416): Caused by:
java.lang.NullPointerException
05-10 15:17:01.901: E/AndroidRuntime(31416): at
com.smart.scheduler.DatabaseHandler.selectAll(DatabaseHandler.java:79)
05-10 15:17:01.901: E/AndroidRuntime(31416): at com.smart.scheduler.Sms.
<init>(Sms.java:99)
05-10 15:17:01.901: E/AndroidRuntime(31416): at
java.lang.Class.newInstanceImpl(Native Method)
05-10 15:17:01.901: E/AndroidRuntime(31416): at
java.lang.Class.newInstance(Class.java:1319)
05-10 15:17:01.901: E/AndroidRuntime(31416): at
android.app.Instrumentation.newActivity(Instrumentation.java:1054)
05-10 15:17:01.901: E/AndroidRuntime(31416): at
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2230
05-10 15:17:01.901: E/AndroidRuntime(31416): ... 11 more
Aucun commentaire:
Enregistrer un commentaire