quick tips for android
TRANSCRIPT
![Page 1: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/1.jpg)
com Daniel Baccin
Quick tips for Android
![Page 2: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/2.jpg)
Aplicando diferentes layouts de acordo com a orientação do
dispositivo
![Page 3: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/3.jpg)
![Page 4: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/4.jpg)
![Page 5: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/5.jpg)
![Page 6: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/6.jpg)
![Page 7: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/7.jpg)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context=".MainActivity">
<TextView android:text="@string/digite" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" />
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="meuBotaoClick" android:text="@string/adicionar"/>
<ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent"/>
</LinearLayout>
![Page 8: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/8.jpg)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context=".MainActivity">
<TextView android:text="@string/digite" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" />
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="meuBotaoClick" android:text="@string/adicionar"/>
<ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent"/>
</LinearLayout>
![Page 9: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/9.jpg)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context=".MainActivity">
<TextView android:text="@string/digite" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" />
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="meuBotaoClick" android:text="@string/adicionar"/>
<ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent"/>
</LinearLayout>
![Page 10: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/10.jpg)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context=".MainActivity">
<TextView android:text="@string/digite" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" />
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="meuBotaoClick" android:text="@string/adicionar"/>
<ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent"/>
</LinearLayout>
![Page 11: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/11.jpg)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context=".MainActivity">
<TextView android:text="@string/digite" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" />
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="meuBotaoClick" android:text="@string/adicionar"/>
<ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent"/>
</LinearLayout>
![Page 12: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/12.jpg)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context=".MainActivity">
<TextView android:text="@string/digite" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" />
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="meuBotaoClick" android:text="@string/adicionar"/>
<ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent"/>
</LinearLayout>
![Page 13: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/13.jpg)
public class MainActivity extends AppCompatActivity {...@Overrideprotected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
nomes = new ArrayList<String>(); editText = (EditText) findViewById(R.id.editText1); listView = (ListView) findViewById(R.id.listView);
adapter = new ArrayAdapter<String>(
this,android.R.layout.simple_list_item_1, nomes);
listView.setAdapter(adapter);}
}
![Page 14: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/14.jpg)
public class MainActivity extends AppCompatActivity {...@Overrideprotected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
nomes = new ArrayList<String>(); editText = (EditText) findViewById(R.id.editText1); listView = (ListView) findViewById(R.id.listView);
adapter = new ArrayAdapter<String>(
this,android.R.layout.simple_list_item_1, nomes);
listView.setAdapter(adapter);}
}
![Page 15: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/15.jpg)
public class MainActivity extends AppCompatActivity {...@Overrideprotected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
nomes = new ArrayList<String>(); editText = (EditText) findViewById(R.id.editText1); listView = (ListView) findViewById(R.id.listView);
adapter = new ArrayAdapter<String>( this,android.R.layout.simple_list_item_1, nomes);
listView.setAdapter(adapter);}
}
![Page 16: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/16.jpg)
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="meuBotaoClick" android:text="@string/adicionar"/>
![Page 17: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/17.jpg)
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="meuBotaoClick" android:text="@string/adicionar"/>
public class MainActivity extends AppCompatActivity {…public void meuBotaoClick(View v){
nomes.add(editText.getText().toString()); editText.setText(""); adapter.notifyDataSetChanged();
}
}
![Page 18: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/18.jpg)
![Page 19: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/19.jpg)
![Page 20: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/20.jpg)
Clique com Botão direito na pasta res:
New > Android resorce directory
![Page 21: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/21.jpg)
![Page 22: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/22.jpg)
![Page 23: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/23.jpg)
![Page 24: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/24.jpg)
![Page 25: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/25.jpg)
![Page 26: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/26.jpg)
Agora copie e cole o arquivo de layoutpara a nova pasta, ficando assim:
➔ res/layout/activity_main.xml➔ res/layout-land/activity_main.xml
![Page 27: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/27.jpg)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:orientation="horizontal">
<LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical">
<TextView android:text="@string/digite" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" />
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="meuBotaoClick" android:text="@string/adicionar"/>
</LinearLayout> <ListView android:id="@+id/listView" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="2"/>
</LinearLayout>
![Page 28: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/28.jpg)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:orientation="horizontal">
<LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical">
<TextView android:text="@string/digite" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" />
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="meuBotaoClick" android:text="@string/adicionar"/> </LinearLayout>
<ListView android:id="@+id/listView" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="2"/>
</LinearLayout>
![Page 29: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/29.jpg)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:orientation="horizontal">
<LinearLayout android:orientation="vertical" android:layout_height="match_parent" android:layout_width="0dp" android:layout_weight="1">
<TextView android:text="@string/digite" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" />
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="meuBotaoClick" android:text="@string/adicionar"/> </LinearLayout>
<ListView android:id="@+id/listView" android:layout_height="match_parent" android:layout_width="0dp" android:layout_weight="2"/>
</LinearLayout>
![Page 30: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/30.jpg)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:orientation="horizontal">
<LinearLayout android:orientation="vertical" android:layout_height="match_parent" android:layout_width="0dp" android:layout_weight="1">
<TextView android:text="@string/digite" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" />
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="meuBotaoClick" android:text="@string/adicionar"/> </LinearLayout>
<ListView android:id="@+id/listView" android:layout_height="match_parent" android:layout_width="0dp" android:layout_weight="2"/>
</LinearLayout>
![Page 31: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/31.jpg)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:orientation="horizontal">
<LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical">
<TextView android:text="@string/digite" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" />
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="meuBotaoClick" android:text="@string/adicionar"/> </LinearLayout>
<ListView android:id="@+id/listView" android:layout_height="match_parent" android:layout_width="0dp" android:layout_weight="2"/>
</LinearLayout>
![Page 32: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/32.jpg)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:orientation="horizontal">
<LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical">
<TextView android:text="@string/digite" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" />
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="meuBotaoClick" android:text="@string/adicionar"/> </LinearLayout>
<ListView android:id="@+id/listView" android:layout_height="match_parent" android:layout_width="0dp" android:layout_weight="2"/>
</LinearLayout>
![Page 33: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/33.jpg)
![Page 34: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/34.jpg)
![Page 35: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/35.jpg)
public class MainActivity extends AppCompatActivity {…@Overridepublic void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putStringArrayList(Contantes.NOMES, nomes);}
}
![Page 36: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/36.jpg)
public class MainActivity extends AppCompatActivity {
@Overrideprotected void onCreate(Bundle savedInstanceState) {
...
nomes = new ArrayList<String>();
...
}
![Page 37: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/37.jpg)
public class MainActivity extends AppCompatActivity {
@Overrideprotected void onCreate(Bundle savedInstanceState) {
...
if(savedInstanceState != null){ nomes = savedInstanceState.getStringArrayList(Contantes.NOMES);}else{ nomes = new ArrayList<String>();}
...
}
![Page 38: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/38.jpg)
![Page 39: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/39.jpg)
Passando objetos entre Intents
![Page 40: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/40.jpg)
![Page 41: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/41.jpg)
![Page 42: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/42.jpg)
Parcelable x Serializable
![Page 43: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/43.jpg)
Parcelable x Serializable
![Page 44: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/44.jpg)
![Page 45: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/45.jpg)
public class Cliente implements Parcelable {
private String telefone; private String nome;
public Cliente( String nome, String telefone){ this.nome = nome; this.telefone = telefone; }
![Page 46: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/46.jpg)
public class Cliente implements Parcelable {
private String telefone; private String nome;
public Cliente( String nome, String telefone){ this.nome = nome; this.telefone = telefone; }
![Page 47: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/47.jpg)
public class Cliente implements Parcelable {
private String telefone; private String nome;
public Cliente( String nome, String telefone){ this.nome = nome; this.telefone = telefone; }
![Page 48: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/48.jpg)
public class Cliente implements Parcelable {
private String telefone; private String nome;
public Cliente( String nome, String telefone){ this.nome = nome; this.telefone = telefone; }
![Page 49: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/49.jpg)
public class Cliente implements Parcelable {
...@Overridepublic int describeContents() { return 0;}
@Overridepublic void writeToParcel(Parcel dest, int flags) { dest.writeString(nome); dest.writeString(telefone);}
![Page 50: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/50.jpg)
public class Cliente implements Parcelable {
...@Overridepublic int describeContents() { return 0;}
@Overridepublic void writeToParcel(Parcel dest, int flags) { dest.writeString(nome); dest.writeString(telefone);}
![Page 51: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/51.jpg)
public class Cliente implements Parcelable {
...public static final Creator<Cliente> CREATOR = new Creator<Cliente>() { @Override public Cliente createFromParcel(Parcel in) { return new Cliente(in); }
@Override public Cliente[] newArray(int size) { return new Cliente[size]; }};
}
![Page 52: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/52.jpg)
public class MainActivity extends AppCompatActivity implements iew.OnClickListener{
private TextView editTextNome; private TextView editTextFone;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
editTextNome = (TextView) findViewById(R.id.editTextNome); editTextFone = (TextView) findViewById(R.id.editTextFone);
Button btEnviar = (Button) findViewById(R.id.btEnviar); btEnviar.setOnClickListener(this); }
![Page 53: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/53.jpg)
public class MainActivity extends AppCompatActivity implements iew.OnClickListener{
private TextView editTextNome; private TextView editTextFone;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
editTextNome = (TextView) findViewById(R.id.editTextNome); editTextFone = (TextView) findViewById(R.id.editTextFone);
Button btEnviar = (Button) findViewById(R.id.btEnviar); btEnviar.setOnClickListener(this); }
![Page 54: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/54.jpg)
public class MainActivity extends AppCompatActivity implements iew.OnClickListener{
private TextView editTextNome; private TextView editTextFone;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
editTextNome = (TextView) findViewById(R.id.editTextNome); editTextFone = (TextView) findViewById(R.id.editTextFone);
Button btEnviar = (Button) findViewById(R.id.btEnviar); btEnviar.setOnClickListener(this); }
![Page 55: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/55.jpg)
public class MainActivity extends AppCompatActivity implements iew.OnClickListener{
private TextView editTextNome; private TextView editTextFone;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
editTextNome = (TextView) findViewById(R.id.editTextNome); editTextFone = (TextView) findViewById(R.id.editTextFone);
Button btEnviar = (Button) findViewById(R.id.btEnviar); btEnviar.setOnClickListener(this); }
![Page 56: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/56.jpg)
public class MainActivity extends AppCompatActivity implements iew.OnClickListener{
private TextView editTextNome; private TextView editTextFone;
...@Overridepublic void onClick(View v) { switch (v.getId()){ case R.id.btEnviar: Cliente cliente = new Cliente(
editTextNome.getText().toString(), editTextFone.getText().toString());
Intent irParaTela2 = new Intent(this, Tela2Activity.class); irParaTela2.putExtra(Contantes.CLIENTE, cliente); startActivity(irParaTela2); break; }}
}
![Page 57: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/57.jpg)
public class MainActivity extends AppCompatActivity implements iew.OnClickListener{
private TextView editTextNome; private TextView editTextFone;
...@Overridepublic void onClick(View v) { switch (v.getId()){ case R.id.btEnviar: Cliente cliente = new Cliente(
editTextNome.getText().toString(), editTextFone.getText().toString());
Intent irParaTela2 = new Intent(this, Tela2Activity.class); irParaTela2.putExtra(Contantes.CLIENTE, cliente); startActivity(irParaTela2); break; }}
}
![Page 58: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/58.jpg)
public class MainActivity extends AppCompatActivity implements iew.OnClickListener{
private TextView editTextNome; private TextView editTextFone;
...@Overridepublic void onClick(View v) { switch (v.getId()){ case R.id.btEnviar: Cliente cliente = new Cliente(
editTextNome.getText().toString(), editTextFone.getText().toString());
Intent irParaTela2 = new Intent(this, Tela2Activity.class); irParaTela2.putExtra(Contantes.CLIENTE, cliente); startActivity(irParaTela2); break; }}
}
![Page 59: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/59.jpg)
public class MainActivity extends AppCompatActivity implements iew.OnClickListener{
private TextView editTextNome; private TextView editTextFone;
...@Overridepublic void onClick(View v) { switch (v.getId()){ case R.id.btEnviar: Cliente cliente = new Cliente(
editTextNome.getText().toString(), editTextFone.getText().toString());
Intent irParaTela2 = new Intent(this, Tela2Activity.class); irParaTela2.putExtra(Contantes.CLIENTE, cliente); startActivity(irParaTela2); break; }}
}
![Page 60: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/60.jpg)
public class Tela2Activity extends AppCompatActivity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_tela2); TextView txtText = (TextView) findViewById(R.id.txtTexto);
Intent intent = getIntent(); Cliente cliente = intent.getParcelableExtra(Contantes.CLIENTE); if(cliente != null){ String texto =
String.format("Nome: %s / Telefone: %s", cliente.getNome(), cliente.getTelefone());
txtText.setText(texto);
![Page 61: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/61.jpg)
public class Tela2Activity extends AppCompatActivity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_tela2); TextView txtText = (TextView) findViewById(R.id.txtTexto);
Intent intent = getIntent(); Cliente cliente = intent.getParcelableExtra(Contantes.CLIENTE); if(cliente != null){ String texto =
String.format("Nome: %s / Telefone: %s", cliente.getNome(), cliente.getTelefone());
txtText.setText(texto);
![Page 62: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/62.jpg)
public class Tela2Activity extends AppCompatActivity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_tela2); TextView txtText = (TextView) findViewById(R.id.txtTexto);
Intent intent = getIntent(); Cliente cliente = intent.getParcelableExtra(Contantes.CLIENTE); if(cliente != null){ String texto =
String.format("Nome: %s / Telefone: %s", cliente.getNome(), cliente.getTelefone());
txtText.setText(texto);
![Page 63: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/63.jpg)
![Page 64: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/64.jpg)
Verificação de permisões no Android Marshmallow
![Page 65: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/65.jpg)
![Page 66: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/66.jpg)
public class MainActivity extends ListActivity{
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
listaDeContatos = obtemListaDeContatos();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listaDeContatos);
setListAdapter(adapter); }
}
![Page 67: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/67.jpg)
public class MainActivity extends ListActivity{...
@Overridepublic void onRequestPermissionsResult(int requestCode, String[] permissions,
int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { discar(); }}
}
![Page 68: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/68.jpg)
public class MainActivity extends ListActivity{...
@Overridepublic void onRequestPermissionsResult(int requestCode, String[] permissions,
int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { discar(); }}
}
![Page 69: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/69.jpg)
public class MainActivity extends ListActivity{...
@Overrideprotected void onListItemClick(ListView l, View v, int position, long id) { switch (position){ case 1: if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CALL_PHONE}, 0); } else { discar(); } }}
}
![Page 70: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/70.jpg)
public class MainActivity extends ListActivity{...
@Overrideprotected void onListItemClick(ListView l, View v, int position, long id) { switch (position){ case 1: if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CALL_PHONE}, 0); } else { discar(); } }}
}
![Page 71: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/71.jpg)
public class MainActivity extends ListActivity{...
@Overrideprotected void onListItemClick(ListView l, View v, int position, long id) { switch (position){ case 1: if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CALL_PHONE}, 0); } else { discar(); } }}
}
![Page 72: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/72.jpg)
public class MainActivity extends ListActivity{...
private void discar() { Uri uri = Uri.parse("tel:" + "88121128"); Intent intent = new Intent(Intent.ACTION_CALL, uri);
if (intent.resolveActivity(getPackageManager()) != null) { startActivity(intent); }}
}
![Page 73: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/73.jpg)
Otimizando seu Android Studio
![Page 74: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/74.jpg)
![Page 75: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/75.jpg)
http://tools.android.com/tech-docs/configuration
![Page 76: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/76.jpg)
![Page 77: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/77.jpg)
![Page 78: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/78.jpg)
studio.vmoptions
![Page 79: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/79.jpg)
studio.vmoptions
![Page 80: Quick tips for android](https://reader030.vdocuments.net/reader030/viewer/2022020301/5882fcee1a28abe70d8b4b7b/html5/thumbnails/80.jpg)
idea.properties