Desenvolvimento de software para Android

A pilha de componentes que compõe o sistema Android[1]

Desenvolvimento de software para Android é o processo pelo qual um novo aplicativo é criado para o sistema operacional Android. Aplicativos são geralmente desenvolvidos na linguagem de programação Java usando o Android software development kit (SDK), mas outros ambientes de desenvolvimento estão também disponíveis.

Desde julho de 2013, mais de um milhão de aplicativos foram desenvolvidos para Android,[2] com mais de bilhões de downloads.[3][4] Uma pesquisa em Junho indicou que mais de 67% dos desenvolvedores usaram a plataforma, no tempo da publicação.[5]

Ferramentas oficiais de desenvolvimento

Android SDK

Android SDK
Lançamento novembro de 2009 (15 anos)
Idioma(s) Inglês
Escrito em Java
Sistema operacional Multiplataforma
Gênero(s) SDK, IDE
Página oficial developer.android.com/sdk/index.html

O Kit de Desenvolvimento de Software (SDK) do Android inclui uma lista compreensiva de ferramentas de desenvolvimento. É incluído um debugger, bibliotecas, um emulador baseado em QEMU, documentação, códigos de exemplo e tutoriais. As plataformas suportadas para o desenvolvimento incluem sistemas operacionais baseados em Linux, Mac OS X 10.5.8 ou superior e Windows XP ou superior.[6]

Até o final de 2014, o ambiente de desenvolvimento integrado (IDE) oficial era o Eclipse, utilizando o plugin Android Development Tools (ADT). Em 2015, Android Studio, feito pela Google e com IntelliJ é a IDE oficial.[6]

Aplicativos de Android consistem em arquivos do formato .apk e são armazenados no diretório /data/app do sistema operacional. Esta pasta é acessível somente ao usuário root por razões de segurança.

Modo de uso

O projeto "helloworldapp" usando o Android Studio para criar um aplicativo móvel com a linguagem de programação Kotlin, que irá exibir na tela a mensagem "Oi Mundo!".[7]

O código do arquivo MainActivity.kt define o layout de visualização do aplicativo e, em seguida localiza um TextView com o id "textView" e define seu texto/conteúdo a ser exibido como a frase "Oi Mundo!"...[7]

package com.example.helloworldapp

    import androidx.appcompat.app.AppCompatActivity
    import android.os.Bundle
    import android.widget.TextView

    class MainActivity : AppCompatActivity() {
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)

            val textView = findViewById(R.id.textView)
            textView.text = "Oi Mundo!"
        }
    }

O código do arquivo activity_main.xml define o layout no formato XML, onde configura um TextView com o id "textView" e define seu texto/conteúdo como "Oi Mundo!"...[7]

<?xml version="1.0" encoding="utf-8"?>
        <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            tools:context=".MainActivity">

            <TextView
                android:id="@+id/textView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Oi Mundo!"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintRight_toRightOf="parent"
                app:layout_constraintTop_toTopOf="parent" />
        </androidx.constraintlayout.widget.ConstraintLayout>

Android Debug Bridge

O Android Debug Bridge (ADB) é um kit de ferramentas incluso no Android SDK. Consiste de programas tanto de cliente quanto de servidor que comunicam entre si. O ADB é tipicamente acessado através da interface de linha de comando, apesar de que existem inúmeras interfaces gráficas de usuário para controlar o ADB. O formato usual de comandos no ADB é tipicamente:

adb [-d|-e|-s <númeroSerial>] <comando>

Android NDK

O Native Development Kit (NDK) é um conjunto de ferramentas disponibilizadas pelo Google que permite que códigos desenvolvidos em linguagem de programação C/C++ sejam reaproveitados no desenvolvimentos de projetos para dispositivos Android.[8]

Esta ferramenta deve ser utilizada por programadores experientes pois aumenta a complexidade do código. Em contrapartida, permite que códigos complexos, bem testados e validados em outros dispositivos, possam ser integrados no Android, evitando retrabalho.

Também é utilizado quando o desempenho é primordial, como em simuladores físicos, jogos ou programas gráficos.

IDE para Desenvolvimento

Antigamente o NDK só podia ser utilizado por linha de comando ou no Eclipse. Hoje é possível utilizar o Android Studio e o Gradle para desenvolver os projetos.[8]

Modo de uso[8]

Basicamente o NDK permite que você inclua todos seu código nativo em C/C++ e também utilize as bibliotecas padrão do C/C++.

O código nativo é colocado em um pasta, normalmente chamada de JNI. Já na parte do código Android em Java, é feita a chamada de método responsável por carregar a biblioteca nativa:

System.loadLibrary("library");

Também na parte Java, devem ser criados métodos que representarão os métodos nativos. Utiliza-se a palavra chave "native", como no exemplo:

public native void methodA();
public native int methodB(String str, int b);

Finalmente, deve ser criado um arquivo em linguagem C que fará a ligação dos métodos acima citados com os métodos nativos. Utiliza-se a técnica de JNI para alcançar este objetivo. Segue um simple exemplo:

JNIEXPORT void JNICALL
Java_br_com_package_JavaClass_methodA(JNIEnv *env, jobject instance) {
    c_methodA();
}

JNIEXPORT jint JNICALL
Java_br_com_package_JavaClass_methodB(JNIEnv *env, jobject instance, jstring str,
                                                            jint b) {
    const char *c_str = (*env)->GetStringUTFChars(env, str, 0);
    int ret = c_methodB(c_str, b);
    (*env)->ReleaseStringUTFChars(env, str, c_str);
    return ret;
}

Note que nas linhas 3 e 10 são feitas as chamadas para os métodos nativos C.

Ver também

Referências

  1. «The Android Source Code». Android Open Source Project (em inglês). Consultado em 19 de setembro de 2022. Arquivado do original em 1 de março de 2017 
  2. «Google Play Hits 1 Million Apps». Mashable. 24 de julho de 2013 
  3. «Android App Stats». Consultado em 31 de dezembro de 2010. Cópia arquivada em 2 de janeiro de 2011 
  4. Leena Rao (14 de abril de 2011). «Google: 3 Billion Android Apps Installed; Downloads Up 50 Percent From Last Quarter». Techcrunch. Consultado em 13 de maio de 2011. Cópia arquivada em 25 de abril de 2011 
  5. «Developer Economics 2011». Consultado em 19 de dezembro de 2015. Arquivado do original em 29 de setembro de 2013 
  6. a b «Como baixar o Android Studio e o SDK Tools». Android. Consultado em 6 de Fevereiro de 2016 
  7. a b c «Creating a Hello World App in Android Studio with Kotlin». codinglabel.com (em inglês). Consultado em 19 de fevereiro de 2024 
  8. a b c «Como configurar o NDK no Android Studio com Gradle e um exemplo». eMMis. Consultado em 13 de setembro de 2016 

Ligações externas

Wikilivros
Wikilivros
O Wikilivros tem um livro chamado Android