Olá pessoal,
No próximo dia 02 de julho, na Unipê em João Pessoa - PB, participarei pelo segundo ano consecutivo do Androidos! Um dos melhores eventos do Nordeste voltados para desenvolvedores Android e abordará temas muito legais do desenvolvimento de aplicações Android tais como: arquitetura, programação reativa, serviços de cloud, e muito mais.
Este ano, o Androidos contará com a participação de três Google Developer Experts em Android do Brasil: Marcelo Quinta (de Goiás), Ubiratan Soares (de São Paulo) e eu ;) Isso sem falar na ilustre participação do Josias Paes (Unipê) e do Gustavo Soares (IFPB).
Farei duas participações durante o evento: a primeira com uma palestra sobre Data Binding e log em seguida participarei de um Fireside chat, onde o público poderá fazer perguntas e tirar suas próprias dúvidas sobre Android.
Se você é desenvolvedor Android, não poder perder essa oportunidade. Mais informações no site do evento. Nos vemos lá!
[EDITADO 08/07/2016]
Slides da minha palestra.
O código-fonte do projeto mostrado nos slides está no meu GitHub.
https://github.com/nglauber/playground/tree/master/android/LivrosFirebase
4br4ç05,
nglauber
Mostrando postagens com marcador João Pessoa. Mostrar todas as postagens
Mostrando postagens com marcador João Pessoa. Mostrar todas as postagens
segunda-feira, 20 de junho de 2016
domingo, 22 de fevereiro de 2015
Androidos 2015
Olá povo,
Nos dias 8 e 9 de maio estarei na UNIPE em João Pessoa participando do Androidos 2015, um evento totalmente voltado para a plataforma Android. Terei a satisfação de participar falando sobre as novidades do Android Lollipop e sobre Android Wear.
Quem também estará lá é o grande Ricardo Lecheta.
Mais informações, acessem a página do evento no Facebook!
Vejo vocês lá!
[EDITADO 21/07/2015]
Putz! Compartilhei os slides pelas redes sociais e esqueci de colocar aqui...
4br4ç05,
nglauber
Nos dias 8 e 9 de maio estarei na UNIPE em João Pessoa participando do Androidos 2015, um evento totalmente voltado para a plataforma Android. Terei a satisfação de participar falando sobre as novidades do Android Lollipop e sobre Android Wear.
Quem também estará lá é o grande Ricardo Lecheta.
Mais informações, acessem a página do evento no Facebook!
Vejo vocês lá!
[EDITADO 21/07/2015]
Putz! Compartilhei os slides pelas redes sociais e esqueci de colocar aqui...
4br4ç05,
nglauber
segunda-feira, 23 de maio de 2011
Curso de Android em João Pessoa
Olá povo,
A LinuxFI abriu as inscrições para a segunda turma de Google Android. As aulas acontecerão aos sábados e domingos durante 3 finais de semana.
No curso, estudaremos os principais recursos da plataforma para smartphones e tablets da Google. Conceitos como Activities, Broadcast Receivers, Handlers, ContentProviders e Services serão aplicados na prática. Veremos também como armazenar informações no banco de dados do celular com SQLite, comunicação com WebServices e com o GoogleMaps, envio de SMS e muito mais.
Quem tiver interesse, pode entrar na página do curso para obter mais informações e fazer sua inscrição.

4br4ç05,
nglauber
A LinuxFI abriu as inscrições para a segunda turma de Google Android. As aulas acontecerão aos sábados e domingos durante 3 finais de semana.
No curso, estudaremos os principais recursos da plataforma para smartphones e tablets da Google. Conceitos como Activities, Broadcast Receivers, Handlers, ContentProviders e Services serão aplicados na prática. Veremos também como armazenar informações no banco de dados do celular com SQLite, comunicação com WebServices e com o GoogleMaps, envio de SMS e muito mais.
Quem tiver interesse, pode entrar na página do curso para obter mais informações e fazer sua inscrição.

4br4ç05,
nglauber
segunda-feira, 22 de novembro de 2010
TabHost, TabWidget e TabActivity
Olá povo,
Dar aulas é um desafio bem grande, e às vezes você paga uns micos esquecendo coisas simples. Esse post é dedicado aos meus alunos da LinuxFI em João Pessoa, aos quais presenciaram mais um mico proporcionado por minha pessoa.
Estava explicando como se fazia para criar uma tela com abas (ou guias, como preferir) no Android, e como não queria fazer como estava no livro, fui fazer de outro jeito. Aí claro que deu merda. Então implementei de outro jeito e prometi que iria fazer esse post. No final acabou queum aluno (perdão por não lembrar do nome) Raniere Fernandes descobriu o que estava faltando (era um maldito tabHost.setup()), mas aí já era!
Então vamos lá! Vou mostrar primeiro a maneira mais simples. Primeiro vou criar dois arquivos de layout: aba1.xml e aba2.xml.
Notem que o elemento raiz do XML tem os identificadores raizAba1 e raizAba2. Esses identificadores serão utilizados para setar o conteúdo das abas.
Vamos agora ao código que configura a tela.
A classe TabActivity da qual nossa classe está herdando facilita o nosso trabalho para telas que usam abas. No método onCreate estamos obtendo a instância do TabHost que é o gerenciador de layout responsável por esse tipo de tela. Internamente ele contém um objeto TabWidget e um FrameLayout que exibe o conteúdo das abas (como veremos no próximo exemplo).
Cada aba é representada por um objeto do tipo TabSpec, que é adicionado ao TabHost. Para criar uma TabSpec chamamos o método newTabSpec do objeto TabHost passando uma tag de identificação. Para definir o texto de cada aba chamamos o método setIndicator. E para setar o conteúdo, carregamos o arquivo de layout através da chamada:
Isso carregará o arquivo de layout no FrameLayout interno do TabHost. Uma vez que o layout está carregado, podemos definir o conteúdo da TabSpec, chamando o método setContent e passando o id da view raiz do arquivo de layout. No caso, R.id.raizAba1 para primeira aba e R.id.raizAba2 para a segunda.
Mas e se eu quiser ter mais do que uma TabHost na minha tela? Como, por exemplo, um botão no canto inferior? Pois é, esse era o exemplo que eu queria ter terminado em "Jampa".
Primeiro devemos criar um arquivo de layout igual ao definido abaixo, e a este, chamaremos de meuTabHost.xml:
Notem que nele, dentro de um LinearLayout, temos um TabHost, que dentro dele temos um TabWidget e um FrameLayout, conforme já tínhamos descrito. Uma atenção especial nos ids do TabHost e do TabWidget, que devem, obrigatoriamente chamar-se @android:id/tabs e @android:id/tabcontent respectivamente.
Para finalizar, a classe Java ficaria conforme abaixo:
Agora a nossa classe herda de Activity e não mais de TabActivity. Dessa forma, temos que chamar o método setContentView passando o nosso layout e chamar o (MALDITO) método setup do objeto TabHost, que agora é obtido através do arquivo de layout.
Aê turma da LinuxFI, um "Aleluia" pro professor! :)
4br4ç05,
nglauber
Dar aulas é um desafio bem grande, e às vezes você paga uns micos esquecendo coisas simples. Esse post é dedicado aos meus alunos da LinuxFI em João Pessoa, aos quais presenciaram mais um mico proporcionado por minha pessoa.
Estava explicando como se fazia para criar uma tela com abas (ou guias, como preferir) no Android, e como não queria fazer como estava no livro, fui fazer de outro jeito. Aí claro que deu merda. Então implementei de outro jeito e prometi que iria fazer esse post. No final acabou que
Então vamos lá! Vou mostrar primeiro a maneira mais simples. Primeiro vou criar dois arquivos de layout: aba1.xml e aba2.xml.
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/raizAba1">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Nome:" />
<EditText
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/edtNome"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Email"/>
<EditText
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/edtEmail"/>
</LinearLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/raizAba2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Observações:"/>
<EditText
android:id="@+id/edtObs"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:gravity="top"/>
</LinearLayout>
Notem que o elemento raiz do XML tem os identificadores raizAba1 e raizAba2. Esses identificadores serão utilizados para setar o conteúdo das abas.
Vamos agora ao código que configura a tela.
public class ExTabActivity1 extends TabActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TabHost tabHost = getTabHost();
LayoutInflater.from(this).inflate(
R.layout.aba1, tabHost.getTabContentView());
LayoutInflater.from(this).inflate(
R.layout.aba2, tabHost.getTabContentView());
TabSpec aba1 = tabHost.newTabSpec("foo1");
aba1.setIndicator("Informações");
aba1.setContent(R.id.raizAba1);
TabSpec aba2 = tabHost.newTabSpec("foo2");
aba2.setIndicator("Observações");
aba2.setContent(R.id.raizAba2);
tabHost.addTab(aba1);
tabHost.addTab(aba2);
}
}
A classe TabActivity da qual nossa classe está herdando facilita o nosso trabalho para telas que usam abas. No método onCreate estamos obtendo a instância do TabHost que é o gerenciador de layout responsável por esse tipo de tela. Internamente ele contém um objeto TabWidget e um FrameLayout que exibe o conteúdo das abas (como veremos no próximo exemplo).
Cada aba é representada por um objeto do tipo TabSpec, que é adicionado ao TabHost. Para criar uma TabSpec chamamos o método newTabSpec do objeto TabHost passando uma tag de identificação. Para definir o texto de cada aba chamamos o método setIndicator. E para setar o conteúdo, carregamos o arquivo de layout através da chamada:
LayoutInflater.from(this).inflate(
R.layout.aba1, tabHost.getTabContentView());
Isso carregará o arquivo de layout no FrameLayout interno do TabHost. Uma vez que o layout está carregado, podemos definir o conteúdo da TabSpec, chamando o método setContent e passando o id da view raiz do arquivo de layout. No caso, R.id.raizAba1 para primeira aba e R.id.raizAba2 para a segunda.
Mas e se eu quiser ter mais do que uma TabHost na minha tela? Como, por exemplo, um botão no canto inferior? Pois é, esse era o exemplo que eu queria ter terminado em "Jampa".
Primeiro devemos criar um arquivo de layout igual ao definido abaixo, e a este, chamaremos de meuTabHost.xml:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TabHost
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/meuTabHost"
android:layout_weight="1">
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@android:id/tabcontent"/>
</LinearLayout>
</TabHost>
<Button
android:text="Salvar"
android:id="@+id/Button01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
Notem que nele, dentro de um LinearLayout, temos um TabHost, que dentro dele temos um TabWidget e um FrameLayout, conforme já tínhamos descrito. Uma atenção especial nos ids do TabHost e do TabWidget, que devem, obrigatoriamente chamar-se @android:id/tabs e @android:id/tabcontent respectivamente.
Para finalizar, a classe Java ficaria conforme abaixo:
public class ExTabActivity2 extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.meutab);
TabHost tabHost = (TabHost)findViewById(
R.id.meuTabHost);
tabHost.setup();
// O resto é igual ao exemplo anterior
}
}
Agora a nossa classe herda de Activity e não mais de TabActivity. Dessa forma, temos que chamar o método setContentView passando o nosso layout e chamar o (MALDITO) método setup do objeto TabHost, que agora é obtido através do arquivo de layout.
Aê turma da LinuxFI, um "Aleluia" pro professor! :)
4br4ç05,
nglauber
quinta-feira, 14 de outubro de 2010
Curso de Android em João Pessoa
Olá povo,Atendendo a muitos pedidos, a LinuxFI abriu as inscrições para o curso de Google Android em João Pessoa. As aulas acontecerão aos sábados e domingos durante 3 finais de semana.
No curso, estudaremos a revolucionária plataforma para smartphones da Google e como desenvolver aplicativos para ela. Os conceitos de Activities, Handlers, ContentProviders e Services serão aplicados na prática. Vamos ver como armazenar informações no banco de dados do celular com SQLite. Comunicação com WebServices e com o GoogleMaps. Envio de SMS. E muito mais.
Tudo isso podendo ser mostrado em um aparelho real!!!
Quem tiver interesse, pode entrar na página do curso para obter mais informações e fazer sua inscrição.
4br4ç05,
nglauber
Assinar:
Postagens (Atom)

