2013-07-03 11 views
5

タスクが完了するまでにどれくらい時間がかかっているかを識別するアンドロイドアプリケーションを作成しようとしています。私はVogellaのチュートリアル、特にこの部分http://www.vogella.com/articles/AndroidSQLite/article.html#todoに続き、コンテンツプロバイダとデータベースを作成しました。リストビューには、タスクの名前と残っている日数(ユーザーが別のアクティビティで終了日を選択したときに計算される)の2つが表示されます。私のアプリは現在の日付を計算し、終了日からそれを減算し、データベースに残っている日数を保存します。問題は、これが一度だけ保存されることです。今から3日後、まだ4日間は残っています。クライアントが開始するたびに残っている日数を確認する(現在の日付を確認し、終了日を差し引き、データベース内のその列を更新する)ようにする。問題は、どうやってそれを行うのか分からないことです。誰かが私にある指導を与えることができたら、私はそれを感謝します。Androidのコンテンツプロバイダが特定の列を更新しました

答えて

17

、その後行う計算を行うgetContentResolver().update(uri,values,selection,selectionArgs);

EDIT:

ので、ちょうどあなたが

+0

がどのように正しい列名を持つものを交換する必要があります値は明らかに

ContentValues values = new ContentValues(); values.put(HabitTable.TIME); //whatever column you want to update, I dont know the name of it ...//any other values you want to update too getContentResolver().update(HabitTable.CONTENT_URI,values,HabitTable.ID+"=?",new String[] {String.valueOf(id)}); //id is the id of the row you wan to update 

で更新私はそれぞれのIDのためにこれを行うのですか?リスト内の各Idにアクセスするためにどのようなコードを入れるべきかわかりません。私が言いたいことは、カーソルにデータベース内の各IDを取得して終了日を取得するように求める構文がわからないことです。 – user2525981

+0

あなたは 'selection'と' selectionArgs'を使ってどこに行くのかを教えます。 docsでcontentprovidersを使用する方法について読むhttp://developer.android.com/guide/topics/providers/content-provider-basics.html#Modifications – tyczj

+0

ありがとう、私はそれをチェックアウトします。迅速な答えをありがとう。 – user2525981

関連する問題