{"id":1080,"date":"2021-01-19T10:43:15","date_gmt":"2021-01-19T02:43:15","guid":{"rendered":"https:\/\/badgameshow.com\/fly\/?p=1080"},"modified":"2021-01-19T11:31:13","modified_gmt":"2021-01-19T03:31:13","slug":"realtime-database","status":"publish","type":"post","link":"https:\/\/badgameshow.com\/fly\/realtime-database\/","title":{"rendered":"Android Firebase Realtime Database"},"content":{"rendered":"<h4>1.Firebase\u8207\u5c08\u6848\u9023\u7d50<\/h4>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2020\/03\/FCM1.png\"><img decoding=\"async\" src=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2020\/03\/FCM1-198x300.png\" alt=\"\" \/><\/a><\/p>\n<h4>2.\u9ede\u64caRealtime Database\u5c07library\u8207google-services.json\u5c0e\u5165\u9032\u5c08\u6848<\/h4>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/01\/wp_editor_md_4f3de7198e937586af69322764527410.jpg\"><img decoding=\"async\" src=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/01\/wp_editor_md_4f3de7198e937586af69322764527410.jpg\" alt=\"\" \/><\/a><\/p>\n<h4>3.Firebase console\u5275\u5efa\u8cc7\u6599\u5eab<\/h4>\n<h5>\u9078\u64c7(\u6e2c\u8a66\u6a21\u5f0f\u555f\u52d5) \u4e0a\u67b6\u524d\u5728\u6539\u70ba(\u9396\u5b9a\u6a21\u5f0f\u555f\u52d5)<\/h5>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/01\/wp_editor_md_43b2ad9eb072786095e69c6262a8d313.jpg\"><img decoding=\"async\" src=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/01\/wp_editor_md_43b2ad9eb072786095e69c6262a8d313.jpg\" alt=\"\" \/><\/a><\/p>\n<h4>4.\u5beb\u5165\u8cc7\u6599<\/h4>\n<pre><code class=\"language-Kotlin line-numbers\">private lateinit var database: DatabaseReference\n\noverride fun onCreate(savedInstanceState: Bundle?) {\n    super.onCreate(savedInstanceState)\n    setContentView(R.layout.activity_main)\n\n    database = FirebaseDatabase.getInstance().reference\n\n    insertUser(\"0\", \"fly\", \"a123456\")\n    insertUser(\"1\", \"wei\", \"b123456\")\n}\n\nprivate fun insertUser(userId: String, name: String, password: String) {\n    val user = User(name, password)\n    database.child(\"users\").child(userId).setValue(user)\n}\n<\/code><\/pre>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/01\/wp_editor_md_1e3656a3bed8169c0fcb04609035bed0.jpg\"><img decoding=\"async\" src=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/01\/wp_editor_md_1e3656a3bed8169c0fcb04609035bed0.jpg\" alt=\"\" \/><\/a><\/p>\n<h4>5.\u8b80\u53d6\u8cc7\u6599<\/h4>\n<pre><code class=\"language-Kotlin line-numbers\">private lateinit var database: DatabaseReference\n\noverride fun onCreate(savedInstanceState: Bundle?) {\n    super.onCreate(savedInstanceState)\n    setContentView(R.layout.activity_main)\n\n    database = FirebaseDatabase.getInstance().reference\n\n    queryUser(\"0\")\n    queryUser(\"1\")\n}\n\nprivate fun queryUser(userId: String) {\n    database.child(\"users\").child(userId).addValueEventListener(object : ValueEventListener {\n        override fun onCancelled(error: DatabaseError) {\n            Log.e(\"GGG\", \"Failed to read value.\", error.toException());\n        }\n\n        override fun onDataChange(snapshot: DataSnapshot) {\n            val user = snapshot.getValue(User::class.java)\n            user?.let { user -&gt;\n                Log.e(\"GGG\", \"<span class=\"katex math inline\">{user.username}<\/span>{user.password}\")\n            }\n        }\n    })\n}\n<\/code><\/pre>\n<h4>6.Model(\u4e00\u5b9a\u8981\u6709\u7a7a\u5efa\u69cb\u5b50)<\/h4>\n<pre><code class=\"language-Kotlin line-numbers\">class User(val username: String, val password: String)  {\n    constructor() : this(\"\", \"\")\n}\n<\/code><\/pre>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/01\/wp_editor_md_08fdf40bc99c09037bbcbcf4954d5d17.jpg\"><img decoding=\"async\" src=\"https:\/\/badgameshow.com\/fly\/wp-content\/uploads\/2021\/01\/wp_editor_md_08fdf40bc99c09037bbcbcf4954d5d17.jpg\" alt=\"\" \/><\/a><\/p>\n\n<div style=\"font-size: 0px; height: 0px; line-height: 0px; margin: 0; padding: 0; clear: both;\"><\/div>","protected":false},"excerpt":{"rendered":"<p>1.Firebase\u8207\u5c08\u6848\u9023\u7d50 2.\u9ede\u64caRealtime Database\u5c07library\u8207google-se &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"pgc_sgb_lightbox_settings":"","footnotes":""},"categories":[34],"tags":[13,40,166],"class_list":["post-1080","post","type-post","status-publish","format-standard","hentry","category-firebase","tag-android","tag-firebase","tag-realtime-database"],"_links":{"self":[{"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/posts\/1080","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/comments?post=1080"}],"version-history":[{"count":2,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/posts\/1080\/revisions"}],"predecessor-version":[{"id":1084,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/posts\/1080\/revisions\/1084"}],"wp:attachment":[{"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/media?parent=1080"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/categories?post=1080"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/badgameshow.com\/fly\/wp-json\/wp\/v2\/tags?post=1080"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}