{"id":1313,"date":"2022-09-14T19:38:53","date_gmt":"2022-07-25T13:27:05","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/uncategorized\/creating-an-android-spinner-by-utilizing-kotlin\/"},"modified":"2024-03-17T11:44:06","modified_gmt":"2024-03-17T11:44:06","slug":"creating-an-android-spinner-by-utilizing-kotlin","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/creating-an-android-spinner-by-utilizing-kotlin\/","title":{"rendered":"Creating an Android Spinner by utilizing Kotlin."},"content":{"rendered":"<p>In this tutorial, we will talk about and implement Spinners in our Android app using Kotlin. The Android Spinner is utilized to generate a dropdown menu on the display.<\/p>\n<p>What are you going to be taught?<\/p>\n<ul class=\"post-ul\">\n<li>Creating Spinners through XML and Programmatically<\/li>\n<li>Setting a prompt on the Spinner.<\/li>\n<li>Creating a custom layout for the Spinner.<\/li>\n<li>Handling Click Listeners and Display a Toast message.<\/li>\n<li>Preventing the Click Listener from being fired automatically for the first time.<\/li>\n<\/ul>\n<h2>What does Android Spinner refer to?<\/h2>\n<p>Spinners are similar to drop-down menus that contain a selection of items. Once a value is chosen, the Spinner reverts back to its default state with the selected value. However, starting from Android 3.0, it is no longer possible to display a prompt as the default state in the Spinner. Instead, the first item in the list is shown. A Spinner in <a href=\"https:\/\/de.wikipedia.org\/wiki\/Android_(Betriebssystem)\">Android<\/a> functions similarly to a phone charger being connected to an electricity board using an adapter. The adapter allows the Spinner (phone) to be loaded with data, just like how it provides electricity to the phone. In this case, the adapter specifies both the data and the layout for the items to be loaded in the Spinner.<\/p>\n<h2>Events for Spinner Callback<\/h2>\n<p>The AdapterView.onItemSelectedListener interface is utilized for invoking the callbacks of the Spinner click event. It comprises of two methods:<\/p>\n<ul class=\"post-ul\">\n<li>onItemSelected<\/li>\n<li>onNothingSelected<\/li>\n<\/ul>\n<p>In the upcoming portion, we will establish a fresh Android Studio Project and integrate Spinners into our Application. We will modify the designs and gain proficiency in managing various situations.<\/p>\n<h2>Project in Kotlin for an Android Spinner.<\/h2>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/655dc3f6cdcf9b67579ff677\/10-0.png\" alt=\"android spinner kotlin\" \/><\/div>\n<h3>1. XML Code for Layout Design<\/h3>\n<p>Below is the code provided for the activity_main.xml layout file.<\/p>\n<pre class=\"post-pre\"><code>&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;LinearLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n    xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\r\n    android:layout_width=\"match_parent\"\r\n    android:layout_height=\"match_parent\"\r\n    android:orientation=\"vertical\"\r\n    android:id=\"@+id\/linearLayout\"\r\n    android:gravity=\"center\"\r\n    tools:context=\".MainActivity\"&gt;\r\n\r\n    &lt;Spinner\r\n        android:id=\"@+id\/mySpinner\"\r\n        android:layout_width=\"match_parent\"\r\n        android:spinnerMode=\"dialog\"\r\n        android:layout_height=\"wrap_content\" \/&gt;\r\n\r\n&lt;\/LinearLayout&gt;\r\n<\/code><\/pre>\n<p>Currently, it holds only one Spinner where android:spinnerMode can either be set as dialog or dropdown.<\/p>\n<p>To display prompts, set the spinnerMode value to dialog.<\/p>\n<h3>2. XML Code for a Spinner<\/h3>\n<p>Below is the code for spinner_right_aligned.xml.<\/p>\n<pre class=\"post-pre\"><code>&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;TextView xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n    android:id=\"@+id\/textView\"\r\n    android:layout_width=\"match_parent\"\r\n    android:layout_height=\"wrap_content\"\r\n    android:gravity=\"end\"\r\n    android:padding=\"15dp\"\r\n    android:textAlignment=\"gravity\"\r\n    android:textColor=\"@color\/colorPrimary\"\r\n    android:textSize=\"16sp\"\r\n    \/&gt;\r\n\r\n<\/code><\/pre>\n<h3>Option 1: Kotlin Code for the MainActivity<\/h3>\n<p>Here&#8217;s the provided code for the MainActivity.kt class.<\/p>\n<pre class=\"post-pre\"><code>package net.androidly.androidspinnerkotlin\r\n\r\nimport android.content.Context\r\nimport android.support.v7.app.AppCompatActivity\r\nimport android.os.Bundle\r\nimport android.view.Gravity\r\nimport android.view.View\r\nimport android.widget.*\r\nimport kotlinx.android.synthetic.main.activity_main.*\r\n\r\nclass MainActivity : AppCompatActivity(), AdapterView.OnItemSelectedListener {\r\n\r\n\r\n    var languages = arrayOf(\"Java\", \"PHP\", \"Kotlin\", \"Javascript\", \"Python\", \"Swift\")\r\n    val NEW_SPINNER_ID = 1\r\n\r\n    override fun onCreate(savedInstanceState: Bundle?) {\r\n        super.onCreate(savedInstanceState)\r\n        setContentView(R.layout.activity_main)\r\n\r\n\r\n        var aa = ArrayAdapter(this, android.R.layout.simple_spinner_item, languages)\r\n        aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)\r\n\r\n        with(mySpinner)\r\n        {\r\n            adapter = aa\r\n            setSelection(0, false)\r\n            onItemSelectedListener = this@MainActivity\r\n            prompt = \"Select your favourite language\"\r\n            gravity = Gravity.CENTER\r\n\r\n        }\r\n\r\n        val spinner = Spinner(this)\r\n        spinner.id = NEW_SPINNER_ID\r\n\r\n        val ll = LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT)\r\n\r\n        ll.setMargins(10, 40, 10, 10)\r\n        linearLayout.addView(spinner)\r\n\r\n        aa = ArrayAdapter(this, R.layout.spinner_right_aligned, languages)\r\n        aa.setDropDownViewResource(R.layout.spinner_right_aligned)\r\n\r\n        with(spinner)\r\n        {\r\n            adapter = aa\r\n            setSelection(0, false)\r\n            onItemSelectedListener = this@MainActivity\r\n            layoutParams = ll\r\n            prompt = \"Select your favourite language\"\r\n            setPopupBackgroundResource(R.color.material_grey_600)\r\n\r\n        }\r\n\r\n    }\r\n\r\n    override fun onNothingSelected(parent: AdapterView&lt;*&gt;?) {\r\n        showToast(message = \"Nothing selected\")\r\n    }\r\n\r\n    override fun onItemSelected(parent: AdapterView&lt;*&gt;?, view: View?, position: Int, id: Long) {\r\n\r\n        when (view?.id) {\r\n            1 -&gt; showToast(message = \"Spinner 2 Position:${position} and language: ${languages[position]}\")\r\n            else -&gt; {\r\n                showToast(message = \"Spinner 1 Position:${position} and language: ${languages[position]}\")\r\n            }\r\n        }\r\n    }\r\n\r\n    private fun showToast(context: Context = applicationContext, message: String, duration: Int = Toast.LENGTH_LONG) {\r\n        Toast.makeText(context, message, duration).show()\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>Key ideas:<\/p>\n<ul class=\"post-ul\">\n<li>Thanks to Kotlin Android extensions, the XML Spinner widget is automatically available in our Kotlin Activity class.<\/li>\n<li>We\u2019ve created an arrayOf strings that consist of programming languages. These are filled in the adapter using the ArrayAdapter.<\/li>\n<li>The setDropDownViewResource is used to set the layout for the selected state and the spinner list rows.<\/li>\n<li>The android.R.layout.simple_spinner_item is used to set the default android SDK layout. By default, the TextView is left aligned in this type of layout.<\/li>\n<\/ul>\n<p>We have now generated another Spinner using programming code that loads the layouts from the spinner_right_aligned.xml file.<\/p>\n<p>To avoid the triggering of the OnItemSelected methods of the Spinner when the Activity is created, use setSelection(0, false).<\/p>\n<p>&#8211; How does it function? The Activity is informed that the initial spinner item has been selected by the setSelection() method. This statement must be placed before onItemSelectedListener = this. To set the background color of the dropdown list, setPopupBackgroundResource is utilized. In the onItemSelected function, a Toast is triggered for the corresponding spinner item using the when statement. Thanks to Kotlin and functions with default values, we have minimized the lengthy Toast call.<\/p>\n<h3>The output of the Kotlin app for Spinner.<\/h3>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/655dc3f6cdcf9b67579ff677\/28-0.gif\" alt=\"android spinner kotlin output\" \/><\/div>\n<div><\/div>\n<div>\n<p>More tutorials<\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/creating-an-android-progressbar-utilizing-kotlin\/\" target=\"_blank\" rel=\"noopener\">Creating an Android ProgressBar utilizing Kotlin.<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/using-kotlin-android-sharedpreferences\/\" target=\"_blank\" rel=\"noopener\">Using Kotlin Android SharedPreferences<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/a-class-in-kotlin-that-is-sealed\/\" target=\"_blank\" rel=\"noopener\">A class in Kotlin that is sealed.<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/spring-rest-xml-and-json\/\" target=\"_blank\" rel=\"noopener\">One example of Spring REST XML and JSON<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<p><a class=\"LinkSuggestion__Link-sc-1gewdgc-4 cLBplk\" href=\"https:\/\/www.silicloud.com\/blog\/convert-a-string-to-an-xml-document-in-java-and-convert-an-xml-document-to-a-string\/\" target=\"_blank\" rel=\"noopener\">Convert string to XML document in Java<span class=\"sc-gswNZR eASTkv\">(Opens in a new browser tab)<\/span><\/a><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial, we will talk about and implement Spinners in our Android app using Kotlin. The Android Spinner is utilized to generate a dropdown menu on the display. What are you going to be taught? Creating Spinners through XML and Programmatically Setting a prompt on the Spinner. Creating a custom layout for the Spinner. [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-1313","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Creating an Android Spinner by utilizing Kotlin. - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"we will talk about and implement Spinners in our Android app using Kotlin. The Android Spinner is utilized to generate a dropdown menu on the\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/creating-an-android-spinner-by-utilizing-kotlin\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Creating an Android Spinner by utilizing Kotlin.\" \/>\n<meta property=\"og:description\" content=\"we will talk about and implement Spinners in our Android app using Kotlin. The Android Spinner is utilized to generate a dropdown menu on the\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/creating-an-android-spinner-by-utilizing-kotlin\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-25T13:27:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-17T11:44:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/655dc3f6cdcf9b67579ff677\/10-0.png\" \/>\n<meta name=\"author\" content=\"Benjamin Taylor\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Benjamin Taylor\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/creating-an-android-spinner-by-utilizing-kotlin\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/creating-an-android-spinner-by-utilizing-kotlin\/\"},\"author\":{\"name\":\"Benjamin Taylor\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9\"},\"headline\":\"Creating an Android Spinner by utilizing Kotlin.\",\"datePublished\":\"2022-07-25T13:27:05+00:00\",\"dateModified\":\"2024-03-17T11:44:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/creating-an-android-spinner-by-utilizing-kotlin\/\"},\"wordCount\":610,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/creating-an-android-spinner-by-utilizing-kotlin\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/creating-an-android-spinner-by-utilizing-kotlin\/\",\"name\":\"Creating an Android Spinner by utilizing Kotlin. - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2022-07-25T13:27:05+00:00\",\"dateModified\":\"2024-03-17T11:44:06+00:00\",\"description\":\"we will talk about and implement Spinners in our Android app using Kotlin. The Android Spinner is utilized to generate a dropdown menu on the\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/creating-an-android-spinner-by-utilizing-kotlin\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/creating-an-android-spinner-by-utilizing-kotlin\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/creating-an-android-spinner-by-utilizing-kotlin\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Creating an Android Spinner by utilizing Kotlin.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9\",\"name\":\"Benjamin Taylor\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g\",\"caption\":\"Benjamin Taylor\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/benjamintaylor\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Creating an Android Spinner by utilizing Kotlin. - Blog - Silicon Cloud","description":"we will talk about and implement Spinners in our Android app using Kotlin. The Android Spinner is utilized to generate a dropdown menu on the","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/creating-an-android-spinner-by-utilizing-kotlin\/","og_locale":"en_US","og_type":"article","og_title":"Creating an Android Spinner by utilizing Kotlin.","og_description":"we will talk about and implement Spinners in our Android app using Kotlin. The Android Spinner is utilized to generate a dropdown menu on the","og_url":"https:\/\/www.silicloud.com\/blog\/creating-an-android-spinner-by-utilizing-kotlin\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2022-07-25T13:27:05+00:00","article_modified_time":"2024-03-17T11:44:06+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/655dc3f6cdcf9b67579ff677\/10-0.png"}],"author":"Benjamin Taylor","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Benjamin Taylor","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/creating-an-android-spinner-by-utilizing-kotlin\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/creating-an-android-spinner-by-utilizing-kotlin\/"},"author":{"name":"Benjamin Taylor","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9"},"headline":"Creating an Android Spinner by utilizing Kotlin.","datePublished":"2022-07-25T13:27:05+00:00","dateModified":"2024-03-17T11:44:06+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/creating-an-android-spinner-by-utilizing-kotlin\/"},"wordCount":610,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/creating-an-android-spinner-by-utilizing-kotlin\/","url":"https:\/\/www.silicloud.com\/blog\/creating-an-android-spinner-by-utilizing-kotlin\/","name":"Creating an Android Spinner by utilizing Kotlin. - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2022-07-25T13:27:05+00:00","dateModified":"2024-03-17T11:44:06+00:00","description":"we will talk about and implement Spinners in our Android app using Kotlin. The Android Spinner is utilized to generate a dropdown menu on the","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/creating-an-android-spinner-by-utilizing-kotlin\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/creating-an-android-spinner-by-utilizing-kotlin\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/creating-an-android-spinner-by-utilizing-kotlin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Creating an Android Spinner by utilizing Kotlin."}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9","name":"Benjamin Taylor","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g","caption":"Benjamin Taylor"},"url":"https:\/\/www.silicloud.com\/blog\/author\/benjamintaylor\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/1313","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=1313"}],"version-history":[{"count":0,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/1313\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=1313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=1313"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=1313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}