今、私は写真を撮ってそれをフォルダに保存する簡単なアプリを持っています。私は、ユーザーに各画像に関する質問に答えてもらう方法を見つけようとしています(私はそれでEditTextsを使用するだけです)。それらのEditTextsを画像に接続して、別のページで画像を開いたときにボタンをクリックして、その画像とともに入力された情報を表示できるようにする方法はありますか?画像に関連付けられたエディットテキストを保持せずに、他のすべてをコーディングする方法についてのアイデアがあります。どんなアイデアでも大歓迎です!ありがとうございました!
4 に答える
おそらく、画像ファイルと同じ名前で拡張子が異なるデータファイルを画像と一緒に作成できます。
したがって、という画像を保存する場合は、EditTextから収集したデータを含むimg1.png
別のファイルをその画像と一緒に保存します。img1.txt
このデータファイルをどのようにフォーマットするかは、保存する必要のあるデータの量と、データが表す必要のある構造の種類(存在する場合)によって少し異なります。
次に、pngをロードして表示するときに、同じ名前を共有するtxtファイルもロードし、内部に含まれるデータをTextViewまたはImageViewの近くに入力する必要があります。
データベースを使用します。画像を必要なデータに関連付けるテーブルを作成します。画像を表示するときは、データベースからその画像の情報を読み取り、それも表示します。画像をデータベースに直接保存するか、フォルダに保存して、データベーステーブルの主キーとしてファイル名を使用します。
これを達成する方法はいくつかあります。Stringが入力されたデータであり、intが画像のresourceIDであるハッシュマップを使用できます。永続ストレージの場合、文字列を列に格納し、関連する画像を別の列に格納するSQLiteデータベースをお勧めします。
いくつかのオプション:
- 画像を含むファイルを保存します。同じ名前を付けますが、.txtなどを付けます。ファイルは、おそらくgetFilesDir()によって返される場所に保存する必要があります。または、 SharedPreferencesを使用することもできます。
- sqliteデータベースを使用する
- 画像のexifデータ内に保存します。値を保存するには、setAttribute/getAttributeとともにExifInterfaceクラスを使用します。