0

SlidingMenuライブラリを使用するアプリケーションがあります。これは基本的に、ユーザーがスワイプしたときにビューに出入りするFragmentメインの機能です (例: Youtube、Google+、Facebook)。Activity

この上部LinearLayoutSlidingMenuは、いくつかの動的情報が含まれています。ユーザーがアプリ内で対話するにつれて変化するログイン情報やその他の情報など。

一例: ユーザーがアプリを開くと、そのレイアウトにSlidingMenuは「ログイン」と表示されます。彼らはoverflowメニューに入り、ログインを開始Activityし(上MainFragmentActivity)、サインインに成功し、ログインActivityが消えます。次にスワイプしてメニューを開くと、ユーザー名、プロフィール統計、プロフィール写真などが表示されます。

私の質問: 更新ボタンを使用せずにこのレイアウトを動的に変更するにはどうすればよいですか?

これには以下の使用が含まれますか?

onCreateView()fragmentのメソッド

注: 現在、アプリの起動時にのみ更新されます。AsynTaskからダウンロードを開始しますMySQL。ユーザーがパネルを開くたびに DB にアクセスするのはリソースの無駄のように思えますが、これをより効率的に使用する方法はありますか?

4

2 に答える 2

1

電話自体にコンテンツをキャッシュしたり (おそらく sqlite で)、アプリケーションがフォアグラウンドにあるときに間隔を置いて新しいリモート コンテンツをチェックしたり、Google Cloud Messaging のようなものを使用して ping を実行したりする必要があります。データを迅速に更新する必要がある場合、ただし不定期に (チャット アプリケーションや Twitter クライアントの場合と同様に) アプリケーションを更新します。

于 2013-04-16T23:45:54.530 に答える
1

Stephan が述べたように、SQLite でデータをキャッシュできます。さらに、contentProvider を使用して、ログイン名などの保存されたデータの Cursor を返すことができます。

ここでの利点は、ユーザーがログインしたときに contentProvider で update を呼び出して値を更新し、次にcontentResolver.NotifyChangeを呼び出してカーソル内の結果を更新し、slideMenu の内容を自動的に更新できることです。

于 2013-04-17T00:19:35.993 に答える