{"id":556,"date":"2019-11-11T15:52:41","date_gmt":"2019-11-11T18:52:41","guid":{"rendered":"https:\/\/micheladrianomedeiros.com.br\/blog\/?p=556"},"modified":"2019-11-11T15:55:45","modified_gmt":"2019-11-11T18:55:45","slug":"android-4","status":"publish","type":"post","link":"https:\/\/micheladrianomedeiros.com.br\/blog\/android-4\/","title":{"rendered":"Android #4"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Criando um Novo Projeto Para o\nAndroid<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vamos tentar fazer um\naplicativo onde podemos encontrar academias para treinar e ver opini\u00f5es sobre\nelas. Digo tentar fazer porque nunca fiz um aplicativo para isto, ent\u00e3o vou\nfazendo e escrevendo o artigo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vamos chamar este aplicativo\nde OndeTreinar, o aplicativo deve mostrar o telefone, o endere\u00e7o ou algum\ntrajeto para chegar at\u00e9 a academia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Podemos come\u00e7ar com tr\u00eas telas\nb\u00e1sicas, uma para buscar academias, outra para listar os resultados e uma para\nmostrar os dados completos de uma academia espec\u00edfica.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Agora vamos criar o projeto e\ncome\u00e7ar com a programa\u00e7\u00e3o. N\u00e3o vou mostrar como criar um projeto e chegar na fase\nde programa\u00e7\u00e3o da tela e comportamento porque nos \u00faltimos tr\u00eas artigos foi exatamente\nisto que fizemos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Artigo 1 &#8211; <a href=\"https:\/\/micheladrianomedeiros.com.br\/blog\/android\/\">https:\/\/micheladrianomedeiros.com.br\/blog\/android\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Artigo 2 &#8211; <a href=\"https:\/\/micheladrianomedeiros.com.br\/blog\/android-2\/\">https:\/\/micheladrianomedeiros.com.br\/blog\/android-2\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Artigo 3 &#8211; <a href=\"https:\/\/micheladrianomedeiros.com.br\/blog\/android-3\/\">https:\/\/micheladrianomedeiros.com.br\/blog\/android-3\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vamos montar a tela de busca por\nacademia. Vamos ter um campo de pesquisa para digitar o nome da academia ou cidade.\nVamos adicionar tamb\u00e9m o tipo de academia que ser\u00e1 um campo que ir\u00e1 mostrar alguns\ntipos de academia. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Os tipos ser\u00e3o: low cost, full\nservice, boutique, academia de nicho, academia de muscula\u00e7\u00e3o, academia de\ndan\u00e7a, est\u00fadio de pilates, academia de luta, crossfit, zumba, ballet fitness,\nsamba e muay thai, spinning, artes marciais, hidrogin\u00e1stica e todos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Caso queira conhecer as diferen\u00e7as dos tipos de academia acesse: <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a rel=\"noreferrer noopener\" aria-label=\"Conhe\u00e7a os 4 modelos de academias que bombam no mercado e suas diferen\u00e7as (abre num novo separador)\" href=\"https:\/\/blog.sistemapacto.com.br\/quais-sao-os-tipos-de-academia\/\" target=\"_blank\">Conhe\u00e7a os 4 modelos de academias que bombam no mercado e suas diferen\u00e7as<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a rel=\"noreferrer noopener\" aria-label=\"Conhe\u00e7a os principais tipos de academia de gin\u00e1stica (abre num novo separador)\" href=\"https:\/\/blog.wedologos.com.br\/empreendedorismo\/abrir-negocio\/tipos-de-academia-de-ginastica\/\" target=\"_blank\">Conhe\u00e7a os principais tipos de academia de gin\u00e1stica<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a rel=\"noreferrer noopener\" aria-label=\"5 modalidades de academia para tornar os treinos mais divertidos (abre num novo separador)\" href=\"https:\/\/www.altoastral.com.br\/academia-diversao-durante-treinos\/\" target=\"_blank\">5 modalidades de academia para tornar os treinos mais divertidos<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a rel=\"noreferrer noopener\" aria-label=\"Modalidades de academia: escolha a perfeita para voc\u00ea (abre num novo separador)\" href=\"https:\/\/pratiquefitness.com.br\/blog\/modalidades-de-academia-escolha-perfeita-para-voce\/\" target=\"_blank\">Modalidades de academia: escolha a perfeita para voc\u00ea<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E por \u00faltimo um bot\u00e3o para clicar\ne fazer a pesquisa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Na pasta res->values tem o arquivo chamado strings.xml. Dentro deste arquivo fa\u00e7a a seguinte programa\u00e7\u00e3o:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;resources>\n    &lt;string name=\"app_name\">Onde Treinar&lt;\/string>\n\n    &lt;string-array name=\"types_gym\">\n        &lt;item>Todos&lt;\/item>\n        &lt;item>Academia de Dan\u00e7a&lt;\/item>\n        &lt;item>Academia de Luta&lt;\/item>\n        &lt;item>Academia de Muscula\u00e7\u00e3o&lt;\/item>\n        &lt;item>Academia de Nicho&lt;\/item>\n        &lt;item>Artes Marciais&lt;\/item>\n        &lt;item>Ballet Fitness&lt;\/item>\n        &lt;item>Boutique&lt;\/item>\n        &lt;item>Crossfit&lt;\/item>\n        &lt;item>Est\u00fadio de Pilates&lt;\/item>\n        &lt;item>Full Service&lt;\/item>\n        &lt;item>Hidrogin\u00e1stica&lt;\/item>\n        &lt;item>Low Cost&lt;\/item>\n        &lt;item>Muay Thai&lt;\/item>\n        &lt;item>Samba&lt;\/item>\n        &lt;item>Spinning&lt;\/item>\n        &lt;item>Zumba&lt;\/item>\n    &lt;\/string-array>\n&lt;\/resources><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">O strings.xml cont\u00e9m o nome da\naplica\u00e7\u00e3o e os poss\u00edveis tipos de academia que ser\u00e3o apresentados no componente\nspinner.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No arquivo activity_main.xml digite o seguinte c\u00f3digo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&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=\"fill_parent\"\n    android:layout_height=\"fill_parent\"\n    android:orientation=\"vertical\"\n    tools:context=\".MainActivity\">\n\n    &lt;TextView\n        android:layout_width=\"fill_parent\"\n        android:layout_height=\"wrap_content\"\n        android:padding=\"10dp\"\n        android:text=\"Academia ou Local\"\n        android:textAlignment=\"center\"\n        android:textSize=\"18dp\" \/>\n\n    &lt;EditText\n        android:layout_margin=\"20dp\"\n        android:id=\"@+id\/search_gym\"\n        android:layout_width=\"fill_parent\"\n        android:layout_height=\"wrap_content\" \/>\n\n    &lt;TextView\n        android:layout_width=\"fill_parent\"\n        android:layout_height=\"wrap_content\"\n        android:padding=\"10dp\"\n        android:text=\"Tipo de Academia\"\n        android:textAlignment=\"center\"\n        android:textSize=\"18dp\" \/>\n\n    &lt;androidx.appcompat.widget.AppCompatSpinner\n        android:layout_margin=\"20dp\"\n        android:id=\"@+id\/spinner_type_gym\"\n        android:layout_width=\"fill_parent\"\n        android:layout_height=\"wrap_content\"\n        android:entries=\"@array\/types_gym\" \/>\n\n    &lt;Button\n        android:id=\"@+id\/button_search_gym\"\n        android:layout_width=\"fill_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_margin=\"20dp\"\n        android:text=\"Procurar\" \/>\n\n&lt;\/LinearLayout><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">O MainActivity vai ficar desta maneira:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>package micheladrianomedeiros.com.br.ondetreinar;\n\nimport androidx.appcompat.app.AppCompatActivity;\n\nimport android.os.Bundle;\nimport android.util.Log;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.EditText;\nimport android.widget.Spinner;\n\npublic class MainActivity extends AppCompatActivity {\n\n    private Spinner spinnerTypesGym;\n    private Button buttonSearchGym;\n    private EditText editTextSearchGym;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n        editTextSearchGym = findViewById(R.id.search_gym);\n        spinnerTypesGym = findViewById(R.id.spinner_type_gym);\n        buttonSearchGym = findViewById(R.id.button_search_gym);\n        buttonSearchGym.setOnClickListener(buttonClickListener);\n    }\n\n    private View.OnClickListener buttonClickListener = new View.OnClickListener() {\n\n        @Override\n        public void onClick(View v) {\n            switch (v.getId()) {\n                case R.id.button_search_gym:\n                 Log.i(\"procurando\",editTextSearchGym.getText().toString());\n                    Log.i(\"tipo academia\", spinnerTypesGym.getSelectedItem().toString());\n                    Log.i(\"Buscar\",\"Vamos fazer a busca\");\n                    break;\n                case View.NO_ID:\n                default:\n                    Log.i(\"erro\", \"nada\");\n                    break;\n            }\n        }\n    };\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A tela de pesquisa ficou assim:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"291\" height=\"607\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/11\/image-7.png\" alt=\"\" class=\"wp-image-557\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/11\/image-7.png 291w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/11\/image-7-144x300.png 144w\" sizes=\"auto, (max-width: 291px) 100vw, 291px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Coloquei os Log.i para quando clicar no bot\u00e3o procurar, saber se a aplica\u00e7\u00e3o est\u00e1 pegando os valores que digitei e escolhi. No console saiu os resultados que eu quero pegar.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"567\" height=\"64\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/11\/image-8.png\" alt=\"\" class=\"wp-image-558\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/11\/image-8.png 567w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/11\/image-8-300x34.png 300w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2019\/11\/image-8-560x64.png 560w\" sizes=\"auto, (max-width: 567px) 100vw, 567px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Funcionou. O problema agora \u00e9:\nde onde vou pegar as informa\u00e7\u00f5es das academias para eu mostrar na tela de\nresultado?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Provavelmente vou ter que\ncriar um web service para isto. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Criando um Novo Projeto Para o Android Vamos tentar fazer um aplicativo onde podemos encontrar academias para treinar e ver opini\u00f5es sobre elas. Digo tentar fazer porque nunca fiz um aplicativo para isto, ent\u00e3o vou fazendo e escrevendo o artigo. Vamos chamar este aplicativo de OndeTreinar, o aplicativo deve mostrar o telefone, o endere\u00e7o ou [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":215,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34],"tags":[],"class_list":["post-556","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android"],"_links":{"self":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/556","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/comments?post=556"}],"version-history":[{"count":2,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/556\/revisions"}],"predecessor-version":[{"id":560,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/556\/revisions\/560"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media\/215"}],"wp:attachment":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media?parent=556"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/categories?post=556"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/tags?post=556"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}