0

初めての Android アプリを作成しました。1つの問題を除いてすべてが機能します。アプリでデータベースを開くとき。私の 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 )
4

1 に答える 1

-1

これを試して

c.moveToFirst ():

do{ あなたのコード ////

while(c.moveToNext)

于 2012-12-11T11:54:14.797 に答える