2017-05-07 117 views
0

我有一個應用程序,我可以創建一些課程(英語,法語,...)。這些課程有一個開始和結束的日期。我將選中的日期作爲字符串存儲在我的數據庫中。從數據庫中排序數據以選擇正確的列表查看android

我想知道用3個選項卡(過去/當前/未來)創建一個TabbedActivity。

過去將包含所有日期結束前的日期在當前日期的課程。當前將包含當前日期介於兩個日期的開始和結束之間的所有課程。 Futur將包含開始日期在當前日期之後的所有課程。

但是,由於我將它們存儲爲字符串值,這有可能嗎?如果是的話,你能解釋一下嗎?

我可以發佈一些代碼,如果你需要(我現在不發佈代碼,因爲idk,如果它可能我要問)。

謝謝你們!

@Update與方法,幫助

public Cursor getCoursFuture() 
{ 
    Calendar c = Calendar.getInstance(); 
    DateFormat df = new SimpleDateFormat("dd-MM-yyyy"); 
    Date date = c.getTime(); 
    String currentDate = df.format(date); 

    String query ="select ID as _id, branche_cours, designation from "+TABLE_COURS+" where date('"+COLONNE_DATEPREMIER+"') > '"+currentDate+"'"; 
    Open(); 
    Cursor cursor = db.rawQuery(query,null); 
    return cursor; 
} 

我SimpleCursorAdapter

lvCours =(ListView)findViewById(R.id.ListCours); 
    final Cursor cursor = dbhelper.getCoursFuture(); 
    String[] from = { "branche_cours", "designation" }; 
    int[] to = { R.id.text_branche_cours, R.id.text_designation }; 
    lvCours.setAdapter(adapter); 
    adapter = new SimpleCursorAdapter(this, R.layout.list_row, cursor, from, to, 0); 
    lvCours.setAdapter(adapter); 
    adapter.notifyDataSetChanged(); 
+0

只需將您的日期存儲爲UTC時間戳即可。將日期存儲爲字符串只會導致不必要的麻煩 – Jahnold

+0

Ii如何做到這一點? – Dom

回答

0

它可以通過日期

比方說你的當前日期是currentDate排序;

您可以按使用該查詢選擇未來的教訓

select * from Table where date(dateColumn) > currentDate

更換><=其他查詢。

編輯: 當你調用c.getTime()時,你會得到一個日期對象。您需要將其格式化爲一個字符串。

Date date = c.getTime(); 
DateFormat df = new SimpleDateFormat("MM/dd/yyyy"); 
String currentDate = df.format(date); 
+0

但這些查詢,我寫他們在我的DatabaseHelper或在tabbedactivity? – Dom

+0

在數據庫幫手當然 –

+0

如何將這些字符串轉換爲DateTime值?你能告訴我一個ListView的方法的例子(讓我們說過去)= – Dom

相關問題