2016-08-09 8 views
1

私はアプリケーションをコーディングしています。 SQLiteというデータベースがあり、私は行と副子を得ています。複数のアラームを設定したいが、最初のデータだけが表示されている。私を助けてください。複数のアラームをSqliteから設定する

public void alarm_kur() { 
    SQLiteDatabase db = helper.getReadableDatabase(); 
    String durum = "0"; 
    String where = Veritabani.COLUMN_DURUM + "=?"; 
    String selectquery = "SELECT * FROM " + Veritabani.TABLE_NAME; 
    String[] whereargs = new String[]{durum}; 
    Cursor cursor = db.query(Veritabani.TABLE_NAME, null, where, whereargs, null, null, null, null); 
    AlarmManager alarmManager; 
    alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); 
    if (cursor.moveToFirst()) { 
     do { 
      String mesaj = cursor.getString(cursor.getColumnIndex(Veritabani.COLUMN_MESAJ)); 
      String tel_number = cursor.getString(cursor.getColumnIndex(Veritabani.COLUMN_NUMBER)); 
      String Time = cursor.getString(cursor.getColumnIndex(Veritabani.COLUMN_SAAT)); 
      String Date = cursor.getString(cursor.getColumnIndex(Veritabani.COLUMN_TARIH)); 
      String Id = cursor.getString(cursor.getColumnIndex(Veritabani.COLUMN_ID)); 
      String[] saat_dakika = Time.split(":"); 
      String[] tarih = Time.split("/"); 
      int Saat = Integer.parseInt(saat_dakika[0]); 
      intDakika = Integer.parseInt(saat_dakika[1]); 


      final int _id = (int) System.currentTimeMillis(); 
      ArrayList<PendingIntent> intentArray = new ArrayList<PendingIntent>(); 
      PendingIntent appIntent = null; 
      for (int say = 0; say < cursor.getCount(); say++) { 
       Intent intent = new Intent(this, MyReceiver.class); 
       intent.putExtra("tel_number", tel_number); 
       intent.putExtra("mesaj", mesaj); 
       appIntent = PendingIntent.getBroadcast(this, say, intent, 0); 


       getSystemService(ALARM_SERVICE); 
       ,appIntent); 
       Calendar calSet = Calendar.getInstance(); 
       calSet.set(Calendar.HOUR_OF_DAY, Saat); 
       calSet.set(Calendar.MINUTE, Dakika); 
       calSet.set(Calendar.SECOND, 0); 
       calSet.set(Calendar.MILLISECOND, 0); 
       long sdl = calSet.getTimeInMillis(); 

       alarmManager.set(AlarmManager.RTC_WAKEUP, sdl, appIntent); 
       intentArray.add(appIntent); 

      } 


     } while (cursor.moveToNext()); 


    } 
} 

これは、アラームを設定するためのコードです。

答えて

0

移動ArrayList<PendingIntent> intentArray = new ArrayList<PendingIntent>();do while外ループあなただけあなたが試す-finally節を使用することができますdo whileコードブロック

+0

おかげで、あなたの答えがうまくいかない – Nuri

1

後1人の意思を取得しますので、それは、行ごとに再インスタンス化になっています:

try { 
     while (cursor.moveToNext()) { 
       String ... 
       ... 
       alarmManager ... 
      } 

     } finally { 
      cursor.close(); 
     } 
    } 
関連する問題