20
respostas

Kotlin

Estou fazendo o kotlin, e meu layout não fica igual ao do professor Alex, depois daqui.

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_lista_transacoes), 

Vem o layout e os nossos são bem diferentes. Quando copio a build do Finanacas para o Financask, também ficam diferentes.

20 respostas

Oi Alex, tudo bem? Se temos um problema de layout, então devemos investigar o xml associado ao layout da activity. Você poderia disponibilizar o seu projeto pra que eu consiga rodar e ver quais diferenças são essas? Com o projeto em mãos eu consigo te ajudar de forma mais efetiva.

Oi Wanderson, boa noite!

Posso sim, como faço isso?

Você tem GitHub? Seria uma ótima forma de disponibilizar o projeto, mas pode ser um zip no Google Drive por exemplo, eu baixo aqui e verifico o que pode ser o problema.

Oi Wanderson, bom dia!

Enviei 2 projetos um mais adiantado e outro que fiz a pouco, pelo email contato@alura.com.br. Aguardo seu retorno, enviei também para a Jessica Lima, pedia a ela que encaminhasse para você. Foi por zip mesmo!

Manda o link do arquivo no Google Drive aqui mesmo, é mais prático pra gente que trabalha no fórum.

https://drive.google.com/drive/u/3/my-drive Pronto Wanderson, mandei para você meus 2 últimos projetos, o 4 esta mais adiantado.

Óla professor, conseguiu ver meu projeto?

Oi Alex, abri exatamente agora o seu tópico, desculpa a demora, estava testando coisas de outras dúvidas. O link que você me mandou não é do arquivo, é um link genérico que se eu abrir, vou para o meu driver e não para o seu. :(

Vai no arquivo no seu drive, clica nele, clica com o botão direito do mouse e usa a opção que é algo próximo de "link compartilhavel" ou "get shareable link". Copia este link e manda aqui.

https://drive.google.com/open?id=1XUb_nuo0HZGfEs0YbhdChRiCaJceO--i

https://drive.google.com/open?id=1pPVThUd9pHm1NVVTa-bjOWQ_eRJg8Unw

Veja se deu certo agora, como falei antes são meus 2 projetos refeitos mais recentes.

Estou ansioso para continuar isso, mas do jeito correto...

Professor, lembrando que o projeto 4 esta mais adiantado e que nele o emulador não abre, aguardo sua revisão para dar continuidade.

Obrigado.

Eae Alex blz ? estou sem tempo pra ver o projeto com detalhe mas olhando rápido já foi possível perceber que existe conflitos de dependências e versão do SDK :

as dependências :

implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:design:26.1.0'
implementation 'com.android.support:cardview-v7:26.1.0'

não estão compatíveis com API do android que vc ta utilizando, pois vc ta utilizando a versão 29 como podemos ver no arquivo build.gradle.

E a versão 29 já utiliza o androidX https://developer.android.com/reference/kotlin/androidx/cardview/widget/CardView.html

como vc ta utilizando as bibliotecas support, podemos ver nesse link https://developer.android.com/jetpack/androidx que a versão 28 é a ultima versão que da suporte para essas bibliotecas.

Ou seja, tem conflitos de versões , como essa parte de compatibilidade de versões é bem chata, recomendo baixar o projeto disponibilizado na aula https://cursos.alura.com.br/course/android-com-kotlin-parte-1/task/30345 que já vai vim todo configurado só que com a parte 1 do curso já concluída, ai eu apagaria os arquivos do kotlin já ministrado nas aulas e começaria o curso com o projeto configurado e igual do professor:

Alex, blz ? agora com mais tempo analisei as classes e os arquivos de configurações, eu fiz o downgrade da versão 29 para 26, desabilitei o androidx no arquivo gradle.properties, alterei as dependencias do seu gradle para utilizar as versões 26 do alterei o importe da sua activity para usar a class suporte e não a androidX já que retirei a mesma , tenta fazer os seguintes ajustes e ver se vai funcionar:

também upei esse seu projeto 4 no meu kit e fiz a correção. caso queira verificar o código: gitlab

commit com o ajuste: commit no git

build.gradle (app)

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.3"
    defaultConfig {
        applicationId "br.com.alura.financask"
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support:design:26.1.0'
    implementation 'com.android.support:cardview-v7:26.1.0'
    implementation 'com.github.clans:fab:1.6.4'

    testImplementation 'junit:junit:4.12'
    androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.1', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
}

ListaTransacoesActivity:

package br.com.alura.financask.ui.activity

import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import br.com.alura.financask.R

class ListaTransacoesActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_lista_transacoes)
    }
}

gradle.properties

# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app's APK

#android.useAndroidX=true
#android.enableJetifier=true

# Kotlin code style for this project: "official" or "obsolete":
kotlin.code.style=official

Obrigado Willian, vou olhar aqui e refazer, agradeço!

Boa Willian!

Alex, testa e retorna pra gente aqui para que possamos continuar te ajudando :)

Professor, boa tarde!

Precisei me ausentar por uns dias, mas estou retomando o curso, sou totalmente leigo no assunto e gostaria de entender como devo utilizar as modificações feitas pelo professor Willian, mesmo sendo leigo vi que as versões não eram compatíveis.

Agradeço a ajuda e peço muita paciência com esse aluno aqui...kkk. Assim que pegar o jeito eu vou deslanchar.

Oi Alex, tenta ir aos poucos aplicando as sugestões de alteração. Uma coisa me preocupa, você diz ser totalmente leigo, mas está fazendo um curso que pra mim me parece um pouco avançado para leigos.

Não seria melhor você começar pela formação iniciante em programação, depois fazer uns cursos de java pra ir pra formação de Android? Me parece ser um caminho mais favorável.

Oi Professor, sou leigo mas tenho facilidade em aprender, não estava tendo dificuldades, e tenho um primo que me ajuda, mas as incompatibilidades do sistemas ficaram difíceis, baixei o projeto que o Willian me enviou, mas ele simplesmente não abre no meu Android studio. Acredito que consigo mesmo sendo complicado, só preciso de direcionamento no que fazer.

´O que acontece quando tenta abrir?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software