ご指摘をいただき修正を行いました。
課題に取り組む前にコンテンツプロバイダの基本的な使い方を学習している段階のため、自分でコードなどは書いておりません。
もしかしたらリファレンスをよく読めばわかることも含まれているかもしれませんが、批判しないで頂けると幸いです…。
また、質問も不明確な部分がありましたら再度ご指摘いただけますと幸いです。
宜しくお願いいたします。
最近Kotlinを学習し始めました。
コンテンツプロバイダに関する課題が出たため、下記のサンプルプログラムをKotlinに変換して学習を始めたのですが、あまりピンとこず学習が進められない状況です。
Qiita - Android開発初心者向け - Content Providerの使い方
①SQLiteHelper
(略)
override fun onCreate (sqLiteDatabase: SQLiteData){
sqLiteDatabase.execSQL(UserColumns.toString)
}
class UserColumns : BaseColumns{
companion object{
const val PATH = "user"
val CONTENT_URI:Uri =
Uri.parse("content:/" + UserContentProvider.AUTHORITY + "/" + PATH)
const val CONTENT_TYPE = "vnd.android.cursor.item/vnd/example.users"
const val CONTENT_ITEM_TYPE = "vnd.android.cursor.dir/vnd.example.users"
const val TABLE = "users"
const val NAME = "name"
const val EMAIL = "email"
}
(略)
①−1
android studioの公式リファレンスや個人ブログなどを読み、execSQLは引数を項目として登録して、表を作成するメソッドだと思ったのですが、そうするとcompanion object内のPATH〜CONTENT_ITEM_TYPEは何なのだろうか、、、と分からずにいます。
URIが含まれているため、単純に対象の表の設定を行うものなのでしょうか。
execSQLを使うとどのような処理を行うのか教えていただきたいです。
①−2
companion objectの中のCONTENT_TYPEとCONTENT_ITEM_TYPEの変数の宣言について、宣言で何が格納されているのか全く分かりませんでした。
この宣言では何をしているのか教えていただきたいです。
###②UserContentProvider
②−1
分からない点が多すぎるので、まずコンテンツプロバイダの使い方の確認をしたいのですが。。。
コンテンツプロバイダクラス内でonCreate〜getTypeまでいろいろな処理があるのですが、そこで表に関する処理(データの登録や削除など、、、)を行って、MainActivityにあるcontentResolverで受け取って何やら処理を行うという認識で合っていますでしょうか…
あなたの回答
tips
プレビュー