Desenvolvimento Java para Dispositivos - Android Nelson Hideo Kashima ([email protected]) www.linkedin.com/in/nelsonkashima 2012 Emulador • • • • Snapshot = enabled; Device Ram Size – 1024; CPU 0; -cpu-delay 0 -no-boot-anim -cache ./cache Laboratório de Tecnologia Java Universidade Tecnológica Federal Paraná VirtualBox • Virtualização de SOs; • https://www.virtualbox.org • http://www.android-x86.org/download Laboratório de Tecnologia Java Universidade Tecnológica Federal Paraná VirtualBox Laboratório de Tecnologia Java Universidade Tecnológica Federal Paraná VirtualBox • • • • Criar Disco Novo; VDI; Alocado dinamicamente; 8Gb Laboratório de Tecnologia Java Universidade Tecnológica Federal Paraná VirtualBox - Imagem Android Laboratório de Tecnologia Java Universidade Tecnológica Federal Paraná VirtualBox – Config. Rede Laboratório de Tecnologia Java Universidade Tecnológica Federal Paraná Comparação Emulador vs VirtualBox http://dev.blogs.nuxeo.com/2011/10/speeding-up-the-androidemulator.html Laboratório de Tecnologia Java Universidade Tecnológica Federal Paraná Conexão USB • Baixar os drivers de configuração usb do dispositivo; – http://developer.android.com/sdk/oemusb.html • Baixar a Google USB Driver; • Alterar o AndroidManifest.xml; – android:debuggable="true“ • Adb devices para verificar a conexão; Laboratório de Tecnologia Java Universidade Tecnológica Federal Paraná Alert • setMessage(String); • setTitle(String); • setPositiveButton(),setNeutralButton(), e setNegativeButton(); • show(); Laboratório de Tecnologia Java Universidade Tecnológica Federal Paraná Toast • Mensagem simples; • makeText(view, String, tempo); • show(); Laboratório de Tecnologia Java Universidade Tecnológica Federal Paraná Menu • • • • Diretório “menu”; onCreateOptionsMenu(menu); onOptionsItemSelected(item); Menu.First; Laboratório de Tecnologia Java Universidade Tecnológica Federal Paraná ViewFlipper • Troca o layout filho; • showNext(); • showPrevious(); Laboratório de Tecnologia Java Universidade Tecnológica Federal Paraná Database / sqlite • www.sqlite.org/; • “self-contained, embeddable, zeroconfiguration SQL database engine”; • +/- 1 Mb; • http://sourceforge.net/projects/sqlitebro wser/ Laboratório de Tecnologia Java Universidade Tecnológica Federal Paraná Sqlite comandos • • • • • .table = lista as tabelas; .quit = sai; .database = bancos abertos; .read arq.sql = Lê o arquivo; .help Laboratório de Tecnologia Java Universidade Tecnológica Federal Paraná Db • Db = openOrCreateDatabase(); • execSQL(); • Cursor = rawQuery(1,2) ou query; – “where id = ?", new String[] { id }; – null simples; • getColumnIndex(String); Laboratório de Tecnologia Java Universidade Tecnológica Federal Paraná ContentProvider • Sqlite cria um banco privado para app; • Para compartilhar você deve usar o ContentProvider; • Se preferir, use para acessar dados da app; • android:exported=false • <provider android:authorities=“xx" android:name=".yy.y" > </provider> Laboratório de Tecnologia Java Universidade Tecnológica Federal Paraná Adm Db • • • • • adb shell cd data/data cd pacote.pac cd databases sqlite3 db Laboratório de Tecnologia Java Universidade Tecnológica Federal Paraná Intenção • Ações: – ACTION_MAIN; – ACTION_DIAL; – ACTION_WEB_SEARCH; ... Laboratório de Tecnologia Java Universidade Tecnológica Federal Paraná Intenção / Categoria • CATEGORY_LAUNCHER; (top) • CATEGORY_HOME; (primeira após boot); • CATEGORY_CAR_MODE; (modo carro); • CATEGORY_EMBED; • ... Laboratório de Tecnologia Java Universidade Tecnológica Federal Paraná Intenção • intent.setClass(quem chama, para qual); • startActivity(intenção, código de retorno); • protected void onActivityResult(int requestCode, int resultCode, Intent data) {…} Laboratório de Tecnologia Java Universidade Tecnológica Federal Paraná Intenção • getStringExtra(“chave”); • putExtras(Bundle) / putExtra(); Laboratório de Tecnologia Java Universidade Tecnológica Federal Paraná Dúvidas? Nelson Hideo Kashima ([email protected]) 2012