数据库访问提供了java.null指针异常

时间:2012-12-11 11:38:27

标签: java android oop android-sqlite

我创建了我的第一个Android应用程序。一切都有效,除了一个问题。当我在我的应用程序中打开数据库时。在我的oncreate活动中运行良好。但是,当我使用相同的代码检索方法中的值时,我的应用程序崩溃并提供java.null pointer exception

所以我的问题是,是否有另一种在方法中打开数据库的方法,或者我做错了什么。这是我的代码。

这里我的方法给出了java.null指针异常。

public class SendGlass extends Activity{

  static String replay;

   public void sms (String phone,String Sms )
   {
        SmsManager smsManager = SmsManager.getDefault();

        String phoneNo = phone;
        String sms = Sms;
        String api = "You Entered one";
        String api2 = "You Entered two";
        String api3 = "Nothing great";
        String rep = sms.replace(phoneNo+" :", "");

        SQLiteDatabase db = openOrCreateDatabase("ComDB", MODE_PRIVATE, null);
        Cursor c = db.rawQuery("SELECT REPLAYS FROM Rtm WHERE ID = 1", null);

        while(c.moveToNext())
        {
            replay = c.getString(c.getColumnIndex("REPLAYS"));

            if(rep.equals("1"))
            {
                smsManager.sendTextMessage(phoneNo, null, replay, null, null);
            }
            if(rep.equals("2"))
            {
                smsManager.sendTextMessage(phoneNo, null, replay, null, null);
            }
            if(rep.equals("3"))
            {
                smsManager.sendTextMessage(phoneNo, null, replay, null, null);
            }
            if(rep.equals("4"))
            {
                smsManager.sendTextMessage(phoneNo, null, replay, null, null);
            }
            if(rep.equals("5"))
            {
                smsManager.sendTextMessage(phoneNo, null, replay, null, null);
            }
            if(rep.equals("6"))
            {
                smsManager.sendTextMessage(phoneNo, null, replay, null, null);
            }
            if(rep.equals("7"))
            {
                smsManager.sendTextMessage(phoneNo, null, replay, null, null);
            }
            if(rep.equals("8"))
            {
                smsManager.sendTextMessage(phoneNo, null, replay, null, null);
            }
       }
 }  

我通过

为这段代码提供参数
     class obj = new Class();
     obj.sms (value,value )

1 个答案:

答案 0 :(得分:-1)

试试这个

c.moveToFirst():

做{       你的代码////

} 而(c.moveToNext)