Ali Hijazi • HE:labs / 2.5 anos Android • Lucas de Castro Oliveira • Estágio em desenvolvimento na Eits - PTI. Formando em Ciência da Computação pela Unioeste. • Cassiano Peres • Trabalha no CIH, projeto de pesquisa e desenvolvimento com tecnologias java para web e georreferenciamento.
OS ou Linux (GNOME ou KDE) • Ambiente de tempo de execução Java (JRE) 6 ou + • Kit de desenvolvimento Java (JDK) 7 ou + • MUITA memória • Mínimo 2GB • Recomendado 4GB (Minha recomendação: 8GB)
• Configuração do projeto • Gerenciamento de dependências/build • Java • Classes Java (contém toda a parte lógica do app) • Recursos • XMLs (Layout, Strings, Estilos, etc…) • Imagens (PNGs, Gifs, etc…) • Assets • Fontes, Bancos de dados pré-compilados, etc…
app Todos os ícones e imagens utilizada no seu app Todos os layout .xml do seu app (Podem existir outras pastas layouts) Todos os menus .xml utilizado no seu app
app Todos os ícones e imagens utilizada no seu app Todos os layout .xml do seu app (Podem existir outras pastas layouts) Todos os menus .xml utilizado no seu app Somente o icon launcher do seu app. Não confunda essa pasta com as drawable.
app Todos os ícones e imagens utilizada no seu app Todos os layout .xml do seu app (Podem existir outras pastas layouts) Todos os menus .xml utilizado no seu app Somente o icon launcher do seu app. Não confunda essa pasta com as drawable. Todos os textos, dimensões, cores, arrays .xml utilizados no seu app
app Todos os ícones e imagens utilizada no seu app Todos os layout .xml do seu app (Podem existir outras pastas layouts) Todos os menus .xml utilizado no seu app Somente o icon launcher do seu app. Não confunda essa pasta com as drawable. Todos os textos, dimensões, cores, arrays .xml utilizados no seu app Declarar suas Activity, permissões, services e etc.
do aplicativo • package: pacote java “default" para o App, também usado com ID único • Componentes presentes no App • Activities, Services, BroadcastReceivers, etc. • Permissões requeridas para o App • Features de HW/SW usadas pelo App • API Level mínimo suportado pelo App • Algumas informações são usadas pelo Google Play Store
componente de UI • ViewGroup • Tipo especial de View que podem ter Views "filhas" • Gerenciadores de Layout • Mais comuns: • LinearLayout • RelativeLayout • FrameLayout • GridLayout Construção de Layout
as Views de forma linear • android:orientation especifica a direção linear • “horizontal" ou “vertical” • android:layout_gravity pode ser usada • android:layout_weight • Atribui uma “importância" aos filhos • O espaço é dividido pela importância
as Views de forma relativa • Com relação ao pai ou a elas mesmas • android:layout_alignParent[Top | Bottom | Left | Right] • Relacionado ao pai (true/false) • android:layout_toLeftOf / layout_toRightOf • Relacionado a outro filho (@id/child_id) • android:layout_below / layout_above • Relacionado a outro filho (@id/child_id)
Componente que fornece uma tela para que o usuário possa interagir com a UI • Um app pode ter n Activities • Activity não é uma View, ela possui Views • Ligando uma Activity a um XML de layout • setContentView(R.layout.my_layout); • deve ser chamado no método onCreate()
parent, int viewType) void onBindViewHolder(ViewHolder holder, final int position) int getItemCount() public class ViewHolder extends RecyclerView.ViewHolder