トピック一覧の取得
ここでは、スコープごとにトピック一覧の取得方法を説明していきます。
アプリケーションスコープのトピック一覧の取得
アプリケーションスコープの全てのトピックを一覧として取得することができます。トピックの件数が 50 件を超える場合は、ページネーションによって複数回にわけて一覧を取得する必要があります。
以下に、アプリケーションスコープに存在するトピックの一覧を取得する例を挙げます。
-
try { // Get the first page of the topic list. KiiListResult<KiiTopic> result = Kii.listTopics(); for (KiiTopic topic : result.getResult()) { // Do something. } if (result.hasNext()) { // Get the next page of the topic list. result = Kii.listTopics(result.getPaginationKey()); for (KiiTopic topic : result.getResult()) { // Do something. } } } catch (IOException e) { // Handle the error. } catch (AppException e) { // Handle the error. }
-
// Get the first page of the topic list. Kii.listTopics(new KiiCallback<KiiListResult<KiiTopic>>() { @Override public void onComplete(KiiListResult<KiiTopic> result, Exception e) { if (e != null) { // Handle the error. return; } for (KiiTopic topic : result.getResult()) { // Do something. } if (result.hasNext()) { // Get the next page of the topic list. Kii.listTopics(result.getPaginationKey(), new KiiCallback<KiiListResult<KiiTopic>>() { @Override public void onComplete(KiiListResult<KiiTopic> result, Exception e) { // Do something. } }); } } });
ここでは、以下の処理を実行しています。
listTopics
メソッドを実行し、トピック一覧を取得します。getResult
メソッドを実行し、トピック一覧をList
で取得します。hasNext
メソッドを実行して取得しきれなかったトピックがあるか確認し、ある場合はgetPaginationKey
メソッドで取得したキーを引数に、再度listTopics
メソッドを実行します。
グループスコープのトピック一覧の取得
グループスコープの全てのトピックを一覧として取得することができます。トピックの件数が 50 件を超える場合は、ページネーションによって複数回にわけて一覧を取得する必要があります
以下に、グループスコープに存在するトピックの一覧を取得する例を挙げます。
-
try { // Instantiate an existing group. KiiGroup group = KiiGroup.createByUri(groupUri); // Get the first page of the topic list. KiiListResult<KiiTopic> result = group.listTopics(); for (KiiTopic topic : result.getResult()) { // Do something. } if (result.hasNext()) { // Get the next page of the topic list. result = group.listTopics(result.getPaginationKey()); for (KiiTopic topic : result.getResult()) { // Do something. } } } catch (IOException e) { // Handle the error. } catch (AppException e) { // Handle the error. }
-
// Instantiate an existing group. final KiiGroup group = KiiGroup.createByUri(groupUri); // Get the first page of the topic list. group.listTopics(new KiiCallback<KiiListResult<KiiTopic>>() { @Override public void onComplete(KiiListResult<KiiTopic> result, Exception e) { if (e != null) { // Handle the error. return; } for (KiiTopic topic : result.getResult()) { // Do something. } if (result.hasNext()) { // Get the next page of the topic list. group.listTopics(result.getPaginationKey(), new KiiCallback<KiiListResult<KiiTopic>>() { @Override public void onComplete(KiiListResult<KiiTopic> result, Exception e) { // Do something. } }); } } });
ここでは、以下の処理を実行しています。
listTopics
メソッドを実行し、トピック一覧を取得します。getResult
メソッドを実行し、トピック一覧をList
で取得します。hasNext
メソッドを実行して取得しきれなかったトピックがあるか確認し、ある場合はgetPaginationKey
メソッドで取得したキーを引数に、再度listTopics
メソッドを実行します。
ユーザースコープのトピック一覧の取得
ユーザースコープの全てのトピックを一覧として取得することができます。トピックの件数が 50 件を超える場合は、ページネーションによって複数回にわけて一覧を取得する必要があります
以下に、ユーザースコープに存在するトピックの一覧を取得する例を挙げます。
-
try { // Get the currently logged-in user. KiiUser user = KiiUser.getCurrentUser(); // Get the first page of the topic list. KiiListResult<KiiTopic> result = user.listTopics(); for (KiiTopic topic : result.getResult()) { // Do something. } if (result.hasNext()) { // Get the next page of the topic list. result = user.listTopics(result.getPaginationKey()); for (KiiTopic topic : result.getResult()) { // Do something. } } } catch (IOException e) { // Handle the error. } catch (AppException e) { // Handle the error. }
-
// Get the currently logged-in user. final KiiUser user = KiiUser.getCurrentUser(); // Get the first page of the topic list. user.listTopics(new KiiCallback<KiiListResult<KiiTopic>>() { @Override public void onComplete(KiiListResult<KiiTopic> result, Exception e) { if (e != null) { // Handle the error. return; } for (KiiTopic topic : result.getResult()) { // Do something. } if (result.hasNext()) { // Get the next page of the topic list. user.listTopics(result.getPaginationKey(), new KiiCallback<KiiListResult<KiiTopic>>() { @Override public void onComplete(KiiListResult<KiiTopic> result, Exception e) { // Do something. } }); } } });
ここでは以下の処理を実行しています。
listTopics
メソッドを実行し、トピック一覧を取得します。getResult
メソッドを実行し、トピック一覧をList
で取得します。hasNext
メソッドを実行して取得しきれなかったトピックがあるか確認し、ある場合はgetPaginationKey
メソッドで取得したキーを引数に再度、listTopics
メソッドを実行します。