{"id":502,"date":"2023-11-20T23:06:42","date_gmt":"2023-11-20T23:06:42","guid":{"rendered":"https:\/\/javigomez.org\/?p=502"},"modified":"2025-09-29T20:33:55","modified_gmt":"2025-09-29T20:33:55","slug":"10-01-kotlin-intent","status":"publish","type":"post","link":"https:\/\/javigomez.org\/index.php\/2023\/11\/20\/10-01-kotlin-intent\/","title":{"rendered":"10.01. Kotlin- Intent"},"content":{"rendered":"\n<p>Un Intent es un objeto que proporciona una descripci\u00f3n de una operaci\u00f3n a realizar, como iniciar una actividad, enviar un mensaje de difusi\u00f3n o iniciar un servicio. Los Intent se utilizan para comunicarse entre componentes de la aplicaci\u00f3n y tambi\u00e9n entre aplicaciones.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>activity_main.xml<\/strong>\n\n&lt;?xml version=\"1.0\" encoding=\"utf-8\"?>\n&lt;LinearLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n    xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"\n    xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\">\n    &lt;TextView\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:textSize=\"35sp\"\n        android:textStyle=\"bold\"\n        android:layout_gravity=\"center\"\n        android:layout_margin=\"50dp\"\n        android:text=\"Escribe tu nombre\"\/>\n    &lt;EditText\n        android:id=\"@+id\/etName\"\n        android:layout_width=\"300dp\"\n        android:layout_margin=\"50dp\"\n        android:layout_height=\"wrap_content\"\n        android:layout_gravity=\"center\"\/>\n    &lt;Button\n        android:id=\"@+id\/btnBoton\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:backgroundTint=\"@color\/orange\"\n        android:text=\"Bot\u00f3n\"\n        android:textColor=\"@color\/black\"\n        android:layout_gravity=\"center\"\/>\n&lt;\/LinearLayout>\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>activity_result.xml<\/strong>\n\n&lt;?xml version=\"1.0\" encoding=\"utf-8\"?>\n&lt;LinearLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n    xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"\n    xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\">\n\n    &lt;TextView\n        android:id=\"@+id\/tvResult\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"Prueba\"\n        android:textSize=\"35sp\"\n        android:layout_gravity=\"center\"\n        android:layout_marginTop=\"100dp\"\/>\n&lt;\/LinearLayout>\n<\/code><\/pre>\n\n\n\n<p>Llamada sin pasar par\u00e1metros<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>package com.javi.u10a\n\nimport android.content.Intent\nimport androidx.appcompat.app.AppCompatActivity\nimport android.os.Bundle\nimport android.widget.Button\n\nclass MainActivity : AppCompatActivity() {\n    override fun onCreate(savedInstanceState: Bundle?) {\n        super.onCreate(savedInstanceState)\n        setContentView(R.layout.activity_main)\n\n        val btnBoton=findViewById&lt;Button>(R.id.btnBoton)\n        btnBoton.setOnClickListener {\n            val resultA= Intent(this,ResultActivity::class.java)\n            startActivity(resultA)\n        }\n\n    }\n}\n<\/code><\/pre>\n\n\n\n<p><strong>Paso de par\u00e1metros con extra<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>MainActivity.kt<\/strong>\n\npackage com.javi.u10a\n\nimport android.content.Intent\nimport androidx.appcompat.app.AppCompatActivity\nimport android.os.Bundle\nimport android.util.Log\nimport android.widget.Button\nimport android.widget.EditText\n\nclass MainActivity : AppCompatActivity() {\n    override fun onCreate(savedInstanceState: Bundle?) {\n        super.onCreate(savedInstanceState)\n        setContentView(R.layout.activity_main)\n\n        val btnBoton = findViewById&lt;Button>(R.id.btnBoton)\n        val etName = findViewById&lt;EditText>(R.id.etName)\n        btnBoton.setOnClickListener {\n            if (etName.text.isNotEmpty()) {\n                val resultA = Intent(this, ResultActivity::class.java)\n                resultA.putExtra(\"NOMBRE\",etName.text.toString())\n                startActivity(resultA)\n            }\n        }\n\n    }\n}<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>ResultActivity.kt<\/strong>\n\npackage com.javi.u10a\n\nimport androidx.appcompat.app.AppCompatActivity\nimport android.os.Bundle\nimport android.util.Log\nimport android.widget.TextView\n\nclass ResultActivity : AppCompatActivity() {\n    override fun onCreate(savedInstanceState: Bundle?) {\n        super.onCreate(savedInstanceState)\n        setContentView(R.layout.activity_result)\n\n        val nombre:String = intent.extras?.getString(\"NOMBRE\").orEmpty()\n\n        val tvResult=findViewById&lt;TextView>(R.id.tvResult)\n        tvResult.text=nombre\n    }\n}\n<\/code><\/pre>\n\n\n\n<p><strong>Paso de par\u00e1metros con companion (clase est\u00e1tica en Kotlin)<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>MainActivity.kt<\/strong>\n\npackage com.javi.u10a\n\nimport android.content.Intent\nimport androidx.appcompat.app.AppCompatActivity\nimport android.os.Bundle\nimport android.util.Log\nimport android.widget.Button\nimport android.widget.EditText\n\nclass MainActivity : AppCompatActivity() {\n\n    companion object{\n        lateinit var nombre:String\n    }\n\n    override fun onCreate(savedInstanceState: Bundle?) {\n        super.onCreate(savedInstanceState)\n        setContentView(R.layout.activity_main)\n\n        val btnBoton = findViewById&lt;Button>(R.id.btnBoton)\n        val etName = findViewById&lt;EditText>(R.id.etName)\n        btnBoton.setOnClickListener {\n            if (etName.text.isNotEmpty()) {\n                nombre=etName.text.toString()\n                val resultA = Intent(this, ResultActivity::class.java)\n                startActivity(resultA)\n            }\n        }\n\n    }\n}\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>ResultActivity.kt<\/strong>\n\npackage com.javi.u10a\n\nimport androidx.appcompat.app.AppCompatActivity\nimport android.os.Bundle\nimport android.util.Log\nimport android.widget.TextView\nimport com.javi.u10a.MainActivity.Companion.nombre\n\nclass ResultActivity : AppCompatActivity() {\n    override fun onCreate(savedInstanceState: Bundle?) {\n        super.onCreate(savedInstanceState)\n        setContentView(R.layout.activity_result)\n\n        val tvResult=findViewById&lt;TextView>(R.id.tvResult)\n        tvResult.text=nombre\n    }\n}\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Kotlin U10 01 Intent\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/A3LUewLNucQ?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Un Intent es un objeto que proporciona una descripci\u00f3n de una operaci\u00f3n a realizar, como iniciar una actividad, enviar un mensaje de difusi\u00f3n o iniciar &hellip; <\/p>\n","protected":false},"author":1,"featured_media":347,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[18,31,85,142,199,212],"class_list":["post-502","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kotlin","tag-activity","tag-android","tag-companion","tag-extra","tag-intent","tag-kotlin"],"_links":{"self":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts\/502","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/comments?post=502"}],"version-history":[{"count":1,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts\/502\/revisions"}],"predecessor-version":[{"id":923,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts\/502\/revisions\/923"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/media\/347"}],"wp:attachment":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/media?parent=502"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/categories?post=502"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/tags?post=502"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}