如何解决Android Kotlin:将检索到的数据从URL存储到房间数据库
我做的方法:
private fun saveToRoom(albums: Array<Data>) {
doAsync {
/*val currentDBPath = getDatabasePath("albums_database").absolutePath
println("DBPath is " + currentDBPath)*/
var items = ArrayList<ProductList_Data>()
for (album in albums) {
val item = ProductList_Data()
item.name = album.name
item.price = album.price
items.add(item)
}
db?.productListDao()?.insert(items)
/*val musicAlbums = db?.productListDao()?.getAll()
activityUiThread {
longToast("Data Got saved")
refreshUIWith(musicAlbums!!)
}*/
}
}
这是数据类名称Data
data class Data(
val _links: Links?,val attributes: List<Attribute>?,val average_rating: String?,val backordered: Boolean?,val backorders: String?,val backorders_allowed: Boolean?,val button_text: String?,val catalog_visibility: String?,val categories: List<Category>?,val cross_sell_ids: List<Any>?,val custom_fields: CustomFields?,val date_created: String?,val date_created_gmt: String?,val date_modified: String?,val date_modified_gmt: String?,val date_on_sale_from: Any?,val date_on_sale_from_gmt: Any?,val date_on_sale_to: Any?,val date_on_sale_to_gmt: Any?,val default_attributes: List<Any>?,val description: String?,val dimensions: Dimensions?,val download_expiry: Int?,val download_limit: Int?,val downloadable: Boolean?,val downloads: List<Any>?,val external_url: String?,val featured: Boolean?,val grouped_products: List<Any>?,val id: Int?,val images: List<Image>?,val manage_stock: Boolean?,val menu_order: Int?,val meta_data: List<MetaData>?,val name: String?,val on_sale: Boolean?,val parent_id: Int?,val permalink: String?,val price: String?,val price_html: String?,val purchasable: Boolean?,val purchase_note: String?,val rating_count: Int?,val regular_price: String?,val related_ids: List<Int>?,val reviews_allowed: Boolean?,val sale_price: String?,val shipping_class: String?,val shipping_class_id: Int?,val shipping_required: Boolean?,val shipping_taxable: Boolean?,val short_description: String?,val sku: String?,val slug: String?,val sold_individually: Boolean?,val status: String?,val stock_quantity: Any?,val stock_status: String?,val tags: List<Any>?,val tax_class: String?,val tax_status: String?,val total_sales: Int?,val type: String?,val upsell_ids: List<Any>?,val variations: List<Int>?,val virtual: Boolean?,val weight: String?
)我只想获取要存储在房间数据库中的名称和价格
我正在使用的实体类:
@Entity(tableName = "productlisttable")
data class ProductList_Data(
@PrimaryKey
val uid: Int = 0,@ColumnInfo(name = "_name")
var name: String? = "",@ColumnInfo(name = "_price")
var price: String? = ""
)
主要活动中的调用方法,并得到红色下划线错误,该错误没有为init等传递任何值
saveToRoom(Array<Data>))
我认为我调用该方法的方式是错误的还是什么
解决方法
使用此功能可以将数组转换并保存到数据库中
setState()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。