Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Google Android - Aula 2 - Turma 2015.1

Google Android - Aula 2 - Turma 2015.1

Slides do curso "Desenvolvimento Google Android", aula 2, ministrado na Linux Fi (turma 2015.1).

Eduardo Carneiro

June 20, 2015
Tweet

More Decks by Eduardo Carneiro

Other Decks in Programming

Transcript

  1. 47 Conceito de Intent • Intent representa uma ação, uma

    intenção de algo que a aplicação quer realizar; • Quando um startActivity é disparado, o Android tentará executar aquela ação; • As ações ou intenções respondidas por uma Activity devem estar declaradas no manifest para que o Android saiba quem trata o quê.
  2. 49 Intent-Filter • Podemos definir uma ou mais ações para

    uma Activity para que ela possa ser acessada por outras aplicações; • A ação pode colocar a aplicação como opção para o usuário realizar determinada tarefa, como abrir uma URL ou exibir uma foto; • A classe android.content.IntentFilter descreve os valores do filtro.
  3. 50 Intent-Filter <activity android:name="SegundaTelaActivity"> <intent-filter> <action android:name="ACTION_TELA2"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter>

    <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <data android:mimeType="image/*" android:scheme="file"/> </intent-filter> </activity> <activity android:name="SegundaTelaActivity"> <intent-filter> <action android:name="ACTION_TELA2"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <data android:mimeType="image/*" android:scheme="file"/> </intent-filter> </activity> Intent it = new Intent(Intent.ACTION_VIEW); it.setDataAndType(Uri.parse ("file:///mnt/sdcard/imagem.png"), "image/*"); startActivity(it); Intent it = new Intent(Intent.ACTION_VIEW); it.setDataAndType(Uri.parse ("file:///mnt/sdcard/imagem.png"), "image/*"); startActivity(it); Intent it = new Intent("ACTION_TELA2"); startActivity(); Intent it = new Intent("ACTION_TELA2"); startActivity();
  4. 52 View e ViewGroup • A classe android.view.View é a

    base, a classe mãe, de todos os componentes de UI; • A classe android.view.ViewGroup é a classe mãe de todos os gerenciadores de layout e herda de View; • Os gerenciadores de layout ajudam a organizar os componentes de modo a obter o design desejado.
  5. 54 Gerenciadores de layout • LinearLayout • RelativeLayout • FrameLayout

    • TableLayout • GridLayout • ViewPager • ScrollView • AbsoluteLayout • AdapterView
  6. 56 Largura e altura android:layout_width="wrap_content" android:layout_width="match_parent" android:layout_width="fill_parent" android:layout_width="100dp" android:layout_height="wrap_content" android:layout_height="match_parent"

    android:layout_height="fill_parent" android:layout_height="100dp" android:layout_width="wrap_content" android:layout_width="match_parent" android:layout_width="fill_parent" android:layout_width="100dp" android:layout_height="wrap_content" android:layout_height="match_parent" android:layout_height="fill_parent" android:layout_height="100dp"
  7. 58 DIP e PX MDPI 160dpi ≃ HDPI 240dpi ≃

    XHDPI 320dpi ≃ XXHDPI 480dpi ≃ px = dp * (dpi / 160) dp = px / (dpi / 160) MDPI → 1.0x HDPI → 1.5x XHDPI → 2.0x XXHDPI → 3.0x
  8. 59 Gravity e Layout Gravity • A propriedade android:gravity define

    o alinhamento interno do componente; • A propriedade android:layout_gravity alinha o componente dentro do gerenciador de layout.
  9. 60 Padding e Margin android:layout_margin="10dp" android:layout_marginLeft="10dp" android:layout_marginTop="10dp" android:layout_marginRight="10dp" android:layout_marginBottom="10dp" android:padding="10dp"

    android:paddingLeft="10dp" android:paddingTop="10dp" android:paddingRight="10dp" android:paddingBottom="10dp" android:layout_margin="10dp" android:layout_marginLeft="10dp" android:layout_marginTop="10dp" android:layout_marginRight="10dp" android:layout_marginBottom="10dp" android:padding="10dp" android:paddingLeft="10dp" android:paddingTop="10dp" android:paddingRight="10dp" android:paddingBottom="10dp"
  10. 61 LinearLayout <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#cccccc"> <TextView android:layout_width="wrap_content"

    android:layout_height="wrap_content" android:text="Centro" android:layout_gravity="center" android:textSize="30sp"/> <EditText android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:background="#ffffff"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="OK"/> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Cancelar"/> </LinearLayout> </LinearLayout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#cccccc"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Centro" android:layout_gravity="center" android:textSize="30sp"/> <EditText android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:background="#ffffff"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="OK"/> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Cancelar"/> </LinearLayout> </LinearLayout>
  11. 62 RelativeLayout <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#cccccc"> <ImageView android:id="@+id/image1" android:layout_width="wrap_content"

    android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:src="@drawable/ual"/> <TextView android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_toRightOf="@id/image1" android:text="United" android:layout_marginLeft="10dp"/> <TextView android:id="@+id/text2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/text1" android:layout_toRightOf="@id/image1" android:text="United Airlines" android:layout_marginLeft="10dp"/> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:checked="true"/> </RelativeLayout> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#cccccc"> <ImageView android:id="@+id/image1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:src="@drawable/ual"/> <TextView android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_toRightOf="@id/image1" android:text="United" android:layout_marginLeft="10dp"/> <TextView android:id="@+id/text2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/text1" android:layout_toRightOf="@id/image1" android:text="United Airlines" android:layout_marginLeft="10dp"/> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:checked="true"/> </RelativeLayout>
  12. 63 FrameLayout <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#cccccc"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent"

    android:src="@drawable/paisagem" android:scaleType="centerCrop" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|right" android:text="Informações" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|left" android:background="#000000" android:textColor="#ffffff" android:padding="10dp" android:text="João Pessoa/PB" /> </FrameLayout> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#cccccc"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/paisagem" android:scaleType="centerCrop" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|right" android:text="Informações" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|left" android:background="#000000" android:textColor="#ffffff" android:padding="10dp" android:text="João Pessoa/PB" /> </FrameLayout>