{"id":24927,"date":"2021-07-06T09:00:03","date_gmt":"2021-07-06T00:00:03","guid":{"rendered":"https:\/\/mole-kingdom.com\/wpbl\/?p=24927"},"modified":"2021-07-05T14:55:32","modified_gmt":"2021-07-05T05:55:32","slug":"%e3%80%8eandroid-kotlin-fundamentals%e3%80%8f%e3%82%92%e3%82%84%e3%81%a3%e3%81%9f1","status":"publish","type":"post","link":"https:\/\/mole-kingdom.com\/wpbl\/2021\/07\/06\/24927.html","title":{"rendered":"\u300eAndroid Kotlin Fundamentals\u300f\u3092\u3084\u3063\u305f(1)"},"content":{"rendered":"<p><a href=\"https:\/\/developer.android.com\/courses\/kotlin-android-fundamentals\/toc?hl=ja\" rel=\"noopener\" target=\"_blank\">Android Kotlin \u306e\u57fa\u790e\u306e\u305f\u3081\u306e Codelab<\/a><\/p>\n<p>\u3068\u8a00\u3044\u3064\u3064\u3001\u307e\u3060\u9014\u4e2d(\uff89\u2200`)<br \/>\n\u307e\u3060Lesson4\u307e\u3067\u3057\u304b\u7d42\u308f\u3063\u3066\u306a\u3044\u3002<\/p>\n<p>\u300eWelcome to Android Basics in Kotlin\u300f\u3068\u7570\u306a\u308a\u3001\u82f1\u6587\u3067\u5185\u5bb9\u3082\u3061\u3087\u3063\u3068\u9577\u3044\u304b\u306a\uff1f \u3042\u3068\u82e5\u5e72\u524d\u306e\u5185\u5bb9\u3063\u307d\u3044\u3002\u82f1\u6587\u306a\u306e\u3067\u8aad\u3080\u306e\u306b\u6642\u9593\u304c\u304b\u304b\u308b\u304c\u3001\u77e5\u308a\u305f\u3044\u3053\u3068\u3068\u3044\u3046\u304b\u9014\u4e2d\u3067\u6d6e\u304b\u3093\u3067\u304f\u308b\u7591\u554f\u3092\u5373\u5ea7\u306b\u8aac\u660e\u3057\u3066\u304f\u308c\u3066\u305f\u308a\u3059\u308b\u306e\u3067\u3001\u8aad\u3080\u4fa1\u5024\u306f\u3042\u308b\u3068\u601d\u3046\u3002<\/p>\n<p>\u9014\u4e2d\u3067\u3053\u306e\u5185\u5bb9<span class=\"f_s\">(\u3068\u3044\u3046\u304bcodelab\u5168\u822c?)<\/span>\u3092<a href=\"https:\/\/codelabsjp.net\" rel=\"noopener\" target=\"_blank\">\u7ffb\u8a33\u30fb\u516c\u958b\u3057\u3066\u3044\u308b\u30b5\u30a4\u30c8<\/a>\u3092\u767a\u898b\u3057\u305f\u304c\u3001\u82f1\u6587\u3067\u8aad\u3080\u65b9\u306b\u6163\u308c\u3066\u3057\u307e\u3063\u305f\u304c\u305f\u3081\u306b\u305d\u306e\u307e\u307e\u82f1\u6587\u3067\u8aad\u307f\u9032\u3081\u308b\u3053\u3068\u306b\u3057\u305f\u3002<\/p>\n<p>\u6700\u8fd1\u3001\u82f1\u6587\u3092\u5168\u304f\u8aad\u307e\u306a\u304f\u306a\u3063\u3066\u3044\u308b\u306e\u3067\u5c11\u3057\u306f\u8aad\u307e\u306a\u3044\u3068\u3044\u3051\u306a\u3044\u6c17\u304c\u3059\u308b\u3057\u2026<\/p>\n<p>\u3044\u3064\u3082\u306e\u3088\u3046\u306b\u3001\u3084\u3063\u3066\u3044\u308b\u6700\u4e2d\u306e\u9069\u5f53\u306a\u30e1\u30e2\u66f8\u304d\u3084\u611f\u60f3\u3067\u3042\u308a\u3001\u52d8\u9055\u3044\u3001\u304a\u307e\u74b0\u7531\u6765\u306e\u554f\u984c\u7b49\u3005\u3067\u5927\u9a12\u304e\u3057\u3066\u3044\u308b\u8a18\u9332\u3067\u3042\u308b(\uff89\u2200`)<\/p>\n<hr>\n<p>thus far \u3053\u308c\u307e\u3067\u306b\u3000\u4eca\u307e\u3067\u306b<br \/>\nterminology \u7528\u8a9e<br \/>\nunambiguous \u660e\u78ba\u306a<br \/>\ncomplicate\u3000\u8907\u96d1\u306b\u3059\u308b, \u308f\u304b\u308a\u306b\u304f\u304f\u3059\u308b<br \/>\nsheer\u3000\u5168\u304f, \u5358\u306a\u308b\u3000\u5f62\u5bb9\u8a5e\u3000\u7d14\u7136\u305f\u308b, \u5168\u304f\u306e<br \/>\nthe sheer number of \u306e\u81a8\u5927\u306a\u6570<br \/>\ninevitably \u5fc5\u7136\u7684\u306b<br \/>\nradically \u6839\u672c\u7684\u306b<br \/>\nunderneath\u3000\u4e0b\u306b<\/p>\n<p>\u306a\u3093\u3067View group\u3067child view\u306ehorizontal position\u3092\u4e00\u62ec\u6307\u5b9a\u51fa\u6765\u306a\u3044\u3093\u3060\u308d\u3046\u304b\uff1f<\/p>\n<p><span class=\"os\">All the view IDs in your XML file must have this prefix..<\/span><br \/>\n\u30d4\u30ea\u30aa\u30c9\u304c\u4e00\u3064\u4f59\u8a08\u3002<\/p>\n<p><span class=\"os\">Use the findViewById() method to get a View reference for the view that you defined in the XML class. <\/span><br \/>\n\u3053\u306e\u5834\u5408\u306eclass\u3063\u3066\u4f55\u3092\u6307\u3057\u3066\u308b\u3093\u3060\u308d\u3046\u304b\uff1f<br \/>\nfile\u3058\u3083\u3044\u3051\u306a\u3044\u306e\u304b\uff1f<\/p>\n<p><span class=\"os\">the duration to show the message.<\/span><br \/>\n\u5148\u982d\u304c\u5927\u6587\u5b57\u306b\u306a\u3063\u3066\u3044\u306a\u3044\u3002<\/p>\n<p><span class=\"os\">The show() method at the end displays the toast.<\/span><br \/>\n\u306f&lt;li&gt;\u3068\u3044\u3046\u304b&lt;ul&gt;\u5916\u306b\u66f8\u304f\u3079\u304d\uff1f<\/p>\n<hr width=\"90%\">\n<h1>Android Kotlin Fundamentals 01.3: Image resources and compatibility<\/h1>\n<h3>Step 1: Add the images<\/h3>\n<p>\u9805\u756a3\u30684\u304c2\u304b\u3089\u5206\u304b\u308c\u3066\u3044\u306a\u3044\u3002<br \/>\npreview\u30bf\u30d6\u306f\u306a\u3044\uff1f<\/p>\n<p>performant\u306a\u3093\u3066\u5358\u8a9e\u3042\u308b\u3093\u3060\u306a\u2026<br \/>\n<span class=\"f_s\">\u3068\u601d\u3063\u305f\u304c\u3001\u3088\u304f\u3088\u304f\u8003\u3048\u3066\u307f\u308b\u3068\u3001importancet\u3068important\u306e\u8a9e\u5f62\u5909\u5316\u3068\u4e00\u7dd2\u3060\u306a(\uff89\u2200`) performance\u306e\u5f62\u5bb9\u8a5e\u5f62\u304b\u3002<\/span><\/p>\n<blockquote><p>\u5f62<br \/>\n\u6027\u80fd\uff3b\u884c\u70ba\u30fb\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\uff3d\u306e<br \/>\n\u3008\u4fd7\u3009\u300a\u30b3\u300b\u9ad8\u6027\u80fd\u306e\u3001\u52b9\u7387\u306e\u826f\u3044<\/p><\/blockquote>\n<p><span class=\"os\">store the View object in a field. <\/span><br \/>\nKotlin\u306b\u306f\u30d5\u30a3\u30fc\u30eb\u30c9\u306f\u306a\u3044\u3068\u8a00\u3063\u3066\u305f\u3051\u3069\u3001\u305d\u308c\u306f\u610f\u5473\u304c\u9055\u3046\u306e\u304b\u306a(\u00b4\uff65\u03c9\uff65\uff40)\uff1f<\/p>\n<hr width=\"90%\">\n<h2>5. Task: Use a default image<\/h2>\n<p>\u9805\u756a4\u304c3\u304b\u3089\u5206\u304b\u308c\u3066\u3044\u306a\u3044\u3002<\/p>\n<blockquote><p>The tools namespace is used when you want to define placeholder content that is only used in the preview or the design editor in Android Studio. Attributes using the tools namespace are removed when you compile the app.<\/p><\/blockquote>\n<p>\u3075\u30fc\u3080\u3001\u3075\u30fc\u3080(\u30fb\u2200\u30fb)<br \/>\nTools\u540d\u524d\u7a7a\u9593\u3092\u3064\u3051\u305f\u5024\u306f\u958b\u767a\u6642\u306e\u30d7\u30ec\u30fc\u30b9\u30db\u30eb\u30c0\u30fc\u3067\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306b\u306f\u9664\u53bb\u3055\u308c\u308b\u3093\u3060\u306a\u3002<\/p>\n<blockquote><p>Namespaces are used to help resolve ambiguity when referring to attributes that have the same name. <\/p><\/blockquote>\n<p>\u540d\u524d\u7a7a\u9593\u81ea\u4f53\u306f\u540d\u524d\u885d\u7a81\u3068\u3044\u3046\u304b\u30b3\u30f3\u30d1\u30a4\u30e9\u304c\u540d\u524d\u3067\u8ff7\u308f\u306a\u3044\u305f\u3081\u306e\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u3063\u3066\u3053\u3068\u3067\u3048\u3048\u3093\u304b\u306a\uff1f<\/p>\n<hr width=\"90%\">\n<h2>6. Task: Understand API levels and compatibility<\/h2>\n<h3>Step 1: Explore API levels<\/h3>\n<p>\u9805\u756a1\u30682\u304c\u5206\u304b\u308c\u3066\u3044\u306a\u3044\u3002<\/p>\n<h3>Step 3: Add compatibility for vector drawables<\/h3>\n<p>\u9805\u756a1\u30682\u304c\u5206\u304b\u308c\u3066\u3044\u306a\u3044\u3002<\/p>\n<blockquote><p>The app namespace is for attributes that come from either your custom code or from libraries and not the core Android framework.<\/p><\/blockquote>\n<p>\u306a\u308b\u307b\u3069\u3001app\u5c5e\u6027\u306f\u81ea\u5206\u306e\u30ab\u30b9\u30bf\u30e0\u30b3\u30fc\u30c9\u3084\u6a19\u6e96(?)\u306eAndroid\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u4ee5\u5916\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u30b3\u30fc\u30c9\u7531\u6765\u306e\u5c5e\u6027\u306e\u70ba\u306e\u3082\u306e\u306a\u306e\u304b\u3002<\/p>\n<hr width=\"90%\">\n<h2>9.Summary<\/h2>\n<p>Summary\u306e\u3068\u3053\u308d\u3067\u3082\u3063\u3068\u7dba\u9e97\u306b\u307e\u3068\u3081\u3066\u3042\u3063\u305f(\uff89\u2200`)<\/p>\n<blockquote><p>The tools namespace for design-time attributes:<br \/>\nUse the tools namespace in the Android layout file to create placeholder content or hints for layout in Android Studio. Data declared by tools attributes is not used in the final app.<\/p><\/blockquote>\n<blockquote><p>The app namespace:<br \/>\nThe app namespace in your XML layout file is for attributes that come from either your custom code or from libraries, not from the core Android framework.<\/p><\/blockquote>\n<hr>\n<h1>Android Kotlin Fundamentals 01.4: Learn to help yourself<\/h1>\n<h2>3. Task: Use project templates<\/h2>\n<p>\u6700\u521d\u9593\u9055\u3048\u3066empty Activity\u3067\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u3063\u3066\u3057\u307e\u3044\u3001\u4e00\u77ac\u6238\u60d1\u3046(\uff89\u2200`)<br \/>\n\u6b21\u306bBasic\u3067\u4f5c\u3063\u305f\u3064\u3082\u308a\u3060\u3063\u305f\u304c\u3001\u306a\u3093\u304b\u51fa\u6765\u4e0a\u304c\u3063\u305f\u753b\u9762\u304c\u9055\u3046\u3088\u3046\u306a\u2026<\/p>\n<p>\u30d5\u30e9\u30b0\u30e1\u30f3\u30c8\u3068\u30dc\u30bf\u30f3\u304c\u4f7f\u308f\u308c\u3066\u3044\u3066\u3001TextView\u306e\u6587\u8a00\u3082\u306a\u3093\u304b\u9055\u3046\u3002<br \/>\n\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u3088\u308b\u9055\u3044\u304b\u306a\uff1f\u307e\u3042\u5927\u3057\u305f\u554f\u984c\u3067\u3082\u306a\u3044\u304b\u3089\u3044\u3044\u304b\u3002<\/p>\n<p>color.xml\u306bcolorAccent\u304c\u306a\u3044\uff1f<\/p>\n<hr width=\"90%\">\n<h2>4. Task: Learn from sample code<\/h2>\n<p><b>dagger.hilt.android.AndroidEntryPoint<\/b><br \/>\n\u306a\u3093\u3060\u3053\u306e\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u2026<\/p>\n<blockquote><p>Hilt \u306f Android \u7528\u306e\u4f9d\u5b58\u95a2\u4fc2\u30a4\u30f3\u30b8\u30a7\u30af\u30b7\u30e7\u30f3 \u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059\u3002\u3053\u308c\u3092\u4f7f\u3046\u3053\u3068\u3067\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u4f9d\u5b58\u95a2\u4fc2\u306e\u6ce8\u5165\uff08DI\uff09\u3092\u624b\u52d5\u3067\u884c\u3046\u305f\u3081\u306e\u30dc\u30a4\u30e9\u30fc\u30d7\u30ec\u30fc\u30c8\u304c\u6e1b\u308a\u307e\u3059\u3002\u624b\u52d5\u3067\u4f9d\u5b58\u95a2\u4fc2\u306e\u6ce8\u5165\u3092\u884c\u3046\u306b\u306f\u3001\u3059\u3079\u3066\u306e\u30af\u30e9\u30b9\u3068\u305d\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u624b\u4f5c\u696d\u3067\u4f5c\u6210\u3057\u3001\u30b3\u30f3\u30c6\u30ca\u3092\u4f7f\u7528\u3057\u3066\u4f9d\u5b58\u95a2\u4fc2\u306e\u518d\u5229\u7528\u3068\u7ba1\u7406\u3092\u884c\u3046\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>Hilt \u306f\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5185\u306e\u3059\u3079\u3066\u306e Android \u30af\u30e9\u30b9\u306b\u30b3\u30f3\u30c6\u30ca\u3092\u63d0\u4f9b\u3057\u3001\u305d\u306e\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u3092\u81ea\u52d5\u3067\u7ba1\u7406\u3059\u308b\u3053\u3068\u3067\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067 DI \u3092\u884c\u3046\u305f\u3081\u306e\u6a19\u6e96\u7684\u306a\u65b9\u6cd5\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002Hilt \u306f\u3001\u3088\u304f\u77e5\u3089\u308c\u305f DI \u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3042\u308b Dagger \u306e\u4e0a\u306b\u69cb\u7bc9\u3055\u308c\u3066\u3044\u308b\u305f\u3081\u3001\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306e\u6b63\u78ba\u6027\u3001\u5b9f\u884c\u6642\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3001\u30b9\u30b1\u30fc\u30e9\u30d3\u30ea\u30c6\u30a3\u3001Android Studio \u306e\u30b5\u30dd\u30fc\u30c8\u3068\u3044\u3063\u305f Dagger \u306e\u6069\u6075\u3092\u53d7\u3051\u3089\u308c\u307e\u3059\u3002\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001Hilt \u3068 Dagger \u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002<a href=\"https:\/\/developer.android.com\/training\/dependency-injection\/hilt-android?hl=ja\" rel=\"noopener\" target=\"_blank\">Hilt<\/a><\/p><\/blockquote>\n<blockquote><p><a href=\"https:\/\/dagger.dev\" rel=\"noopener\" target=\"_blank\">Dagger<\/a> is a fully static, compile-time dependency injection framework for Java, Kotlin, and Android. <\/p><\/blockquote>\n<p>\u3075\u30fc\u3093(\u00b4\uff65\u03c9\uff65\uff40)<br \/>\n\u3053\u306e\u5834\u5408\u306e\u4f9d\u5b58\u95a2\u4fc2\u306e\u6ce8\u5165\u3063\u3066@AndroidEntryPoint\u3067GardenActivity\u306b\u5404Fragment\u3092\u7d50\u3073\u3064\u3051\u3066\u308b\u306e\u304b\u2026\uff1f<br \/>\n\u3068\u601d\u3044\u304d\u3084\u3001<\/p>\n<blockquote><p>@AndroidEntryPoint \u306f\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5185\u306e Android \u30af\u30e9\u30b9\u3054\u3068\u306b\u500b\u5225\u306e Hilt \u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u751f\u6210\u3057\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306f\u3001\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u968e\u5c64\u3067\u8aac\u660e\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u306b\u3001\u305d\u308c\u305e\u308c\u306e\u89aa\u30af\u30e9\u30b9\u304b\u3089\u4f9d\u5b58\u95a2\u4fc2\u3092\u53d7\u3051\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p><\/blockquote>\n<p>\u4f9d\u5b58\u95a2\u4fc2\u3092\u6ce8\u5165\u3057\u305f\u3044\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u5168\u3066\u306b\u5f15\u3063\u4ed8\u3051\u308b\u306e\u304b\u306a\uff1f<br \/>\n\u307e\u3042\u53d6\u308a\u6562\u3048\u305a\u306f\u3053\u306e\u304f\u3089\u3044\u306e\u7406\u89e3\u3067\u3044\u3044\u304b\uff57<\/p>\n<p><span class=\"os\">Changing the launcher icon<\/span><br \/>\n\u9805\u756a4,5\u304c\u6539\u884c\u3055\u308c\u3066\u3044\u306a\u3044<\/p>\n<p>\u65e5\u672c\u8a9e\u5316\u3057\u3066\u308b\u304b\u3089\u3001\u305d\u306e\u5dee\u5206\u304b\u3082\u3057\u308c\u306a\u3044\u304cLegacy\u30bf\u30d6\u306f\u306a\u304f\u3066\u30aa\u30d7\u30b7\u30e7\u30f3\u30bf\u30d6\u3060\u3063\u305f\u3002\u305d\u3082\u305d\u3082API\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u307b\u307c\u6700\u65b0\u306b\u3057\u3066\u308b\u304b\u3089\u305d\u306e\u5f71\u97ff\u304b\u3082\u3057\u308c\u306a\u3044\u304c\u3088\u304f\u308f\u304b\u3089\u306a\u3044\uff57<\/p>\n<hr>\n<h1>Android Kotlin Fundamentals: LinearLayout using the Layout Editor<\/h1>\n<h2>3. Task: Create the AboutMe Project<\/h2>\n<p>\u65b0\u898f\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u4f5c\u6210\u30c0\u30a4\u30a2\u30ed\u30b0\u306b\"This project will support instant apps\"\u3068\u3044\u3046\u9805\u76ee\u304c\u306a\u3044\u306a\u3002<\/p>\n<hr width=\"90%\">\n<h2>5. Task: Add a TextView using Layout Editor<\/h2>\n<p>Layout Editor\u306e\u8868\u793a\u5c5e\u6027\u5207\u308a\u66ff\u3048\u306e\u30a2\u30a4\u30b3\u30f3\u3063\u3066\u3069\u308c\u3060\u2026<br \/>\n\u4e00\u5fdc\u4e0b\u307e\u3067\u30b9\u30af\u30ed\u30fc\u30eb\u3059\u308b\u3068\u5168\u5c5e\u6027\u304c\u8868\u793a\u3055\u308c\u308b\u304b\u3089\u307e\u3042\u3044\u3044\u304b\u3002<\/p>\n<p>\u9805\u756a3,6,7\u304c\u6539\u884c\u3055\u308c\u3066\u3044\u306a\u3044\u3002<\/p>\n<p>Attribute\u3067\u306f\u5927\u6587\u5b57\u306e\"ID\"\u3060\u3051\u3069LayoutEditor\u3060\u3068\"id\"\u3060\u306a\u3002<br \/>\ntextColor\u306e\u5909\u66f4\u304c\u3088\u304f\u308f\u304b\u3089\u306a\u304b\u3063\u305f\u306e\u3067@color\/black\u3092GUI\u304b\u3089\u9078\u629e\u3057\u305f\u3002<br \/>\n\u2192\u5f8c\u3067styles.xml\u3092\u76f4\u63a5\u7de8\u96c6\u3057\u305f\u3051\u3069\u3001GUI\u304b\u3089\u6307\u5b9a\u3059\u308b\u65b9\u6cd5\u304c\u308f\u304b\u3089\u306a\u304b\u3063\u305f\u306a(\uff89\u2200`)<\/p>\n<hr width=\"90%\">\n<h2>6. Task: Style your TextView<\/h2>\n<p>\u300cRight\/left versus start\/end\u300d\u306e<\/p>\n<blockquote><p>Add \"start\" and end\" in addition to \"left\" and \"right\".<br \/>\nFor example, use both android:paddingLeft and android:paddingStart.<\/p><\/blockquote>\n<p>\u3067\u4e00\u77ac\u60a9\u3080\u3002\u3053\u308c\u306f\"left\"\u3084\"right\"\u306b\"start\"\u3084\"end\"\u3092\u8ffd\u52a0\u3059\u308b\u3063\u3066\u3044\u3046\u3093\u3058\u3083\u306a\u304f\u3066\u3001\"left\"\u3084\"right\"\u306b\u52a0\u3048\u3066\"start\"\u3084\"end\"\u3082\u4f7f\u3048\u308b\u3088\u3063\u3066\u8a71\u306a\u306e\u304b\u306a\uff1f<\/p>\n<p>\u9805\u756a7\u306e\u6539\u884c\u304c\u306a\u3044\u3002<\/p>\n<h3>Step 3: Add a font<\/h3>\n<p>roboto\u30d5\u30a9\u30f3\u30c8\u306e\u8ffd\u52a0\u624b\u9806\u306f3,4\u3092\u5909\u3048\u308b\u3079\u304d\u3067\u306f\uff1f<br \/>\n\u753b\u9762\u914d\u7f6e\u304c\u9006\u306a\u306e\u3067\u3001\u975e\u5e38\u306b\u5fae\u5999\u306a\u304c\u3089\u3082\u9006\u6d41\u624b\u9806\u306b\u601d\u3048\u308b\u3002<\/p>\n<blockquote><p>A style is a collection of attributes that specify the appearance and format for a view.<\/p><\/blockquote>\n<p>\u30b9\u30bf\u30a4\u30eb\u306f\u30d3\u30e5\u30fc\u306e\u5916\u89b3\u3084\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3092\u6307\u5b9a\u3059\u308b\u5c5e\u6027\u306e\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3067\u3042\u308b\u3068\u2026\u03c6(\uff65\u03c9\uff65\uff40 )\uff92\uff93\uff92\uff93\u2026<\/p>\n<hr width=\"90%\">\n<h2>7. Task: Add an ImageView<\/h2>\n<h4>6.To rename the id of the ImageView, right-click on \"@+id\/imageView\" and select Refactor &gt; Rename.<\/h4>\n<p>\u306e\u901a\u308a\u306b\u3059\u308b\u3068<span class=\"os\">The resource name must start with a letter<\/span>\u3068\u3044\u3046\u30a8\u30e9\u30fc\u304c\u51fa\u3066\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u51fa\u6765\u306a\u3044\u3002\"@+id\"\u306f\u81ea\u52d5\u88dc\u5b8c\u3055\u308c\u308b\u306e\u304b\u3001\u9664\u53bb\u3057\u3066\u6b8b\u308a\u306e\"star_image\"\u3060\u3051\u5165\u529b\u3059\u308c\u3070\u3044\u3044\u306e\u304b\u306a\u3002<\/p>\n<p>\u9805\u756a10\u3067OK\u306f\u4e8c\u56de\u30af\u30ea\u30c3\u30af\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u304b\uff1f<\/p>\n<p>\u661f\u30de\u30fc\u30af(\u30a2\u30b9\u30bf\u30ea\u30b9\u30af?)2\u3064\u306f\u4f55\u3092\u610f\u5473\u3057\u3066\u308b\u3093\u3060\u3063\u3051\u304b\u2026<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Android Kotlin \u306e\u57fa\u790e\u306e\u305f\u3081\u306e Codelab \u3068\u8a00\u3044\u3064\u3064\u3001\u307e\u3060\u9014\u4e2d(\uff89\u2200`) \u307e\u3060Lesson4\u307e\u3067\u3057\u304b\u7d42\u308f\u3063\u3066\u306a\u3044\u3002 \u300eWelcome to Android Basics in Kotlin\u300f\u3068\u7570\u306a\u308a\u3001...  <a class=\"excerpt-read-more\" href=\"https:\/\/mole-kingdom.com\/wpbl\/2021\/07\/06\/24927.html\" title=\"Read \u300eAndroid Kotlin Fundamentals\u300f\u3092\u3084\u3063\u305f(1)\">\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-24927","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-6u3","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":24932,"url":"https:\/\/mole-kingdom.com\/wpbl\/2021\/07\/09\/24932.html","url_meta":{"origin":24927,"position":0},"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":24934,"url":"https:\/\/mole-kingdom.com\/wpbl\/2021\/07\/12\/24934.html","url_meta":{"origin":24927,"position":1},"title":"\u300eAndroid Kotlin Fundamentals\u300f\u3092\u3084\u3063\u305f(3)","author":"moleking","date":"2021\u5e747\u670812\u65e5","format":false,"excerpt":"Android Kotlin Fundamentals 02.4:Data binding basi\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":24927,"position":2},"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":24935,"url":"https:\/\/mole-kingdom.com\/wpbl\/2021\/07\/15\/24935.html","url_meta":{"origin":24927,"position":3},"title":"\u300eAndroid Kotlin Fundamentals\u300f\u3092\u3084\u3063\u305f(4)","author":"moleking","date":"2021\u5e747\u670815\u65e5","format":false,"excerpt":"Android Kotlin Fundamentals: Lifecycles and loggin\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":24757,"url":"https:\/\/mole-kingdom.com\/wpbl\/2021\/06\/14\/24757.html","url_meta":{"origin":24927,"position":4},"title":"\u300eWelcome to Android Basics in Kotlin\u300f\u3092\u3084\u3063\u305f(1)","author":"moleking","date":"2021\u5e746\u670814\u65e5","format":false,"excerpt":"kotlin\u306e\u5b66\u7fd2\u3064\u3044\u3067\u306bAndroid\u306b\u3064\u3044\u3066\u306e\u5fa9\u7fd2\u3092\u3057\u3088\u3046\u3068Welcome to Android\u2026","rel":"","context":"Android","block_context":{"text":"Android","link":"https:\/\/mole-kingdom.com\/wpbl\/category\/os\/android"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mole-kingdom.com\/wpbl\/wp-content\/uploads\/2021\/06\/notcontainerror.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mole-kingdom.com\/wpbl\/wp-content\/uploads\/2021\/06\/notcontainerror.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/mole-kingdom.com\/wpbl\/wp-content\/uploads\/2021\/06\/notcontainerror.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":22833,"url":"https:\/\/mole-kingdom.com\/wpbl\/2020\/12\/13\/22833.html","url_meta":{"origin":24927,"position":5},"title":"\uff3c\uff7a\uff6f\uff84\uff98\uff5e\uff9d\uff0f","author":"moleking","date":"2020\u5e7412\u670813\u65e5","format":false,"excerpt":"\u30ac\u30c1\u3067\u52c9\u5f37\u3059\u308b\u6c17\u3082\u4f55\u304b\u3092\u4f5c\u308b\u4e88\u5b9a\u3082\u306a\u3044\u3082\u306e\u306e\u3001\u4eca\u5e74\u306f\u4f59\u308a\u306b\u3082\u4f55\u3082\u3057\u306a\u304b\u3063\u305f\u306e\u3067\u3001\u73fe\u5b9f\u9003\u907f\u7684\u306bkotl\u2026","rel":"","context":"kotlin","block_context":{"text":"kotlin","link":"https:\/\/mole-kingdom.com\/wpbl\/category\/programming\/kotlin"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/mole-kingdom.com\/wpbl\/wp-json\/wp\/v2\/posts\/24927","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=24927"}],"version-history":[{"count":7,"href":"https:\/\/mole-kingdom.com\/wpbl\/wp-json\/wp\/v2\/posts\/24927\/revisions"}],"predecessor-version":[{"id":24942,"href":"https:\/\/mole-kingdom.com\/wpbl\/wp-json\/wp\/v2\/posts\/24927\/revisions\/24942"}],"wp:attachment":[{"href":"https:\/\/mole-kingdom.com\/wpbl\/wp-json\/wp\/v2\/media?parent=24927"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mole-kingdom.com\/wpbl\/wp-json\/wp\/v2\/categories?post=24927"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mole-kingdom.com\/wpbl\/wp-json\/wp\/v2\/tags?post=24927"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}