0

テレビ番組を追跡するのに役立つアプリを作成しています。

最初に「ウィジェット」をダッシュ​​クロックに追加すると、通知があれば表示されますが、しばらくすると再び消えます。

DashClockExtension を拡張するアクティビティのコード

@Override
protected void onUpdateData(int reason) {

    DatabaseHandler databaseHandler = new DatabaseHandler(this);
    ArrayList<Episode> episodes = databaseHandler.GetTodaysEpisodes();
    DateHelper dateHelper = new DateHelper();
    String numberOfEpisodes = "" +episodes.size();

    StringBuilder sb = new StringBuilder();

    for (Episode episode : episodes) {
        sb.append(dateHelper.Episodenumber(episode) + " " + episode.getTitle() + "\n");         
    }

    publishUpdate(new ExtensionData()
    .visible(true)
    .icon(R.drawable.ic_icon_dashclock)
    .visible(!numberOfEpisodes.equals("0"))
    .status(numberOfEpisodes)
    .expandedTitle(numberOfEpisodes + " episodes airing today")
    .expandedBody(sb.toString())
    .clickIntent(new Intent("se.ja1984.twee.CalendarActivity_LAUNCH_IT"))
            );

}

私のデータは頻繁に更新されないので、DashClock に更新をチェックさせることに満足しています。

私はAndroid開発に不慣れで、おそらく何か間違ったことをしているでしょう:)そして、誰かが私を正しい方向に向けてくれて本当に感謝しています!

4

2 に答える 2

1

わかりましたので解決しました!

アプリが起動したら、選択したプロファイルで静的な整数を設定し、データベースからデータを取得するときに使用します。したがって、アプリがシステムによって強制終了されると、プロファイル 0 (存在しない) のデータを取得しようとします。

これに時間を費やして助けてくれたロビーとローマンに感謝します!:)

于 2013-03-24T18:30:14.700 に答える
0

numberOfEpisodes が "0"の場合、visible=falseを設定しています。それが起こっている可能性が最も高いです。他のアプリをデバッグするのと同じように、拡張機能をデバッグできます。デバッグで実行し、ddms を介してアプリにアタッチします。

于 2013-03-24T12:12:44.083 に答える