オープンソースライブラリは、ソフトウェア開発において重要な役割を果たします。 特定のライブラリの興味深い関数を統合することにより、アプリケーションを改善し、より高度にすることができます。 アプリケーションでテーブル、値、およびシンボルの操作が必要な場合は、CSVファイルを操作できる既製のライブラリを使用できます。
CSVファイルは、情報がテーブル形式で保存されるテキストファイルであり、このテーブルのフィールドは特殊文字(区切り文字)で区切られています。 このファイルがカンマ区切り値、コンマ区切り値と呼ばれる理由です。 比ur的に言えば、CSVライブラリは、CSVファイルを操作するためのさまざまな機能を格納する一種のコンテナです。
次のケーススタディに注目してください。CleveroadでAndroid用の独自のCSVライブラリAdaptiveTableLayoutを作成した方法、その使用方法、および同等のものより優れている理由を説明します。
CSVを選ぶ理由
もちろん、モバイルプラットフォームまたは対応するライブラリ用の単一のCSVリーダーの開発に驚かないと言うことができます。 しかし、それを他と区別する小さな詳細が1つあります。 使用可能なCSVエディターとCSVリーダーは、1つを除き、ほとんどすべての必要な機能を提供します-ユーザーが列と行の数を動的に示すことを可能にする管理機能。 これにより、CSVファイルの処理プロセスが遅くなり、利便性が低下します。 したがって、私たちはそれを修正することを決定し、その結果、私たちの解決策が現れました。
各ユーザーが各自のソフトウェアで使用できる機能を備えたCSVライブラリを作成しました。 さらに、AdaptiveTableLayoutライブラリの実際の使用方法のデモとしてCSVリーダーを開発しました。
もちろん、これはAndroidユーザーの間で人気のあるトレンドソフトウェアではありません。 しかし、大量の情報を扱う場合、このライブラリはソフトウェア開発に非常に役立ちます。
市場調査
Androidで利用可能な他のCSVリーダーを調査し、機能と機能をテストするために、市場調査を開始しました。 いくつかの類似物を見て、ソリューションを作成するきっかけを示しましょう。
CSVビューアー
このCSVビューアを使用すると、CSVファイルを編集できるだけでなく、電話連絡先のインポートおよびエクスポートを操作できます。
弱点
動的な番号付け機能はありません。 さらに、アプリケーション内に広告が組み込まれているため、ドキュメントを操作するときに迷惑になることがあります。 また、CSVリーダーやライブラリとは異なり、斜めスクロールやヘッダーの修正はできません。
軽量CSVビューアー
このCSVリーダーには、表示データ、複数の区切り文字、行番号表示を並べ替える機能があります。
弱点
まず、広告も含まれています。次に、テーブル内のすべての行と列を移動できる場合、ドラッグアンドドロップ機能がありません。 リストされている他のCSVリーダーとは異なり、私たちのものはそのような機能を誇っています。
簡単なCSVリーダー
最後の例はCSVアプリです 。 これは、CSVファイルのみを読み取るように設計された非常にシンプルなアプリケーションです。
弱点
前述したように、これはCSVファイルのみを読み取る機能を持つ単純なアプリケーションです。 編集機能や、スクロール、セルフィールドの変更、ファイルのドラッグなどの他の機能はありません。 このリーダーは、通常のCSVテーブルを作成する必要がある場合にのみ必要になる場合があります。
上記に加えて、CSVビューアとCSVリーダーには大きなファイルをすばやく処理できないため、CSVビューアとCSVリーダーにはない別の機能を指摘しておきます。 しかし、私たちのライブラリではこれを行うことができます。
市場調査を実施した後、Androidの既存のソリューションを分析し、適切な結論を出しました。 CSVリーダーを再設計して独自のものにし、誰もがソフトウェアに統合できるようにオープンソースライブラリを作成し、広告なしで無料でダウンロードできるように無料でリリースしました。
AdaptiveTableLayout開発手順
次に、ライブラリの作成方法を詳しく説明します。
まず、Android開発者は、スクロール機能を統合するために使用されたRecyclerViewテクノロジーを使用しました。 次に、将来のアプリケーションのプロトタイプを作成して、その外観を確認しました。 この段階には、ライブラリを操作するすべての方法の機能テストと検証も含まれていました。 これを行った開発者は、新しい機能をアプリケーションに統合して、アプリケーションをカスタマイズして独自のものにしました。
ライブラリは、組み込みのAndroid SDKとレベル16 APIを使用して作成されました。
最適化とドキュメント
開発者はCSVリーダーを整理し、関連ドキュメントとアプリケーションの詳細な説明とライブラリの使用方法を提示します。 その後、ライブラリをもう一度テストし、見つかったエラーを修正しました。
CSVリーダーは、 Google PlayストアとGitHubの AdaptiveTableLayoutライブラリで利用できるようになりました 。
AdaptiveTableLayout関数
そのため、ライブラリが自慢できる機能は次のとおりです。
- CSVファイルの読み取りと編集
- 行と列の再配置
- 斜めスクロール
- エッジの周りのヘッダーを修正する
- セルフィールドを変更
- 大きなファイルを遅滞なく使用する
- 行と列のドラッグ
さらに、ライブラリには2つのデータアダプタが含まれています。
1つ目はBaseDataAdaptiveTableLayoutAdapterで、少量のデータを操作できます。 ソースデータは、各列/行のアクティブ化後に変更できます。
2番目 -LinkedAdaptiveTableAdapterは、変更された要素とそれらへのリンクを持つマトリックスを使用します。 大量のデータを処理できます。 ソースデータは変更できません。
上記のアダプターを使用する前に、行と列の正確な幅と高さ、およびそれらの数を知る必要があります。
AdaptiveTableLayoutの利点
他のライブラリには、AdaptiveTableLayoutと同じ関数はありません。次のことができます。
- 斜めスクロール
- ドラッグアンドドロップ機能を使用して行/列を変更する
- ヘッダーの長さを修正
- 行を上下に移動すると、行番号が変わります。
克服しなければならなかった主な問題
アプリケーションの開発では、先へ進むのを妨げるいくつかの微妙な違いがある場合があります。 しかし、私たちは決してあきらめず、生じた障害に対処しません。 アプリケーションの開発中に解決しなければならなかった問題を共有したいと思います。
- スクロール機能の統合。 他のCSVライブラリは、上下または左から右へのスクロールのみを提供します。 そのため、開発者は斜めスクロール機能を統合することにしました。 彼らはRecyclerViewに基づいてそれをしたかったので、これは簡単な仕事ではありませんでした。 これが成功するまでには時間がかかりましたが、コードはひどく見えました。 その結果、彼らはこれを手動で管理し、RecyclerViewライブラリから一般的に削除し、CSVリーダーで使用することが最善であるという結論に達しました。
- 要素の位置の計算。 各要素が配置される場所を正確に計算する必要がありました。 プロセスの複雑さは、プログラマが実行しなければならない多数の計算でした。
- アダプターの開発に関する問題。 ドラッグアンドドロップですべての変更をキャッシュするアダプターを作成するのに長い時間がかかりました。 これにより、大きなCSVファイルで作業しやすくなりました。
- 行/列の移動。 これは大きな問題ではありませんでしたが、この関数の最適で便利な実装にも時間がかかりました。
さらに、将来的には「ナローイング/ストレッチング」およびスケーリングの機能を追加する予定です。 また、中東の人々のために右から左へ書く機能も追加します。
一般に、ライブラリの機能がすべての要件と他のユーザーの要件を満たすように、多くの作業が残っています。 ぜひ実際に試してみてください。 ご意見やご提案をお待ちしております。