GithubHelp home page GithubHelp logo

maonamassabasica1's Introduction

MaoNaMassaBasica1

Primeira Aula

  • Iniciamos o projeto com hello world.
  • Mostramos o LinearLayout: horizontal e vertical.
  • Explicamos que todas as views possuem tamanho e posição.
  • Conceito de <tag></tag> dentro dos arquivos de views.
  • Activity é onde programamos o comportamento da view. Interação do usuário com o celular.
  • Views precisam de ids para serem referenciadas na Activity.
  • Fizemos o botão ser apertado e mudar o texto.
class MainActivity : AppCompatActivity() {

    /*
    *
    * LifeCycle da Activity: onPause, onResume, onCreate
    *
    * */

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        botaoVermelho.setOnClickListener({
            click()
        })
    }

    /*
    *
    * Um método possui o seguinte formato
    *
    * fun nomeDoMetodo(parametros: tipo ou simplesmente vazio) {
    *   // instruções de código que podem ser invocados a qualquer instante dentro dessa Activity
    * }
    *
    * */

    fun click() {
        textoClicou.text = "O botão foi clicado"
    }

}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <!--

    Dentro do arquivo XML só podemos escrever no formato de tags
    <tag
        android:id="@+id/{idDesejado}"
        android:layout_width="match_parent"
        android:layout_height="320dp"
        outros_attributos="valor"
    ></tag>
        ou
    <tag
        android:id="@+id/{idDesejado}"
        android:layout_width="match_parent"
        android:layout_height="320dp"
        outros_attributos="valor"
    />

    Algumas tags ou views podem ter outras tags dentro dele, portanto
    é preciso utilizar o primeiro formato. Ex. LinearLayout

    -->

    <Button
        android:id="@+id/botaoVermelho"
        android:layout_width="match_parent"
        android:layout_height="320dp"
        android:background="#fff000"
        android:text="Click em mim"/>

    <TextView
        android:id="@+id/textoClicou"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="CLICOU???"/>

</LinearLayout>

Segunda Aula

  • Foi criado um Layout com 3 botões na horizontal em um layout vertical.
  • Estrutura de layouts mais complexos com templates.
  • Dinamica das frutas e pessoas.
  • Botão que indica qual a fruta que foi comida.
  • Adicionamos listeners para os botões para "ouvirmos" evento de click no botão
botaoMaca.setOnClickListener({
    comeuAlgo(comida="Maçã")
})

botaoBanana.setOnClickListener({
    comeuAlgo(comida="Banana")
})
botaoPao.setOnClickListener({
    comeuAlgo(comida="Pão")
})
  • Texto indicando que comida foi selecionada
  • Trabalhamos com variáveis que armazenam valores para serem usados no futuro
var comidas: String = ""
var contador: Int = 0
  • Também implementamos o método comeuAlgo que possui um condicional IF ELSE que compara valores
fun comeuAlgo(comida: String) {
    contador = contador + 1
    comidas = comidas + comida + ","
    if (contador > 3) {
        comidas = "" + comida
    }
    textoClicou.text = "Comeu a comida:" + comidas
}

   

Terceira Aula

  • Conceito de arrays e lista mutavel.
    var nomes: MutableList<String> = mutableListOf<String>(nome1, nome2, nome3)
  • Dinamica com regra de negócio.
fun comeuAlgo(comida: String) {
    var textoUsuario1: String = ""
    var textoUsuario2: String = ""
    var textoUsuario3: String = ""
    if (comida == "Maçã") {
        textoUsuario1 = "${nomes[0]} comeu"
        textoUsuario2 = "${nomes[1]} comeu"
    }
    if (comida == "Banana") {
        textoUsuario1 = "${nomes[0]} comeu"
    }
    if (comida == "Pão") {
        textoUsuario1 = "${nomes[1]} comeu"
        textoUsuario2 = "${nomes[2]} comeu"
    }
    textoClicou.text = "${textoUsuario1}\n ${textoUsuario2}\n ${textoUsuario3}"
}

Quarta Aula

  • Conceito de Classes e Objetos.
  • Classes são como arquiteturas (plantas) de casas e objetos são as casas. Ou seja, a classe diz a estrutura em comum dos objetos.
class Casa(var cor: String) {
}
  • Objetos são variáveis que se comportam de acordo com a estrutura da classe.
var casaRosa = Casa("rosa")
var casaRoxa = Casa("roxa")
var casaAzul = Casa("azul")

Quinta Aula

  • Segunda Activity e fluxo de navegação
  • Implementamos uma lista com o componente RecyclerView. Que por sua vez, precisa de um RecyclerView.Adapter e um RecyclerView.ViewHolder.

maonamassabasica1's People

Contributors

guijapa avatar cileneribeiro avatar lucaspaivasilva avatar

Stargazers

 avatar Fatima Azzahro avatar

Watchers

Marco Aurélio Ludwig avatar Helena Aires avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.