{"id":24934,"date":"2021-07-12T09:00:24","date_gmt":"2021-07-12T00:00:24","guid":{"rendered":"https:\/\/mole-kingdom.com\/wpbl\/?p=24934"},"modified":"2021-07-05T16:14:13","modified_gmt":"2021-07-05T07:14:13","slug":"%e3%80%8eandroid-kotlin-fundamentals%e3%80%8f%e3%82%92%e3%82%84%e3%81%a3%e3%81%9f3","status":"publish","type":"post","link":"https:\/\/mole-kingdom.com\/wpbl\/2021\/07\/12\/24934.html","title":{"rendered":"\u300eAndroid Kotlin Fundamentals\u300f\u3092\u3084\u3063\u305f(3)"},"content":{"rendered":"<h1>Android Kotlin Fundamentals 02.4:Data binding basics<\/h1>\n<blockquote><p>an object that contains a reference to each view. This object, called a Binding object, <\/p><\/blockquote>\n<p>Binding\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3068\u306f\u5404View\u3078\u306e\u53c2\u7167\u3092\u5305\u542b\u3059\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u2026\u03c6(\uff65\u03c9\uff65\uff40 )\uff92\uff93\uff92\uff93\u2026<\/p>\n<blockquote><p>To use data binding, you need to enable data binding in your Gradle file, as it's not enabled by default.<br \/>\nTo work with data binding, you need to wrap your XML layout with a &lt;layout&gt; tag.<br \/>\nThe namespace declarations for a layout must be in the outermost tag.<\/p><\/blockquote>\n<p>build.gradle(:app)\u3067databinding\u3092\u6709\u52b9\u306b\u3057\u3066\u3001<br \/>\n&lt;layout&gt;\u30bf\u30b0\u3067\u5168\u4f53\u3092\u56f2\u3063\u3066\u3001xmlns\u3092\u6700\u5916\u3067\u3042\u308b&lt;layout&gt;\u30bf\u30b0\u5185\u306b\u79fb\u52d5\u3002<\/p>\n<p>\u3042\u308c\u2026<br \/>\n\u306a\u3093\u304b\u30a2\u30d7\u30ea\u304c\u7e70\u308a\u8fd4\u3057\u505c\u6b62\u3059\u308b\u3068\u304b\u8a00\u3063\u3066\u30a8\u30e9\u30fc\u304c(\uff89\u2200`)<br \/>\n<a href=\"https:\/\/qiita.com\/tkmd35\/items\/d9876ade4e43c8bf1be3\" rel=\"noopener\" target=\"_blank\">kapt\u3092\u8ffd\u52a0\u3057\u3066\u3044\u306a\u3044\u306e\u304c\u3044\u3051\u306a\u3044<\/a>\u304b\u3068\u601d\u3044\u3001plugin\u306e\u3068\u3053\u308d\u306b<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">id 'kotlin-kapt'<\/pre>\n<p>\u3092\u8ffd\u52a0\u3057\u305f\u304c\u3001\u95a2\u4fc2\u306a\u304b\u3063\u305f\u6a21\u69d8\u3002<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n    buildFeatures {\r\n        dataBinding true\r\n    }\r\n<\/pre>\n<p>    \u3067\u306f\u306a\u304f\u3001<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n    dataBinding {\r\n        enabled true\r\n    }\r\n<\/pre>\n<p>    \u306b\u3057\u3066\u307f\u305f\u3051\u3069\u3001<br \/>\n\u5225\u306b\u95a2\u4fc2\u306a\u304f\u2026\u307e\u3042\u305d\u308c\u306f\u305d\u3046\u304b\uff57<\/p>\n<p>\u3042\u30fc\u3001\u4e2d\u8eab\u306f\u7a7a\u3067\u3082\u3044\u3044\u3051\u3069&lt;data&gt;&lt;\/data&gt;\u3092\u8ffd\u52a0\u3057\u306a\u3044\u3068\u99c4\u76ee\u3063\u3066\u3053\u3068\u306a\u306e\u304b\u306a\uff1f<br \/>\n&lt;layout&gt;\u30bf\u30b0\u3067\u56f2\u3093\u3060\u5f8c\u306f&lt;data&gt;\u30bf\u30b0\u3082\u4e00\u7dd2\u306b\u8ffd\u52a0\u3057\u306a\u3044\u3068\u8d77\u52d5\u3067\u3053\u3051\u308b\u307f\u305f\u3044\u3060\u306a\u3001\u5c11\u306a\u304b\u3089\u305a\u3001\u3046\u3061\u306e\u4eca\u306e\u74b0\u5883\u3060\u3068\u3002<\/p>\n<p>\u304a\u304a\u3001\u30a8\u30e9\u30fc\u306b\u306a\u3063\u3066\u3044\u305fMainActivity.kt\u306e<br \/>\nimport com.example.aboutme.databinding.ActivityMainBinding<br \/>\n\u304c\u81ea\u52d5\u8ffd\u52a0\u3055\u308c\u305f\u3002\u30b5\u30f3\u30d7\u30eb\u3068\u9055\u3063\u3066\u3001\u3046\u3061\u306e\u30b3\u30fc\u30c9\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306bandroid\u304c\u306a\u3044\u306a\u2026<br \/>\n\u307e\u3042\u305d\u3053\u306f\u3069\u3046\u3067\u3082\u3044\u3044\u304b\uff57<\/p>\n<p>import androidx.databinding.DataBindingUtil<br \/>\n\u3092\u8ffd\u52a0\u3059\u308b\u3068\u30a8\u30e9\u30fc\u306b\u306a\u3063\u3066<br \/>\nimport android.databinding.DataBindingUtil\u304c\u8ffd\u52a0\u3055\u308c\u308b\u306a\u2026<br \/>\njetpack\u304b\u3089\u79fb\u52d5\u3057\u305f\u3093\u3060\u308d\u3046\u304b(\u00b4\uff65\u03c9\uff65\uff40)\uff1f<\/p>\n<h3>Step 4: Use the binding object to replace all calls to findViewById()<\/h3>\n<blockquote><p>When the binding object is created, the compiler generates the names of the views in the binding object from the IDs of the views in the layout, converting them to camel case. So, for example, done_button is doneButton in the binding object, nickname_edit becomes becomes nicknameEdit, and nickname_text becomes nicknameText.<\/p><\/blockquote>\n<p>\u307b\u30fc\u3093\u3001\u306a\u308b\u307b\u3069\u2026(\u3000\u309c\u03c3\uff65\uff9f\uff09\uff8e\uff7c\uff9e\uff8e\uff7c\uff9e<br \/>\n\u3063\u3066becomes\u304c\u4e8c\u56de\u51fa\u3066\u304d\u3066\u308b\u306a\uff57<\/p>\n<p>findViewById(id)\u3067\u6307\u5b9a\u3057\u3066\u305f\u3089\u3001\u81ea\u52d5\u7684\u306bbinding\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u8ffd\u52a0\u3059\u308b\u304b\u3001\u540c\u3058\u30e1\u30bd\u30c3\u30c9\u5185\u306b\u3042\u308bbinding\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u9078\u629e\u3057\u3066\u3001\uff5e.\u30ad\u30e3\u30e1\u30eb\u30b1\u30fc\u30b9\u5316\u3057\u305fid\u3068\u304b\u306b\u5909\u66f4\u3059\u308b\u6a5f\u80fd\u306f\u306a\u3044\u3093\u304b\u306a\u3002\u305d\u308c\u306f\u4e00\u62ec\u3067\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u51fa\u6765\u308b\u6a5f\u80fd\u3068\u3057\u3066\u5b58\u5728\u3057\u305f\u65b9\u304c\u3044\u3044\u306e\u304b\u306a\u2026<\/p>\n<p>\u5b8c\u6210\u5f62\u306e\u65b9\u306bupdateNickname\u304c\u306a\u3044\u306a\u2026<br \/>\n\u3044\u305a\u308c\u524a\u9664\u3059\u308b\u306e\u304b\u306a\uff1f<\/p>\n<p>thorough \u5fb9\u5e95\u7684\u306b \u5145\u5206\u306a, \u5341\u5206\u306a, \u5ff5\u5165\u308a\u306a<br \/>\n\u4e00\u77ac\u3001through\u304b\u3068\u601d\u3063\u305f\u3089\u3001\u3053\u3093\u306a\u82f1\u5358\u8a9e\u304c\u3042\u308b\u3093\u3060\u306a\u2026<\/p>\n<hr width=\"90%\">\n<h2>4. Task: Use data binding to display data<\/h2>\n<h3>Step 2: Add data to the layout<\/h3>\n<p>\u3053\u306e\u6bb5\u968e\u3067<data>\u30bf\u30b0\u3092\u633f\u5165\u3059\u308b\u306e\u304b\u2026<br \/>\n\u4ed6\u306e\u74b0\u5883\u3060\u3068\u4e0a\u8a18\u306e\u30a8\u30e9\u30fc\u306f\u8d77\u304d\u306a\u3044\u306e\u3067\u3042\u308d\u3046\u304b\uff1f<br \/>\n\u4f55\u306f\u3068\u3082\u3042\u308c<span class=\"os\">This is where you will connect the view with the data.<\/span>\u3068\u3044\u3046\u3053\u3068\u3089\u3057\u3044\u3002<\/p>\n<hr>\n<h1>Android Kotlin Fundamentals:Create a fragment<\/h1>\n<h2>2. App overview<\/h2>\n<p><span class=\"os\">The top of the app displays a view called the *app bar (*or action bar) which shows the app's name.<\/span><\/p>\n<p>\u3053\u306e*\u306f\u306a\u3093\u3060\u308d\u3046\u304b\u2026<br \/>\n\u3082\u3057\u304b\u3057\u3066\u5f37\u8abf\u8868\u793a\u3068\u304b\u306e\u5236\u5fa1\u6587\u5b57\u306e\u4e00\u90e8\uff1f<\/p>\n<hr width=\"90%\">\n<h2>4. Task: Add a fragment<\/h2>\n<h3>Step 1: Add a Fragment class<\/h3>\n<h4>Create a binding object<\/h4>\n<p>\u3053\u308c\u9805\u756a5\u3067placeholder_layout.xml\u3092\u524a\u9664\u3059\u308b\u3051\u3069\u3001\u3053\u308c\u3063\u3066\u306a\u3093\u306a\u3093\u3060\u308d\u3046\uff1f<\/p>\n<h3>Step 2: Add the new fragment to the main layout file<\/h3>\n<p>\u4eca\u307e\u3067\u3001\u305a\u3063\u3068text tab\u3068\u8a00\u3063\u3066\u305f\u306e\u306b\u3001\u3053\u3053\u3067\u3088\u3046\u3084\u304fCode tab\u3068\u3044\u3046\u8868\u8a18\u306b\u306a\u3063\u305f\u3002<\/p>\n<hr>\n<h1>Android Kotlin Fundamentals:03.2 Define navigation paths<\/h1>\n<h2>5. Task: Add fragments to the navigation graph<\/h2>\n<h3>Step 1: Add two fragments to the navigation graph and connect them with an action<\/h3>\n<p>placeholder_layout.xml\u3092\u524a\u9664\u3057\u5fd8\u308c\u3066\u3044\u305f\u70ba\u304b\u306a\u3093\u304b\u77e5\u3089\u306a\u3044\u3051\u3069\u3001titleFragment\u304c\u51fa\u3066\u3053\u306a\u304f\u3066\u60a9\u3093\u3060(\uff89\u2200`)<\/p>\n<h3>Step 2: Add a click handler to the Play button<\/h3>\n<p>\u6700\u5f8c\u306eopens.\u3068\u753b\u50cf\u306e\u9593\u306b\u6539\u884c\u304c\u6b32\u3057\u3044\u3068\u3053\u308d\u304b\u3002<\/p>\n<hr width=\"90%\">\n<h2>7. Task: Change the Back button's destination<\/h2>\n<h3>Step 1: Set the pop behavior for the navigation actions<\/h3>\n<p>\u3042\u308c\uff1f popUpTo\u5c5e\u6027\u304c\u3088\u304f\u308f\u304b\u3089\u306a\u3044\u3068\u601d\u3063\u3066\u3050\u3050\u3063\u305f\u3089\u3001<br \/>\n<a href=\"https:\/\/codelabsjp.net\" rel=\"noopener\" target=\"_blank\">\u30b3\u30fc\u30c9\u30e9\u30dc\u3092\u7ffb\u8a33\u3057\u3066\u3044\u308b\u30b5\u30a4\u30c8<\/a>\u3092\u898b\u3064\u3051\u305f(\uff89\u2200`)<\/p>\n<p>\u307e\u3042\u3057\u3070\u3089\u304f\u306f\u539f\u6587\u30b5\u30a4\u30c8\u3067\u8aad\u307f\u7d9a\u3051\u3088\u3046\u304b\u306a\u3002<\/p>\n<p>\u9805\u756a4\u306e<br \/>\n<span class=\"os\">Select the action for navigating from the gameFragment to the gameWonFragment. Again, set popUpTo to gameFragment in the Attributes pane and select the popUpToInclusive checkbox.<\/span><br \/>\n\u3063\u3066\u3042\u308b\u3051\u3069\u3001\u753b\u50cf\u3060\u3068gameWonFragment\u306b\u306a\u3063\u3066\u3044\u308b\u3088\u3046\u306a\u6c17\u304c\u3059\u308b\u3051\u3069\u3001\u3053\u308c\u306f\u306a\u3093\u306a\u3093\u3060\u308d\u3046\u304b\u2026<\/p>\n<h3>Step 2: Add more navigation actions and add onClick handlers<\/h3>\n<p><span class=\"os\">val navController = this.findNavController(R.id.myNavHostFragment)<br \/>\nNavigationUI.setupActionBarWithNavController(this,navController)<\/span><br \/>\n\u306fbinding\u306e\u5f8c\u306b\u66f8\u304b\u306a\u3044\u3068\u307e\u305f\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u3066\u8d77\u52d5\u3057\u306a\u304f\u306a\u3063\u305f\u3002<\/p>\n<h3>Step 2: Add the options-menu resource<\/h3>\n<p>\u8ffd\u52a0\u3057\u305fmenu item\u306b\u306fid\u304c\u5165\u3063\u3066\u3044\u306a\u3044\u306e\u304c\u30c7\u30d5\u30a9\uff1f<br \/>\n\u53d6\u308a\u6562\u3048\u305aaboutFragment\u306b\u3057\u305f\u3051\u308c\u3069\u3002<\/p>\n<hr width=\"90%\">\n<h2>10. Task: Add the navigation drawer<\/h2>\n<h3>Step 3: Create the drawer menu and the drawer layout<\/h3>\n<blockquote><p>Note: If you use the same ID for the menu item as for the destination Fragment, you don't need to write any code at all to implement the onClick listener!<\/p><\/blockquote>\n<p>\u3078\u3047(\u30fb\u2200\u30fb)<br \/>\n\u968f\u5206\u3068\u7c21\u7565\u5316\u3055\u308c\u3066\u308b\u3093\u3060\u306a\u3041\u3002<\/p>\n<hr width=\"90%\">\n<h1>Android Kotlin Fundamentals: 03.3 Start an external Activity<\/h1>\n<h2>3. Task: Set up and use the Safe Args plugin<\/h2>\n<blockquote><p>An Android Bundle is a key-value store.<\/p><\/blockquote>\n<p>Bundle\u306f\u30ad\u30fc\u30d0\u30ea\u30e5\u30fc\u30da\u30a2\u3092\u683c\u7d0d\u3059\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3068\u2026\u03c6(\uff65\u03c9\uff65\uff40 )\uff92\uff93\uff92\uff93\u2026<\/p>\n<blockquote><p>Android's Navigation Architecture Component includes a feature called Safe Args. Safe Args is a Gradle plugin that generates code and classes that help detect errors at compile-time that might not otherwise be surfaced until the app runs.<\/p><\/blockquote>\n<p>Safe Args\u306f\u30a2\u30d7\u30ea\u5b9f\u884c\u6642\u307e\u3067\u8868\u9762\u5316\u3057\u306a\u3044\u304b\u3082\u3057\u308c\u306a\u3044\u30a8\u30e9\u30fc\u3092\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306b\u767a\u898b\u3059\u308b\u624b\u52a9\u3051\u3092\u3059\u308b\u30b3\u30fc\u30c9\u3068\u30af\u30e9\u30b9\u3092\u751f\u6210\u3059\u308bGradle\u30d7\u30e9\u30b0\u30a4\u30f3\uff1f<\/p>\n<h3>Step 3: Add a NavDirection class to the game Fragment<\/h3>\n<p>GameFragmentDirections\u3068\u3044\u3046\u304b\uff5eDirections.java\u30d5\u30a1\u30a4\u30eb\u3063\u3066AS\u304b\u3089\u898b\u3089\u308c\u308b\u306e\u304b\u306a\uff1f<br \/>\n\u306a\u3093\u304b\u898b\u3048\u306a\u3044\u6c17\u304c\u3059\u308b\u3002\u30a8\u30af\u30b9\u30d7\u30ed\u30fc\u30e9\u3067\u958b\u304f\u3068\u8868\u793a\u3055\u308c\u308b\u3093\u3060\u3051\u3069\u3082\u2026<br \/>\n\\android-kotlin-fundamentals-starter-apps-master\\AndroidTrivia-Starter\\app\\build\\generated\\source\\navigation-args\\debug\\com\\example\\android\\navigation<\/p>\n<pre class=\"brush: kotlin; title: ; notranslate\" title=\"\">\r\nimport androidx.annotation.NonNull;\r\nimport androidx.navigation.ActionOnlyNavDirections;\r\nimport androidx.navigation.NavDirections;\r\n\r\npublic class GameFragmentDirections {\r\n  private GameFragmentDirections() {\r\n  }\r\n\r\n  @NonNull\r\n  public static NavDirections actionGameFragmentToGameOverFragment() {\r\n    return new ActionOnlyNavDirections(R.id.action_gameFragment_to_gameOverFragment);\r\n  }\r\n\r\n  @NonNull\r\n  public static NavDirections actionGameFragmentToGameWonFragment() {\r\n    return new ActionOnlyNavDirections(R.id.action_gameFragment_to_gameWonFragment);\r\n  }\r\n}\r\n<\/pre>\n<p><a href=\"https:\/\/androidx.tech\/artifacts\/navigation\/navigation-common\/2.3.3-source\/androidx\/navigation\/NavDirections.java.html\" rel=\"noopener\" target=\"_blank\">NavDirections<\/a>\u306f\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306a\u306e\u304b\u3002<\/p>\n<p><a href=\"https:\/\/androidx.tech\/artifacts\/navigation\/navigation-common\/2.2.2-source\/androidx\/navigation\/ActionOnlyNavDirections.java.html\" rel=\"noopener\" target=\"_blank\">ActionOnlyNavDirections<\/a>\u306f\u305d\u306e\u7d99\u627f\u30af\u30e9\u30b9\u3067nav\u306e\u77e2\u5370\u306eid\u3092\u4fdd\u6301\u3057\u3066\u3001getArguments()\u306f\u5e38\u306b\u65b0\u3057\u3044Bundle\u3092\u8fd4\u3059\u2026\uff1f<\/p>\n<blockquote><p>Android \u306e\u5404\u7a2e\u30ea\u30bd\u30fc\u30b9\u306e ID \u306f int \u578b\u3067\u7ba1\u7406\u3055\u308c\u3066\u3044\u307e\u3059\u3002 \u3053\u306e\u5024\u3092\u5909\u6570\u306b\u683c\u7d0d\u3057\u305f\u308a\u3001\u30e1\u30bd\u30c3\u30c9\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u3068\u3057\u3066\u53d7\u3051\u53d6\u308b\u3088\u3046\u306b\u5b9f\u88c5\u3057\u305f\u5834\u5408\u3001\u4e0d\u6b63\u306a int \u5024\u304c\u6e21\u3055\u308c\u3066\u5b9f\u884c\u6642\u306b\u843d\u3061\u3066\u3057\u307e\u3046\u30ea\u30b9\u30af\u304c\u3042\u308a\u307e\u3059\u3002<\/p><\/blockquote>\n<p><a href=\"https:\/\/maku77.github.io\/android\/fw\/res-annotation.html\" rel=\"noopener\" target=\"_blank\">@IdRes<\/a>\tR.id.xxx \u3067\u53c2\u7167\u3059\u308b\u30ea\u30bd\u30fc\u30b9ID<\/p>\n<p>\u3078\u3047(\u30fb\u2200\u30fb)<\/p>\n<h2>4. Task: Add and pass arguments<\/h2>\n<h3>Step 2: Pass the arguments<\/h3>\n<p>\u3053\u3053\u3067numQuestions\u3068questionIndex\u3092\u30d1\u30e9\u30e1\u30fc\u30bf\u3068\u3057\u3066\u8ffd\u52a0\u3057\u305f\u3089\u4f55\u6545\u304b\u5909\u306a\u88dc\u5b8c\u304c\u3055\u308c\u3066\u30a8\u30e9\u30fc\u306b\u3002\u4f59\u8a08\u306avar\u3084\u3089any\u4ee5\u964d\u3092\u524a\u9664\u3057\u305f\u3089\u3001\u30a8\u30e9\u30fc\u306f\u6d88\u3048\u305f\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Android Kotlin Fundamentals 02.4:Data binding basics an object that contains a reference to each view. This ob...  <a class=\"excerpt-read-more\" href=\"https:\/\/mole-kingdom.com\/wpbl\/2021\/07\/12\/24934.html\" title=\"Read \u300eAndroid Kotlin Fundamentals\u300f\u3092\u3084\u3063\u305f(3)\">\u3082\u3063\u3068\u8aad\u3080 &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[18,101,113,124,95],"tags":[],"class_list":["post-24934","post","type-post","status-publish","format-standard","hentry","category-android","category-android-studio","category-google","category-kotlin","category-impressions"],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p2pLuj-6ua","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":24927,"url":"https:\/\/mole-kingdom.com\/wpbl\/2021\/07\/06\/24927.html","url_meta":{"origin":24934,"position":0},"title":"\u300eAndroid Kotlin Fundamentals\u300f\u3092\u3084\u3063\u305f(1)","author":"moleking","date":"2021\u5e747\u67086\u65e5","format":false,"excerpt":"Android Kotlin \u306e\u57fa\u790e\u306e\u305f\u3081\u306e Codelab \u3068\u8a00\u3044\u3064\u3064\u3001\u307e\u3060\u9014\u4e2d(\uff89\u2200`) \u307e\u3060L\u2026","rel":"","context":"Android","block_context":{"text":"Android","link":"https:\/\/mole-kingdom.com\/wpbl\/category\/os\/android"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":24848,"url":"https:\/\/mole-kingdom.com\/wpbl\/2021\/06\/17\/24848.html","url_meta":{"origin":24934,"position":1},"title":"\u300eWelcome to Android Basics in Kotlin\u300f\u3092\u3084\u3063\u305f(2)","author":"moleking","date":"2021\u5e746\u670817\u65e5","format":false,"excerpt":"Layouts Kotlin\u306e\u30af\u30e9\u30b9\u3068\u7d99\u627f 2. \u30af\u30e9\u30b9\u968e\u5c64\u3068\u306f \u4e00\u5fdc\u3001\"\u8c46\u985e\"\u306e\u3068\u3053\u308d\u306e\u30ea\u30f3\u30af\u304ch\u2026","rel":"","context":"Android","block_context":{"text":"Android","link":"https:\/\/mole-kingdom.com\/wpbl\/category\/os\/android"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":24932,"url":"https:\/\/mole-kingdom.com\/wpbl\/2021\/07\/09\/24932.html","url_meta":{"origin":24934,"position":2},"title":"\u300eAndroid Kotlin Fundamentals\u300f\u3092\u3084\u3063\u305f(2)","author":"moleking","date":"2021\u5e747\u67089\u65e5","format":false,"excerpt":"Android Kotlin Fundamentals: Add user interactivit\u2026","rel":"","context":"Android","block_context":{"text":"Android","link":"https:\/\/mole-kingdom.com\/wpbl\/category\/os\/android"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":24858,"url":"https:\/\/mole-kingdom.com\/wpbl\/2021\/06\/23\/24858.html","url_meta":{"origin":24934,"position":3},"title":"\u300eWelcome to Android Basics in Kotlin\u300f\u3092\u3084\u3063\u305f(\u7d42)","author":"moleking","date":"2021\u5e746\u670823\u65e5","format":false,"excerpt":"\u30d5\u30e9\u30b0\u30e1\u30f3\u30c8\u9593\u306e\u5171\u6709 ViewModel 4. \u5171\u6709 ViewModel \u3092\u4f5c\u6210\u3059\u308b OrderVi\u2026","rel":"","context":"Android","block_context":{"text":"Android","link":"https:\/\/mole-kingdom.com\/wpbl\/category\/os\/android"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":24853,"url":"https:\/\/mole-kingdom.com\/wpbl\/2021\/06\/20\/24853.html","url_meta":{"origin":24934,"position":4},"title":"\u300eWelcome to Android Basics in Kotlin\u300f\u3092\u3084\u3063\u305f(3)","author":"moleking","date":"2021\u5e746\u670820\u65e5","format":false,"excerpt":"\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3 \u753b\u9762\u9593\u3092\u79fb\u52d5\u3059\u308b 2. \u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u306e\u8a73\u7d30 \u30bb\u30c3\u30c8\u306e\u8a73\u7d30 All of the co\u2026","rel":"","context":"Android","block_context":{"text":"Android","link":"https:\/\/mole-kingdom.com\/wpbl\/category\/os\/android"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":12084,"url":"https:\/\/mole-kingdom.com\/wpbl\/2015\/05\/13\/12084.html","url_meta":{"origin":24934,"position":5},"title":"xml\u30d5\u30a1\u30a4\u30eb\u3092\u4f7f\u308f\u305a\u306bFragment\u3092\u751f\u6210\u3059\u308b\u65b9\u6cd5(\u00b4\uff65\u03c9\uff65\uff40)\uff1f","author":"moleking","date":"2015\u5e745\u670813\u65e5","format":false,"excerpt":"xml\u3092\u4f7f\u308f\u305a\u306bFragment\u3092\u751f\u6210\u3059\u308b\u65b9\u6cd5\u3092\u3050\u3050\u3063\u3066\u3044\u3066\u3001\u30d2\u30c3\u30c8\u3057\u305f android - How\u2026","rel":"","context":"Android","block_context":{"text":"Android","link":"https:\/\/mole-kingdom.com\/wpbl\/category\/os\/android"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/mole-kingdom.com\/wpbl\/wp-json\/wp\/v2\/posts\/24934","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mole-kingdom.com\/wpbl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mole-kingdom.com\/wpbl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mole-kingdom.com\/wpbl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mole-kingdom.com\/wpbl\/wp-json\/wp\/v2\/comments?post=24934"}],"version-history":[{"count":3,"href":"https:\/\/mole-kingdom.com\/wpbl\/wp-json\/wp\/v2\/posts\/24934\/revisions"}],"predecessor-version":[{"id":24946,"href":"https:\/\/mole-kingdom.com\/wpbl\/wp-json\/wp\/v2\/posts\/24934\/revisions\/24946"}],"wp:attachment":[{"href":"https:\/\/mole-kingdom.com\/wpbl\/wp-json\/wp\/v2\/media?parent=24934"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mole-kingdom.com\/wpbl\/wp-json\/wp\/v2\/categories?post=24934"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mole-kingdom.com\/wpbl\/wp-json\/wp\/v2\/tags?post=24934"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}