{"id":14,"date":"2012-07-02T19:57:00","date_gmt":"2012-07-02T19:57:00","guid":{"rendered":"http:\/\/cyol.fr\/blogwp\/?p=14"},"modified":"2013-11-14T16:24:09","modified_gmt":"2013-11-14T15:24:09","slug":"srdice-tests-etendus-1-switch-entre-2-activity","status":"publish","type":"post","link":"https:\/\/cyol.fr\/blog\/post\/srdice-tests-etendus-1-switch-entre-2-activity\/","title":{"rendered":"SRDice Tests Etendus 1 : switch entre 2 activity"},"content":{"rendered":"<p>On s&rsquo;attaque au gros : ajouter une fonctionnalit\u00e9 de Tests \u00c9tendus \u00e0 SRDice. Le plus propre est de cr\u00e9er une nouvelle interface, et donc (si j&rsquo;ai bien tout compris) une nouvelle Activity.<\/p>\n<p><!--more--><\/p>\n<p>Dans un premier temps on va d\u00e9j\u00e0 voir \u00e0 g\u00e9rer l&rsquo;appel \u00e0 une nouvelle Activity. Un petit tutoriel que j&rsquo;ai trouv\u00e9 : <a title=\"&quot;Le Blog d'une Codeuse&quot; : tutoriel android inter activit\u00e9\" href=\"http:\/\/dahliascherr.blogspot.fr\/2012\/01\/tutoriel-android-inter-activite.html\" hreflang=\"fr\">http:\/\/dahliascherr.blogspot.fr\/2012\/01\/tutoriel-android-inter-activite.html<\/a><\/p>\n<p>De mon cot\u00e9, j&rsquo;ai d\u00e9cid\u00e9 de le faire de mani\u00e8re assez simple avec un lien dans le menu.<\/p>\n<p>Dans le onMenuItemSelected, on va rajouter le cas de notre nouveau lien de menu et son ex\u00e9cution :<\/p>\n<pre class=\"brush:java\">public boolean onMenuItemSelected(int featureId, MenuItem item) {\r\n\tswitch (item.getItemId()) {\r\n\tcase R.id.menu_extended:\r\n\t\tIntent intent = new Intent(getApplicationContext(), SRDExtendedActivity.class);\r\n\t\t\/\/ lancement de l'activit\u00e9 ShowActivity\r\n\t\tstartActivity(intent);\r\n\t\treturn true;<\/pre>\n<p>Il faut d\u00e9sormais cr\u00e9er la nouvelle Activity, mais avant cela ne pas oublier de la d\u00e9clarer dans le AndroidManifest :<\/p>\n<pre class=\"brush:xml\">&lt;activity android:name=\"fr.cyol.android.shadowrundice.SRDExtendedActivity\"&gt;\r\n&lt;\/activity&gt;<\/pre>\n<p>Et maintenant on cr\u00e9e une nouvelle classe nomm\u00e9e SRDExtendedActivity et \u00e9tendant Activity :<\/p>\n<pre class=\"brush:java\">package fr.cyol.android.shadowrundice;\r\n\r\nimport android.app.Activity;\r\nimport android.os.Bundle;\r\nimport android.widget.Toast;\r\n\r\npublic class SRDExtendedActivity extends Activity{\r\n\t@Override\r\n\tprotected void onCreate(Bundle savedInstanceState) {\r\n\t\tsuper.onCreate(savedInstanceState);\r\n\t\tToast.makeText(getApplicationContext(), \"Nouvelle Activity\", Toast.LENGTH_SHORT).show();\r\n\t}\r\n}<\/pre>\n<p>A partir de l\u00e0, il faut cr\u00e9er le contenu, les \u00e9couteurs, &#8230;<\/p>\n<p>Et le menu ?<\/p>\n<p>Je r\u00e9alise que certaines choses seront communes \u00e0 toutes les activity de SRDice. Jusque l\u00e0, j&rsquo;avais une seule activity et 90% de mon code \u00e9tait dedans. Il va falloir commencer \u00e0 songer \u00e0 une m\u00e9thode de mutualisation et factorisation pour \u00e9viter d&rsquo;alourdir inutilement l&rsquo;application&#8230;<\/p>\n<p>Bref, une refonte de l&rsquo;architecture. Ce qui fera l&rsquo;objet d&rsquo;un (de ?) futur(s?) billet(s?).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>On s&rsquo;attaque au gros : ajouter une fonctionnalit\u00e9 de Tests \u00c9tendus \u00e0 SRDice. Le plus propre est de cr\u00e9er une nouvelle interface, et donc (si j&rsquo;ai bien tout compris) une nouvelle Activity. Dans un premier temps on va d\u00e9j\u00e0 voir \u00e0 g\u00e9rer l&rsquo;appel \u00e0 une nouvelle Activity. [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":124,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,2,4],"tags":[26,114,30,112,32],"class_list":["post-14","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android","category-developpement","category-srdice","tag-activity","tag-android","tag-androidmanifest","tag-srdice","tag-tests-etendus","odd"],"_links":{"self":[{"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/posts\/14","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/comments?post=14"}],"version-history":[{"count":5,"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/posts\/14\/revisions"}],"predecessor-version":[{"id":1086,"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/posts\/14\/revisions\/1086"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/media\/124"}],"wp:attachment":[{"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/media?parent=14"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/categories?post=14"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/tags?post=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}