Aula android 03
-
Upload
carlos-cavalcanti -
Category
Documents
-
view
380 -
download
2
description
Transcript of Aula android 03
![Page 1: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/1.jpg)
AndroidDesenvolvimento
sábado, 27 de outubro de 12
![Page 2: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/2.jpg)
Desenvolvedor de softwarewww.carloscavalcanti.com
twitter @carloscaval
github.com/carloscavalcanti
sábado, 27 de outubro de 12
![Page 3: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/3.jpg)
Banco de dados
Google Maps
SMS
Review
sábado, 27 de outubro de 12
![Page 4: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/4.jpg)
Banco de dados
Google Maps
SMS
Review
sábado, 27 de outubro de 12
![Page 5: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/5.jpg)
Banco de dados
Google Maps
SMS
Review
sábado, 27 de outubro de 12
![Page 6: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/6.jpg)
Banco de dados
Google Maps
SMS
Review
sábado, 27 de outubro de 12
![Page 7: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/7.jpg)
Banco de dados
Google Maps
SMS
Review
sábado, 27 de outubro de 12
![Page 8: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/8.jpg)
sábado, 27 de outubro de 12
![Page 9: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/9.jpg)
Review
sábado, 27 de outubro de 12
![Page 10: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/10.jpg)
ReviewActivity
sábado, 27 de outubro de 12
![Page 11: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/11.jpg)
ReviewActivity
sábado, 27 de outubro de 12
![Page 12: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/12.jpg)
ReviewActivity
sábado, 27 de outubro de 12
![Page 13: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/13.jpg)
ReviewActivity
sábado, 27 de outubro de 12
![Page 14: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/14.jpg)
Review
sábado, 27 de outubro de 12
![Page 15: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/15.jpg)
Review
Ciclo de vida
sábado, 27 de outubro de 12
![Page 16: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/16.jpg)
Review
sábado, 27 de outubro de 12
![Page 17: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/17.jpg)
Review
AndroidManifest.xmlsábado, 27 de outubro de 12
![Page 18: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/18.jpg)
Review
sábado, 27 de outubro de 12
![Page 19: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/19.jpg)
Review
//Criando uma intent, onde iremos dizer para onde essa "intenção" irá.Intent it = new Intent(ClassActivityCorrente.this, OutraTelaActivity.class);
27//Funcão para dar inicio a intent.
28startActivity(it);
Intent
sábado, 27 de outubro de 12
![Page 20: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/20.jpg)
Review
sábado, 27 de outubro de 12
![Page 21: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/21.jpg)
Review<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.exemploandroid" android:versionCode="1" android:versionName="1.0" >
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="15" />
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".NovaActivity"/> </application>
</manifest>sábado, 27 de outubro de 12
![Page 22: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/22.jpg)
Review
sábado, 27 de outubro de 12
![Page 23: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/23.jpg)
Review
Passar informações entre activitys
putExtra()
get?Extra()sábado, 27 de outubro de 12
![Page 24: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/24.jpg)
Review
sábado, 27 de outubro de 12
![Page 25: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/25.jpg)
Review
BroadcastReceiver
sábado, 27 de outubro de 12
![Page 26: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/26.jpg)
Review
BroadcastReceiver
Notification
sábado, 27 de outubro de 12
![Page 27: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/27.jpg)
Review
BroadcastReceiver
Notification
Service
sábado, 27 de outubro de 12
![Page 28: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/28.jpg)
Review
sábado, 27 de outubro de 12
![Page 29: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/29.jpg)
Review
AbsoluteLayout
sábado, 27 de outubro de 12
![Page 30: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/30.jpg)
Review
AbsoluteLayout
FrameLayout
sábado, 27 de outubro de 12
![Page 31: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/31.jpg)
Review
AbsoluteLayout
FrameLayout
TableLayout
sábado, 27 de outubro de 12
![Page 32: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/32.jpg)
Review
AbsoluteLayout
FrameLayout
TableLayout
RelativeLayout
sábado, 27 de outubro de 12
![Page 33: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/33.jpg)
Google Maps
sábado, 27 de outubro de 12
![Page 34: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/34.jpg)
Primeiro passo
sábado, 27 de outubro de 12
![Page 35: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/35.jpg)
Primeiro passo
sábado, 27 de outubro de 12
![Page 36: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/36.jpg)
Primeiro passo
sábado, 27 de outubro de 12
![Page 37: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/37.jpg)
Primeiro passo
sábado, 27 de outubro de 12
![Page 38: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/38.jpg)
Se o projeto estiver criado?
sábado, 27 de outubro de 12
![Page 39: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/39.jpg)
Se o projeto estiver criado?
sábado, 27 de outubro de 12
![Page 40: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/40.jpg)
Se o projeto estiver criado?
sábado, 27 de outubro de 12
![Page 41: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/41.jpg)
Utilizar a library
<uses-library android:name="com.google.android.maps"/>
Adicionar no manifest
Dentro da tag <application>
sábado, 27 de outubro de 12
![Page 42: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/42.jpg)
Permissão no manifest
GPS e Internet
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/><uses-permission android:name="android.permission.INTERNET"/>
sábado, 27 de outubro de 12
![Page 43: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/43.jpg)
Chave de acesso
Para se trabalhar com o Google maps é necessário
obter uma chave
sábado, 27 de outubro de 12
![Page 44: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/44.jpg)
Como obter?
Para obter a chave do Google Maps é
necessário estar com o certificado digital que se utiliza para assinar a
aplicação
sábado, 27 de outubro de 12
![Page 45: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/45.jpg)
sábado, 27 de outubro de 12
![Page 46: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/46.jpg)
Necessário obter o fingerprint
sábado, 27 de outubro de 12
![Page 47: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/47.jpg)
Gerando chave
http://code.google.com/android/maps-api-signup.html
sábado, 27 de outubro de 12
![Page 48: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/48.jpg)
Gerando chave
sábado, 27 de outubro de 12
![Page 49: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/49.jpg)
Gerando chave
sábado, 27 de outubro de 12
![Page 50: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/50.jpg)
public class MainActivity extends MapActivity {
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); MapView mapView = new MapView(this, "key"); setContentView(mapView); }
@Override protected boolean isRouteDisplayed() { return false; }
}
MapActivity
sábado, 27 de outubro de 12
![Page 51: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/51.jpg)
public class MainActivity extends MapActivity {
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); MapView mapView = new MapView(this, "key"); setContentView(mapView); }
@Override protected boolean isRouteDisplayed() { return false; }
}
MapActivity
sábado, 27 de outubro de 12
![Page 52: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/52.jpg)
<RelativeLayout 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" >
<com.google.android.maps.MapView android:layout_width="fill_parent" android:layout_height="fill_parent" android:apiKey="key" />
</RelativeLayout>
sábado, 27 de outubro de 12
![Page 53: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/53.jpg)
Métodos do MapView
Método DescriçãosetSatellite(boolean) Configura o mapa para visualização do tipo
satélite
setStreetView(boolean) Configura o mapa para exibir as ruas
setTraffic(boolean) Configura o mapa para aexibir as ruas e condições de tráfego
sábado, 27 de outubro de 12
![Page 54: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/54.jpg)
Achando um ponto no mapa
GeoPoint geoPoint = new GeoPoint(latitudeE6, longitudeE6);
Necessário estar na notação de microdegress
sábado, 27 de outubro de 12
![Page 55: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/55.jpg)
Microdegress
1E6 = 1.000.000
sábado, 27 de outubro de 12
![Page 56: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/56.jpg)
//Grausdouble latitude = -25.442580;double longitude = -49.279840;//Converte para microdegress (graus * 1E6)int latitudeE6 = (int) (latitude * 1E6);int longitudeE6 = (int) (longitude * 1E6);
Exemplo
sábado, 27 de outubro de 12
![Page 57: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/57.jpg)
GeoPoint
sábado, 27 de outubro de 12
![Page 58: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/58.jpg)
Para definimos um ponto
sábado, 27 de outubro de 12
![Page 59: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/59.jpg)
GeoPoint geoPoint = new GeoPoint(latitudeE6, longitudeE6);mapView.getController().setCenter(geoPoint);mapView.getController().setZoom(18);
Exemplo
sábado, 27 de outubro de 12
![Page 60: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/60.jpg)
sábado, 27 de outubro de 12
![Page 61: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/61.jpg)
setBuiltInZoomControls(boolean)
sábado, 27 de outubro de 12
![Page 62: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/62.jpg)
setBuiltInZoomControls(boolean)
sábado, 27 de outubro de 12
![Page 63: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/63.jpg)
mapView.setClickable(boolean);
Permitir (ou não) o usuário “passiar” pelo mapa
sábado, 27 de outubro de 12
![Page 64: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/64.jpg)
Overlay
sábado, 27 de outubro de 12
![Page 65: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/65.jpg)
Marcar posição
Necessário criar uma classe que extenda de Overlay
sábado, 27 de outubro de 12
![Page 66: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/66.jpg)
CirculoOverleypublic class CirculoOverlay extends Overlay { private GeoPoint geoPoint; public CirculoOverlay(GeoPoint geoPoint) { this.geoPoint = geoPoint; } @Override public void draw(Canvas canvas, MapView mapView, boolean shadow) { super.draw(canvas, mapView, shadow); if (geoPoint != null) { Point point = mapView.getProjection().toPixels(geoPoint, null); Paint paint = new Paint(); paint.setColor(Color.RED); canvas.drawCircle(point.x, point.y, 10, paint); } }
}
sábado, 27 de outubro de 12
![Page 67: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/67.jpg)
CirculoOverleypublic class CirculoOverlay extends Overlay { private GeoPoint geoPoint; public CirculoOverlay(GeoPoint geoPoint) { this.geoPoint = geoPoint; } @Override public void draw(Canvas canvas, MapView mapView, boolean shadow) { super.draw(canvas, mapView, shadow); if (geoPoint != null) { Point point = mapView.getProjection().toPixels(geoPoint, null); Paint paint = new Paint(); paint.setColor(Color.RED); canvas.drawCircle(point.x, point.y, 10, paint); } }
}
sábado, 27 de outubro de 12
![Page 68: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/68.jpg)
CirculoOverleypublic class CirculoOverlay extends Overlay { private GeoPoint geoPoint; public CirculoOverlay(GeoPoint geoPoint) { this.geoPoint = geoPoint; } @Override public void draw(Canvas canvas, MapView mapView, boolean shadow) { super.draw(canvas, mapView, shadow); if (geoPoint != null) { Point point = mapView.getProjection().toPixels(geoPoint, null); Paint paint = new Paint(); paint.setColor(Color.RED); canvas.drawCircle(point.x, point.y, 10, paint); } }
}
sábado, 27 de outubro de 12
![Page 69: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/69.jpg)
CirculoOverleypublic class CirculoOverlay extends Overlay { private GeoPoint geoPoint; public CirculoOverlay(GeoPoint geoPoint) { this.geoPoint = geoPoint; } @Override public void draw(Canvas canvas, MapView mapView, boolean shadow) { super.draw(canvas, mapView, shadow); if (geoPoint != null) { Point point = mapView.getProjection().toPixels(geoPoint, null); Paint paint = new Paint(); paint.setColor(Color.RED); canvas.drawCircle(point.x, point.y, 10, paint); } }
}
sábado, 27 de outubro de 12
![Page 70: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/70.jpg)
CirculoOverleypublic class CirculoOverlay extends Overlay { private GeoPoint geoPoint; public CirculoOverlay(GeoPoint geoPoint) { this.geoPoint = geoPoint; } @Override public void draw(Canvas canvas, MapView mapView, boolean shadow) { super.draw(canvas, mapView, shadow); if (geoPoint != null) { Point point = mapView.getProjection().toPixels(geoPoint, null); Paint paint = new Paint(); paint.setColor(Color.RED); canvas.drawCircle(point.x, point.y, 10, paint); } }
}
sábado, 27 de outubro de 12
![Page 71: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/71.jpg)
CirculoOverleypublic class CirculoOverlay extends Overlay { private GeoPoint geoPoint; public CirculoOverlay(GeoPoint geoPoint) { this.geoPoint = geoPoint; } @Override public void draw(Canvas canvas, MapView mapView, boolean shadow) { super.draw(canvas, mapView, shadow); if (geoPoint != null) { Point point = mapView.getProjection().toPixels(geoPoint, null); Paint paint = new Paint(); paint.setColor(Color.RED); canvas.drawCircle(point.x, point.y, 10, paint); } }
}
sábado, 27 de outubro de 12
![Page 72: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/72.jpg)
Podemos adicionar vários pontos
mapView.getOverlays().add(new CirculoOverlay(geoPoint));
sábado, 27 de outubro de 12
![Page 73: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/73.jpg)
sábado, 27 de outubro de 12
![Page 74: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/74.jpg)
Exercício
• Criar estrutura para se trabalhar com o google maps
• Adicionar no layout 2 edits para informar a latitude e a longitude
• Criar um botão que atualize a tela diante a informação nos edits
sábado, 27 de outubro de 12
![Page 75: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/75.jpg)
Capturando minha localização
sábado, 27 de outubro de 12
![Page 76: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/76.jpg)
MyLocationOverlay
MyLocationOverlay myLocationOverlay = new MyLocationOverlay(this, mapView);myLocationOverlay.enableCompass(); //Ativar bussolamyLocationOverlay.enableMyLocation();mapView.getOverlays().add(myLocationOverlay);
sábado, 27 de outubro de 12
![Page 77: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/77.jpg)
LocationListenerpublic class MainActivity extends MapActivity implements LocationListener {
@Override public void onLocationChanged(Location arg0) { // TODO Auto-generated method stub }
@Override public void onProviderDisabled(String arg0) { // TODO Auto-generated method stub }
@Override public void onProviderEnabled(String arg0) { // TODO Auto-generated method stub }
@Override public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
LocationProvider.AVAILABLE LocationProvider.OUT_OF_SERVICE LocationProvider.TEMPORARILY_UNAVAILABLE }}
sábado, 27 de outubro de 12
![Page 78: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/78.jpg)
LocationManager locationManager = (LocationManager) getSystemService(locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);boolean gpsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);if (!gpsEnabled) { Intent settingsIntent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); startActivity(settingsIntent);}
sábado, 27 de outubro de 12
![Page 79: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/79.jpg)
Pesquisando um endereço
sábado, 27 de outubro de 12
![Page 80: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/80.jpg)
Geocode
Geocoder geocoder = new Geocoder(this);try { List<Address> addresses = geocoder.getFromLocationName(“Endereço”, maxResults); int latitude = calcular1E6(addresses.get(0).getLatitude()); int longitude = calcular1E6(addresses.get(0).getLongitude()); GeoPoint geoPoint = new GeoPoint(latitude, longitude); mapView.getOverlays().add(new CirculoOverlay(geoPoint)); mapView.getController().setCenter(geoPoint); mapView.getController().setZoom(18);} catch (IOException e) { e.printStackTrace();}
sábado, 27 de outubro de 12
![Page 81: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/81.jpg)
Exercicio
• Adicionar um edit na tela para se digitar o endereço
• Adicionar um button na tela para pesquisar
• Adicionar mapa na tela
sábado, 27 de outubro de 12
![Page 82: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/82.jpg)
Exercicio
sábado, 27 de outubro de 12
![Page 83: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/83.jpg)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" >
<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" >
<EditText android:id="@+id/edtEndereco" android:layout_width="fill_parent" android:layout_height="wrap_content" android:ems="10" />
<Button android:id="@+id/btnPesquisa" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Pesquisar" android:onClick="onPesquisar" android:layout_gravity="center_horizontal" /> </LinearLayout>
<com.google.android.maps.MapView android:id="@+id/map_view" android:layout_width="fill_parent" android:layout_height="fill_parent" android:apiKey="06T63Ikl10JbvKGOw8lqtEi8bvdlHJgwokXP1sw" />
</LinearLayout>
sábado, 27 de outubro de 12
![Page 84: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/84.jpg)
Traçar rota
sábado, 27 de outubro de 12
![Page 85: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/85.jpg)
http://maps.google.com/maps?f=d&hl=en&saddr=25.04202,121.534761&daddr=25.05202,121.554761&ie=UTF8&0&om=0&output=kml
Pegar o KML
sábado, 27 de outubro de 12
![Page 86: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/86.jpg)
SMS
sábado, 27 de outubro de 12
![Page 87: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/87.jpg)
SMS
SmsManager smsManager = SmsManager.getDefault();smsManager.sendTextMessage("numero", null, "mensagem", null, null);
import android.telephony.SmsManager;
<uses-permission android:name="android.permission.SEND_SMS" />
sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent)
Manifest
sábado, 27 de outubro de 12
![Page 88: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/88.jpg)
SMS
SmsManager smsManager = SmsManager.getDefault();smsManager.sendTextMessage("numero", null, "mensagem", null, null);
import android.telephony.SmsManager;
<uses-permission android:name="android.permission.SEND_SMS" />
sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent)
Manifest
sábado, 27 de outubro de 12
![Page 89: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/89.jpg)
SMS
SmsManager smsManager = SmsManager.getDefault();smsManager.sendTextMessage("numero", null, "mensagem", null, null);
import android.telephony.SmsManager;
<uses-permission android:name="android.permission.SEND_SMS" />
sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent)
Manifest
sábado, 27 de outubro de 12
![Page 90: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/90.jpg)
sábado, 27 de outubro de 12
![Page 91: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/91.jpg)
Banco de dados
sábado, 27 de outubro de 12
![Page 92: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/92.jpg)
Banco de dados
SQLite
sábado, 27 de outubro de 12
![Page 93: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/93.jpg)
Banco de dados
SQLite
ORMLite
http://ormlite.com/sábado, 27 de outubro de 12
![Page 94: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/94.jpg)
sábado, 27 de outubro de 12
![Page 95: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/95.jpg)
O que é ORMLite?
sábado, 27 de outubro de 12
![Page 96: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/96.jpg)
O que é ORMLite?
Um framework ORM (Object Relational Mapping)
sábado, 27 de outubro de 12
![Page 97: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/97.jpg)
sábado, 27 de outubro de 12
![Page 98: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/98.jpg)
O que é necessário?
Baixar as libs:
http://ormlite.com/releases/4.42/ormlite-android-4.42.jar
http://ormlite.com/releases/4.42/ormlite-core-4.42.jar
sábado, 27 de outubro de 12
![Page 99: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/99.jpg)
O que é necessário?
E coloca-las dentro da pasta libs no projeto
sábado, 27 de outubro de 12
![Page 100: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/100.jpg)
O que é necessário?
sábado, 27 de outubro de 12
![Page 101: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/101.jpg)
O que é necessário?Adicionar as libs ao projeto
sábado, 27 de outubro de 12
![Page 102: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/102.jpg)
O que é necessário?
sábado, 27 de outubro de 12
![Page 103: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/103.jpg)
O que é necessário?
sábado, 27 de outubro de 12
![Page 104: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/104.jpg)
O que é necessário?
sábado, 27 de outubro de 12
![Page 105: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/105.jpg)
O que é necessário?
sábado, 27 de outubro de 12
![Page 106: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/106.jpg)
sábado, 27 de outubro de 12
![Page 107: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/107.jpg)
Biblioteca do ORMLite adicionada
sábado, 27 de outubro de 12
![Page 108: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/108.jpg)
sábado, 27 de outubro de 12
![Page 109: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/109.jpg)
Vamos imaginar um pouco...
sábado, 27 de outubro de 12
![Page 110: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/110.jpg)
Criar uma classe Cliente
sábado, 27 de outubro de 12
![Page 111: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/111.jpg)
E fazer com que a classe represente uma tabela no banco
sábado, 27 de outubro de 12
![Page 112: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/112.jpg)
public class Cliente { private String nome; private String endereco; private Date dataNascimento; public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getEndereco() { return endereco; } public void setEndereco(String endereco) { this.endereco = endereco; } public Date getDataNascimento() { return dataNascimento; } public void setDataNascimento(Date dataNascimento) { this.dataNascimento = dataNascimento; }}
sábado, 27 de outubro de 12
![Page 113: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/113.jpg)
Annotation
sábado, 27 de outubro de 12
![Page 114: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/114.jpg)
Annotation
@DatabaseField
@DatabaseTable
sábado, 27 de outubro de 12
![Page 115: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/115.jpg)
@DatabaseTable
@DatabaseTablepublic class Cliente {}
sábado, 27 de outubro de 12
![Page 116: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/116.jpg)
@DatabaseField
@DatabaseField private String nome;
sábado, 27 de outubro de 12
![Page 117: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/117.jpg)
Exemplo@DatabaseTablepublic class Cliente { @DatabaseField(id=true, generatedId=true) private Integer id; @DatabaseField private String nome; @DatabaseField private String endereco; @DatabaseField(columnName="data_nascimento") private Date dataNascimento;
sábado, 27 de outubro de 12
![Page 118: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/118.jpg)
DAO
Data Access Object
sábado, 27 de outubro de 12
![Page 119: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/119.jpg)
ClienteDao
public class ClienteDao extends BaseDaoImpl<Cliente, Integer> {
public ClienteDao(ConnectionSource connectionSource) throws SQLException { super(Cliente.class); setConnectionSource(connectionSource); initialize(); }}
sábado, 27 de outubro de 12
![Page 120: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/120.jpg)
ClienteDao
public class ClienteDao extends BaseDaoImpl<Cliente, Integer> {
public ClienteDao(ConnectionSource connectionSource) throws SQLException { super(Cliente.class); setConnectionSource(connectionSource); initialize(); }}
sábado, 27 de outubro de 12
![Page 121: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/121.jpg)
Estrutura base
sábado, 27 de outubro de 12
![Page 122: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/122.jpg)
DatabaseHelper
No proprio site do ORMLite é disponibilizada uma classe para auxiliar na criação/atualização/remorção do banco
http://ormlite.com/android/examples/
sábado, 27 de outubro de 12
![Page 123: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/123.jpg)
DataBaseHelperpublic class DatabaseHelper extends OrmLiteSqliteOpenHelper {
private static final String DATABASE_NAME = "banco.db"; private static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); }
@Override public void onCreate(SQLiteDatabase db, ConnectionSource connectionSource) { try { TableUtils.createTable(connectionSource, Cliente.class); //Aqui é definido as classes modelos que representam uma tabela no banco. } catch (SQLException e) { throw new RuntimeException(e); } }
sábado, 27 de outubro de 12
![Page 124: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/124.jpg)
DataBaseHelperpublic class DatabaseHelper extends OrmLiteSqliteOpenHelper {
private static final String DATABASE_NAME = "banco.db"; private static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); }
@Override public void onCreate(SQLiteDatabase db, ConnectionSource connectionSource) { try { TableUtils.createTable(connectionSource, Cliente.class); //Aqui é definido as classes modelos que representam uma tabela no banco. } catch (SQLException e) { throw new RuntimeException(e); } }
sábado, 27 de outubro de 12
![Page 125: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/125.jpg)
DataBaseHelperpublic class DatabaseHelper extends OrmLiteSqliteOpenHelper {
private static final String DATABASE_NAME = "banco.db"; private static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); }
@Override public void onCreate(SQLiteDatabase db, ConnectionSource connectionSource) { try { TableUtils.createTable(connectionSource, Cliente.class); //Aqui é definido as classes modelos que representam uma tabela no banco. } catch (SQLException e) { throw new RuntimeException(e); } }
sábado, 27 de outubro de 12
![Page 126: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/126.jpg)
DataBaseHelperpublic class DatabaseHelper extends OrmLiteSqliteOpenHelper {
private static final String DATABASE_NAME = "banco.db"; private static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); }
@Override public void onCreate(SQLiteDatabase db, ConnectionSource connectionSource) { try { TableUtils.createTable(connectionSource, Cliente.class); //Aqui é definido as classes modelos que representam uma tabela no banco. } catch (SQLException e) { throw new RuntimeException(e); } }
sábado, 27 de outubro de 12
![Page 127: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/127.jpg)
DataBaseHelperpublic class DatabaseHelper extends OrmLiteSqliteOpenHelper {
private static final String DATABASE_NAME = "banco.db"; private static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); }
@Override public void onCreate(SQLiteDatabase db, ConnectionSource connectionSource) { try { TableUtils.createTable(connectionSource, Cliente.class); //Aqui é definido as classes modelos que representam uma tabela no banco. } catch (SQLException e) { throw new RuntimeException(e); } }
sábado, 27 de outubro de 12
![Page 128: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/128.jpg)
DataBaseHelperpublic class DatabaseHelper extends OrmLiteSqliteOpenHelper {
private static final String DATABASE_NAME = "banco.db"; private static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); }
@Override public void onCreate(SQLiteDatabase db, ConnectionSource connectionSource) { try { TableUtils.createTable(connectionSource, Cliente.class); //Aqui é definido as classes modelos que representam uma tabela no banco. } catch (SQLException e) { throw new RuntimeException(e); } }
sábado, 27 de outubro de 12
![Page 129: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/129.jpg)
@Override public void onUpgrade(SQLiteDatabase db, ConnectionSource connectionSource, int oldVersion, int newVersion) { try { Log.i(DatabaseHelper.class.getName(), "onUpgrade"); TableUtils.dropTable(connectionSource, Cliente.class, true); onCreate(db, connectionSource); } catch (SQLException e) { Log.e(DatabaseHelper.class.getName(), "Can't drop databases", e); throw new RuntimeException(e); } }
DataBaseHelper
sábado, 27 de outubro de 12
![Page 130: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/130.jpg)
@Override public void onUpgrade(SQLiteDatabase db, ConnectionSource connectionSource, int oldVersion, int newVersion) { try { Log.i(DatabaseHelper.class.getName(), "onUpgrade"); TableUtils.dropTable(connectionSource, Cliente.class, true); onCreate(db, connectionSource); } catch (SQLException e) { Log.e(DatabaseHelper.class.getName(), "Can't drop databases", e); throw new RuntimeException(e); } }
DataBaseHelper
sábado, 27 de outubro de 12
![Page 131: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/131.jpg)
@Override public void onUpgrade(SQLiteDatabase db, ConnectionSource connectionSource, int oldVersion, int newVersion) { try { Log.i(DatabaseHelper.class.getName(), "onUpgrade"); TableUtils.dropTable(connectionSource, Cliente.class, true); onCreate(db, connectionSource); } catch (SQLException e) { Log.e(DatabaseHelper.class.getName(), "Can't drop databases", e); throw new RuntimeException(e); } }
DataBaseHelper
sábado, 27 de outubro de 12
![Page 132: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/132.jpg)
Instânciando um DAO
sábado, 27 de outubro de 12
![Page 133: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/133.jpg)
Instância do DAO
DatabaseHelper helper = new DatabaseHelper(getContext());
ClienteDao dao = new ClienteDao(helper.getConnectionSource());
sábado, 27 de outubro de 12
![Page 134: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/134.jpg)
Persistindo um objeto
sábado, 27 de outubro de 12
![Page 135: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/135.jpg)
dao.create(cliente);
sábado, 27 de outubro de 12
![Page 136: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/136.jpg)
Buscando todos os objetos
sábado, 27 de outubro de 12
![Page 137: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/137.jpg)
dao.queryForAll()
sábado, 27 de outubro de 12
![Page 138: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/138.jpg)
Buscando por id
sábado, 27 de outubro de 12
![Page 139: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/139.jpg)
dao.queryForId(id)
sábado, 27 de outubro de 12
![Page 140: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/140.jpg)
Buscando por qualquer campo
sábado, 27 de outubro de 12
![Page 141: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/141.jpg)
dao.queryForEq(fieldName, value)
sábado, 27 de outubro de 12
![Page 142: Aula android 03](https://reader033.fdocumentos.com/reader033/viewer/2022052303/554d2c91b4c905c5208b5280/html5/thumbnails/142.jpg)
Exercício• Criar estrutura para se trabalhar com banco
de dados
• Criar uma classe que será persistida
• Criar o DAO dessa classe
• Criar tela com edits, cada edit será um campo
• Inserir botão de gravar
• Inserir botão para imprimir todos os dados no log
sábado, 27 de outubro de 12