Initial learning for Android development activity and intent
Last Update:2015-07-27
Source: Internet
Author: User
<span id="Label3"></p><p><p>The development of Android is mainly based on Activity.</p></p><p><p>To implement an activity, you must register it in the Androidmanifest.xml file.</p></p><pre><span style="color: #008080;"><span style="color: #008080;">1</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">Activity</span></span><span style="color: #008080;"><span style="color: #008080;">2</span></span> <span style="color: #ff0000;"><span style="color: #ff0000;">Android:name</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">=". Firstactivity "</span></span><span style="color: #008080;"><span style="color: #008080;">3</span></span> <span style="color: #ff0000;"><span style="color: #ff0000;">Android:label</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">= "this is the first activity which I code"</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span><span style="color: #008080;"><span style="color: #008080;">4</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">Intent-filter</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span><span style="color: #008080;"><span style="color: #008080;">5</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">Action</span></span><span style="color: #ff0000;"><span style="color: #ff0000;">Android:name</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">= "android.intent.action.MAIN"</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">/></span></span><span style="color: #008080;"><span style="color: #008080;">6</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">category</span></span><span style="color: #ff0000;"><span style="color: #ff0000;">Android:name</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">= "android.intent.category.LAUNCHER"</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">/></span></span><span style="color: #008080;"><span style="color: #008080;">7</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"></</span></span><span style="color: #800000;"><span style="color: #800000;">Intent-filter</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span> <span style="color: #008080;"><span style="color: #008080;">8</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></</span></span><span style="color: #800000;"><span style="color: #800000;">Activity</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span></pre><p><p></p></p><p><p><intent-filter> is an intent filter android.intent.action.MAIN and Android.intent.category.LAUNCHER to indicate that this is the primary activity and the first startup activity</p></p><p><p>Intent can be used as a direct connection to two activity</p></p><pre><pre><span style="color: #008080;">1</span> Intent intent=<span style="color: #0000ff;">new</span> Intent (secondactivity. <span style="color: #0000ff;"> </span>this, Thirdactivity. <span style="color: #0000ff;">class</span> <span style="color: #000000;">); </span> <span style="color: #008080;">2</span> StartActivity (intent);</pre></pre><p><p>This is an explicit call to two activities</p></p><p><p>If an implicit call is to match the action with the category</p></p><pre><pre><span style="color: #008080;">1</span> <span style="color: #0000ff;"></span> public <span style="color: #0000ff;">void</span> <span style="color: #000000;">OnClick (View v) {</span><span style="color: #008080;">2</span> <span style="color: #008080;">3</span> Intent intent=<span style="color: #0000ff;">New</span> Intent ("com.example.activitytest.ACTION_START"<span style="color: #000000;">);</span> <span style="color: #008080;">4</span> Intent.addcategory ("com.example.acivitytest.MY_Category"<span style="color: #000000;">);</span> <span style="color: #008080;">5</span> <span style="color: #000000;"> startactivity (intent);</span> <span style="color: #008080;">6</span> <span style="color: #000000;"> }</span><span style="color: #008080;">7</span> });</pre></pre><p><p>If a intent object is instantiated on a string, the action that is registered in Androidmanifest.xml can only have one action per activity and the category may have multiple</p></p><p><p>If intent does not add category then the default category is Android.intent.category.DEFAULT</p></p><p><p>The preceding code invokes the androidmanifest.xml of the activity as follows</p></p><pre><span style="color: #008080;"><span style="color: #008080;">1</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">Activity</span></span><span style="color: #008080;"><span style="color: #008080;">2</span></span> <span style="color: #ff0000;"><span style="color: #ff0000;">Android:name</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">=". Secondactivity "</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span><span style="color: #008080;"><span style="color: #008080;">3</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">Intent-filter</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span><span style="color: #008080;"><span style="color: #008080;">4</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">Action</span></span><span style="color: #ff0000;"><span style="color: #ff0000;">Android:name</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">= "com.example.activitytest.ACTION_START"</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">/></span></span><span style="color: #008080;"><span style="color: #008080;">5</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">category</span></span><span style="color: #ff0000;"><span style="color: #ff0000;">Android:name</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">= "android.intent.category.DEFAULT"</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">/></span></span><span style="color: #008080;"><span style="color: #008080;">6</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">category</span></span><span style="color: #ff0000;"><span style="color: #ff0000;">Android:name</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">= "com.example.acivitytest.MY_Category"</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">/></span></span><span style="color: #008080;"><span style="color: #008080;">7</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"></</span></span><span style="color: #800000;"><span style="color: #800000;">Intent-filter</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span><span style="color: #008080;"><span style="color: #008080;">8</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></</span></span><span style="color: #800000;"><span style="color: #800000;">Activity</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span></pre><p><p></p></p><p><p>Above is an activity that initiates another activity</p></p><p><p>What if you want to pass a message between two activity? Then we'll use Intent's Putextra method.</p></p><pre><pre><span style="color: #008080;">1</span> String data = "hello"<span style="color: #000000;">;</span> <span style="color: #008080;">2</span> Intent intent=<span style="color: #0000ff;">New</span> Intent (secondactivity. <span style="color: #0000ff;"> </span>this, Thirdactivity. <span style="color: #0000ff;">class</span> <span style="color: #000000;">);</span> <span style="color: #008080;">3</span> Intent.putextra ("test_data"<span style="color: #000000;">, data);</span> <span style="color: #008080;">4</span> StartActivity (intent);</pre></pre><p><p>To accept this in Thirdactivity.</p></p><pre><pre><span style="color: #008080;">1</span> Intent intent=<span style="color: #000000;">getintent (); </span> <span style="color: #008080;">2</span> String Data=intent.getstringextra ("test_data"<span style="color: #000000;">);</span> <span style="color: #008080;">3</span> LOG.D ("thirdactivity", data); </pre></pre><p><p>What if you want to return to the previous level from the previous layer?</p></p><p><p>Then in the start-up activities do not understand the use of the StartActivity method but to use the startactivityforresult and more than one key to the corresponding</p></p><pre><pre><span style="color: #008080;">1</span> <span style="color: #000000;">@Override</span> <span style="color: #008080;">2</span> <span style="color: #0000ff;"></span> public <span style="color: #0000ff;">void</span> <span style="color: #000000;">OnClick (View v) {</span><span style="color: #008080;">3</span> Intent intent=<span style="color: #0000ff;">New</span> Intent (secondactivity. <span style="color: #0000ff;"> </span>this, Thirdactivity. <span style="color: #0000ff;">class</span> <span style="color: #000000;">);</span> <span style="color: #008080;">4</span> Startactivityforresult (intent,1<span style="color: #000000;">);</span> <span style="color: #008080;">5</span> }</pre></pre><p><p>When returning, rewrite a onbackpressed method</p></p><pre><pre><span style="color: #008080;">1</span> <span style="color: #000000;">@Override</span> <span style="color: #008080;">2</span> <span style="color: #0000ff;"></span> public <span style="color: #0000ff;">void</span> <span style="color: #000000;">onbackpressed () {</span><span style="color: #008080;">3</span> Intent intent=<span style="color: #0000ff;">New</span> <span style="color: #000000;"> Intent ();</span> <span style="color: #008080;">4</span> Intent.putextra ("data_return", "hello second"<span style="color: #000000;">);</span> <span style="color: #008080;">5</span> <span style="color: #000000;"> Setresult (result_ok,intent);</span> <span style="color: #008080;">6</span> <span style="color: #000000;"> Finish ();</span> <span style="color: #008080;">7</span> }</pre></pre><p><p>And after returning the same to rewrite an accepted method Onactivityresult has three parameters as follows code</p></p><pre><span style="color: #008080;"><span style="color: #008080;">1</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">protected</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span>Onactivityresult (<span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span>requestcode,<span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span><span style="color: #000000;"><span style="color: #000000;">resultcode,intent Data)</span></span><span style="color: #008080;"><span style="color: #008080;">2</span></span> <span style="color: #000000;"><span style="color: #000000;"> {</span></span><span style="color: #008080;"><span style="color: #008080;">3</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Switch</span></span><span style="color: #000000;"><span style="color: #000000;">(requestcode)</span></span><span style="color: #008080;"><span style="color: #008080;">4</span></span> <span style="color: #000000;"><span style="color: #000000;"> {</span></span><span style="color: #008080;"><span style="color: #008080;">5</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"></span> case</span>1:<span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(resultcode==<span style="color: #000000;"><span style="color: #000000;">Result_ok) {</span></span><span style="color: #008080;"><span style="color: #008080;">6</span></span>String Returneddata=data.getstringextra ("data_return"<span style="color: #000000;"><span style="color: #000000;">);</span></span><span style="color: #008080;"><span style="color: #008080;">7</span></span>LOG.D ("secondactivity"<span style="color: #000000;"><span style="color: #000000;">, returneddata);</span></span><span style="color: #008080;"><span style="color: #008080;">8</span></span> <span style="color: #000000;"><span style="color: #000000;"> }</span></span><span style="color: #008080;"><span style="color: #008080;">9</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"></span> break</span><span style="color: #000000;"><span style="color: #000000;">;</span></span><span style="color: #008080;"><span style="color: #008080;">Ten</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">default</span></span><span style="color: #000000;"><span style="color: #000000;">:</span></span><span style="color: #008080;"><span style="color: #008080;"></span> one</span> <span style="color: #000000;"><span style="color: #000000;"> }</span></span><span style="color: #008080;"><span style="color: #008080;"></span> a</span>}</pre><p><p></p></p><p><p>Initial learning for Android development activity and intent</p></p></span>