メタデータを取得できるようになった

(LacertaLibraryを使用して。)
This commit is contained in:
nero 2024-01-16 12:10:27 +09:00
parent 23668c50e6
commit 391c093437
2 changed files with 32 additions and 33 deletions

View File

@ -24,6 +24,7 @@ import javax.inject.Inject;
import dagger.hilt.android.AndroidEntryPoint; import dagger.hilt.android.AndroidEntryPoint;
import one.nem.lacerta.data.Document; import one.nem.lacerta.data.Document;
import one.nem.lacerta.data.impl.LacertaLibraryImpl;
import one.nem.lacerta.model.document.DocumentMeta; import one.nem.lacerta.model.document.DocumentMeta;
import one.nem.lacerta.model.document.tag.DocumentTag; import one.nem.lacerta.model.document.tag.DocumentTag;
@ -105,14 +106,14 @@ public class LibraryTopFragment extends Fragment {
documentRecyclerView.setLayoutManager(layoutManager); documentRecyclerView.setLayoutManager(layoutManager);
try { try {
LacertaLibrary lacertaLibrary = new LacertaLibraryImpl();
// ドキュメントのメタデータを取得 // ドキュメントのメタデータを取得
List<ListItem> metas = (List<ListItem>) LacertaLibrary.getLibraryPage(100); LibraryItemPage libraryItemPage = lacertaLibrary.getLibraryPage(100);
if (metas != null) { if (libraryItemPage != null) {
// ドキュメントのメタデータが取得できた場合の処理 // ドキュメントのメタデータが取得できた場合の処理
LibraryItemPage libraryItemPage = new LibraryItemPage("Page Title", "Page ID", convertToLibraryItems(metas)); List<ListItem> metas = libraryItemPage.getListItems();
// ドキュメントをデフォルトフォルダに追加 // ドキュメントをデフォルトフォルダに追加
// フォルダごとにドキュメントを管理する // フォルダごとにドキュメントを管理する
@ -120,22 +121,19 @@ public class LibraryTopFragment extends Fragment {
folderManager.addDocumentToFolder("Default Folder", meta); folderManager.addDocumentToFolder("Default Folder", meta);
} }
// 特定のフォルダのドキュメントを取得 // 特定のフォルダのドキュメントを取得
List<ListItem> folderDocuments = folderManager.getDocumentInFolder("Default Folder"); List<ListItem> folderDocuments = folderManager.getDocumentInFolder("Default Folder");
// トーストメッセージでドキュメントの数を表示 // トーストメッセージでドキュメントの数を表示
Toast.makeText(getContext(), "ドキュメント数: " + Integer.toString(metas.size()), Toast.LENGTH_LONG).show(); Toast.makeText(getActivity(), "ドキュメント数: " + Integer.toString(metas.size()), Toast.LENGTH_LONG).show();
//LibraryItemPageを使用してadapterを設定 // LibraryItemPageを使用してadapterを設定
DocumentAdapter adapter = new DocumentAdapter(libraryItemPage.getListItems()); DocumentAdapter adapter = new DocumentAdapter((ArrayList<ListItem>) metas);
documentRecyclerView.setAdapter(adapter); documentRecyclerView.setAdapter(adapter);
} else { } else {
// ドキュメントのメタデータが null の場合の処理 // ドキュメントのメタデータが null の場合の処理
Toast.makeText(getContext(), "ドキュメントメタデータが取得できませんでした", Toast.LENGTH_LONG).show(); Toast.makeText(getContext(), "ドキュメントメタデータが取得できませんでした", Toast.LENGTH_LONG).show();
} }
} catch (Exception e) { } catch (Exception e) {
// 例外処理 // 例外処理
e.printStackTrace(); e.printStackTrace();
@ -143,5 +141,4 @@ public class LibraryTopFragment extends Fragment {
// Use a LinearLayoutManager to specify the layout // Use a LinearLayoutManager to specify the layout
return view; return view;
} }
} }

View File

@ -5,18 +5,20 @@ import java.util.List;
import one.nem.lacerta.model.ListItem; import one.nem.lacerta.model.ListItem;
import one.nem.lacerta.model.document.DocumentMeta; import one.nem.lacerta.model.document.DocumentMeta;
//ListItemとTopを結びつけるためのクラス
// DocumentMeta クラスのリストを ListItem クラスのリストに変換するためのユーティリティクラスの一部
public class LibraryUtils { public class LibraryUtils {
public static ArrayList<ListItem> convertToLibraryItems(List<ListItem> metas) { public static ArrayList<ListItem> convertToLibraryItems(List<DocumentMeta> metas) {
ArrayList<ListItem> libraryItems = new ArrayList<>(); ArrayList<ListItem> libraryItems = new ArrayList<>();
for (DocumentMeta meta : metas) { for (DocumentMeta meta : metas) {
ListItem listItem = new ListItem(); ListItem listItem = new ListItem();
listItem.setTitle(meta.getTitle()); listItem.setTitle(meta.getTitle());
listItem.setDescription(meta.getTitle());
// 他の必要な情報もListItemに設定する listItem.setDescription(meta.getId());
libraryItems.add(listItem); libraryItems.add(listItem);
} }
return libraryItems; return libraryItems;
} }
} }