Comunicação via Sockets
|
|
- Maria Júlia Barreiro Lemos
- 8 Há anos
- Visualizações:
Transcrição
1 Programação para a Plataforma Android Aula 9 Comunicação via Sockets O que são sockets? O que são data access objects? Como criar servidores de serviços distribuídos? Aplicações mulb threading simples O padrão de projetos command O que é o princípio da inversão de dependências?
2 Sockets Sockets são uma abstração de endereços de comunicação: Um nome de host, mais um número de porta. Esse Bpo de dados é a abstração de comunicação básica em várias linguagens de programação. Java não é exceção.
3 Banco de Dados Distribuído Serviço de notas de estudantes: Implemente um banco de dados distribuído que informe a nota de um estudante. Estudantes são encontrados por um id um inteiro do tipo longo que os identifica unicamente. O banco de dados deve ser acessado via um DAO (Data Access Object) As operação aceitas são add, get, delete e update. O servidor de dados deve receber conexões na porta O servidor deve criar uma thread para tratar cada conexão recebida. O banco de dados deve receber conexões de clientes android.
4 Data Access Object Um DAO é um objeto que faz a intermediação entre a lógica de serviço, e o sistema de banco de dados. É o intermediário. Operações Bpicamente fornecidas por um DAO são adicionar, atualizar, remover e pesquisar. Em termos de padrões de projeto um DAO é um adaptador. Como descrever o DAO em Java?
5 Data Access Object server/dao.java package server; public interface DAO<K, V> { V get(k key); void add(k key, V value); O que são esses K s e V s? O nosso banco de dados irá armazenar estudantes. void delete(k key); void update(k key, V value); O que é um estudante?
6 Estudantes public class Student { public Student(long key, String name, double grade) { this.name = name; this.grade = grade; this.key = key; public final String name; public final double grade; public final long key; public String tostring() { Instâncias dessa classe deverão ser passadas via rede. return name + "" + "(" + key + "): " + grade; server/student.java Qual propriedade objetos passáveis via rede devem ter?
7 import java.io.serializable; public class Student implements Serializable { public Student(long key, String name, double grade) { this.name = name; this.grade = grade; this.key = key; public final String name; public final double grade; public final long key; public String tostring() { Estudantes Como será nosso servidor de banco de dados? return name + "" + "(" + key + "): " + grade; server/student.java
8 server/server1/gradeserver.java O Servidor public stabc void main(string[] args) { Map<Long, Student> students = new HashMap<Long, Student>(); loaddb(students); ServerSocket serversocket = null; boolean listening = true; try { serversocket = new ServerSocket(4444); System.out.println("WaiBng for connecbon"); while (listening) { new StudentHandlerThread(serverSocket.accept(), students).start(); serversocket.close(); catch (IOExcepBon e) { e.printstacktrace(); System.exit( 1); O que é um stub? Precisamos implementar um stub para testar nosso programa. E como será a implementação de nosso stub?
9 Um Stub muito Simples private stabc void loaddb(map<long, Student> students) { students.put( l, new Student( L, "Alberico", 90.5)); students.put( l, new Student( L, "Bernadino", 71.0)); students.put( l, new Student( L, "Romao", 84.0));
10 server/server1/gradeserver.java O Servidor public stabc void main(string[] args) { Map<Long, Student> students = new HashMap<Long, Student>(); loaddb(students); ServerSocket serversocket = null; boolean listening = true; try { serversocket = new ServerSocket(4444); System.out.println("WaiBng for connecbon"); while (listening) { new StudentHandlerThread(serverSocket.accept(), students).start(); serversocket.close(); catch (IOExcepBon e) { e.printstacktrace(); System.exit( 1); O que é uma thread? Agora precisamos implementar essa thread E como implementar threads em Java?
11 server/server1/studenthandlerthread.java public class StudentHandlerThread extends Thread { private Socket socket = null; Map<Long, Student> students; A Thread Novamente: o que é uma thread? public StudentHandlerThread(Socket socket, Map<Long, Student> students) { System.out.println("Got conecbon!"); this.socket = socket; this.students = students; public void run() {... Como inicia-se a execução de uma thread? Qual a vantagem de se programar com threads? Que suporte java dá para programação multi-thread? Como implementar o método run?
12 server/server1/studenthandlerthread.java public void run() { try { ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream()); ObjectInputStream in = new ObjectInputStream(socket.getInputStream()); Long key = (Long) in.readobject(); while (key.longvalue()!= 0L) { System.out.println("Received " + key); if (students.containskey(key)) { out.writeobject(students.get(key)); else { out.writeobject(new Student( 1, "", 0.0)); key = (Long) in.readobject(); out.close(); in.close(); socket.close(); catch (ExcepBon e) { e.printstacktrace(); Quantas vezes essa thread provê esse serviço? Que tipo de serviço essa thread provê? O que acontece quando um id não está presente no banco de dados? Precisamos implementar o lado cliente da aplicação
13 O Lado Cliente public class Dao1 implements DAO<Long, Student> { public Student get(long key) {... public void add(long key, Student value) {... Por enquanto, vamos prover somente o get. public void update(long key, Student value) {... public void delete(long key) {... server/server1/dao1.java E como seria a implementação do get?
14 Implementação do DAO public Student get(long key) { Student s = null; Socket socket; ObjectOutputStream out; ObjectInputStream in; try { socket = new Socket(" ", 4444); out = new ObjectOutputStream(socket.getOutputStream()); in = new ObjectInputStream(socket.getInputStream()); out.writeobject(new Long(key)); s = (Student) in.readobject(); out.writeobject(new Long(0L)); socket.close(); out.close(); in.close(); catch (ExcepBon e) { e.printstacktrace(); return s; server/server1/dao1.java Comecemos então pelo layout! Que endereço é esse? Olhando para cliente e servidor, qual é o protocolo de comunicação? Ok, mas agora é preciso usar esse cliente em um telefone
15 Aviso importante: Setup Para que nosso cliente funcione, ele precisa enxergar o servidor. Botão direito no projeto > build path > configure build path Lembre se de exportar o pacote server com a aplicação, ou ela será compilada, mas não executará corretamente.
16 Layout do Cliente Como criar esse layout em XML?
17 <LinearLayout xmlns:android="h7p://schemas.android.com/apk/res/ android" android:orientabon="ver>cal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <EditText android:focusable="true" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"/> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" <LinearLayout android:orientabon="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <EditText android:focusable="true" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="0.3"/> <EditText android:focusable="true" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"/> </LinearLayout> <Bu on android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"/> </LinearLayout> Vamos precisar de algumas constants strings. main.xml Layout do Cliente
18 Layout do Cliente <LinearLayout xmlns:android="h7p://schemas.android.com/apk/res/ android" android:orientabon="ver>cal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <EditText android:focusable="true" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"/> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" <LinearLayout android:orientabon="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <EditText android:focusable="true" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="0.3"/> <EditText android:focusable="true" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"/> </LinearLayout> <Bu on android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"/> </LinearLayout> main.xml <?xml version="1.0" encoding="u} 8"?> <resources> <string name="app_name">aula9</string> <string name="client_name">daoclient</string> <string name="read">r</string> <string name="write">w</string> <string name="lblresults">nome e Nota:</string> <string name="get">g</string> <string name="add">a</string> <string name="upd">u</string> <string name="del">d</string> <string name="cln">c</string> <string name="siz">s</string> </resources> E como implementar a atividate? strings.xml
19 @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); final EditText txtid = (EditText) findviewbyid(r.id.txtid); final EditText txtname = (EditText) findviewbyid(r.id.txtname); final EditText txtgrade = (EditText) findviewbyid(r.id.txtgrade); ((Bu on) findviewbyid(r.id.read)).setonclicklistener(new Bu on.onclicklistener() { public void onclick(view arg0) { String strid = txtid.gettext().tostring(); long id = Long.parseLong(strId); Dao1 d = new Dao1(); Student s = d.get(id); txtname.settext(s.name); txtgrade.settext(string.valueof(s.grade)); }); AulaAcBvity9.java Essa atividade precisa de permissões especiais. Quais? E como indicamos que essas permissões são necessárias?
20 manifest.xml Manifesto! Agora temos de testar nossa atividade! Como? <?xml version="1.0" encoding="u} 8"?> <manifest xmlns:android="h p://schemas.android.com/apk/res/android" package="com.aula9" android:versioncode="1" android:versionname="1.0" > <applicabon <acbvity android:name=".aulaacibvity9" <intent filter> <acbon android:name="android.intent.acbon.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </acbvity> </applicabon> <uses sdk android:minsdkversion="2" /> <uses permission android:name="android.permission.internet" /> </manifest>
21 Objetos Remotos A mágica de programar para as interfaces. Note que nosso DAO funciona como um objeto remoto. Ele é usado como se seus dados esbvessem disponíveis localmente, ainda que esses dados estejam distribuídos! Simplesmente olhando para esse código, não é possível saber que o objeto é remoto. public void onclick(view arg0) { String strid = txtid.gettext().tostring(); long id = Long.parseLong(strId); Dao1 d = new Dao1(); Student s = d.get(id); txtname.settext(s.name); txtgrade.settext(string.valueof(s.grade));
22 Ligando o Servidor Podemos abrir uma nova instância de Eclipse, ou simplesmente iniciar o servidor a parbr da linha de comando: ~/workspace/server$ cd bin/ ~/workspace/server/bin$ java server.server1.gradeserver Waiting for connection Agora já podemos usar o cliente!
23 Testando a Aplicação Precisamos implementar os outros métodos: add, update, delete. Mas o nosso programa possui várias falhas de projeto! Quais? Existem falhas no servidor Mas também existem falhas no cliente!
24 Analisando a Camada de Comunicação public Student get(long key) { Student s = null; Socket socket; ObjectOutputStream out; ObjectInputStream in; try { socket = new Socket(" ", 4444); out = new ObjectOutputStream(socket.getOutputStream()); in = new ObjectInputStream(socket.getInputStream()); out.writeobject(new Long(key)); s = (Student) in.readobject(); out.writeobject(new Long(0L)); socket.close(); out.close(); in.close(); catch (ExcepBon e) { e.printstacktrace(); return s; server/server1/dao1.java Há um grande desperdício de recursos aqui. Que desperdício é esse?
25 Analisando a Camada de Comunicação public Student get(long key) { Student s = null; Socket socket; ObjectOutputStream out; ObjectInputStream in; try { socket = new Socket(" ", 4444); out = new ObjectOutputStream(socket.getOutputStream()); in = new ObjectInputStream(socket.getInputStream()); out.writeobject(new Long(key)); s = (Student) in.readobject(); out.writeobject(new Long(0L)); socket.close(); out.close(); in.close(); catch (ExcepBon e) { e.printstacktrace(); return s; server/server1/dao1.java Há um grande desperdício de recursos aqui. Que desperdício é esse? E como reusar os canais de comunicação? Como garantir que o canal aberto seja eventualmente fechado?
26 O padrão Command server/server2/command.java public interface Command { void execute(dao6 d); Temos um miniarcabouço. Vocês lembram o que é um arcabouço? Esse padrão é uma forma de inversão de dependências. O que é isso? public class Invoker { public void invoke(dao6 d, Command c) { openconnecbon(); d.setchannels(out, in); c.execute(d); closeconnecbon(); server/server2/invoker.java
27 O padrão Command server/server2/command.java public interface Command { void execute(dao6 d); Como estão sendo divididas as responsabilidades? public class Invoker { public void invoke(dao6 d, Command c) { openconnecbon(); d.setchannels(out, in); c.execute(d); closeconnecbon(); server/server2/invoker.java
28 Command Como transcrever esses elementos para nossa aplicação?
29 server/server2/invoker.java O Invocador public class Invoker { public void invoke(dao6 d, Command c) {... private void openconnecbon() {... private void closeconnecbon() {... public Invoker(String host, int port) { this.host = host; this.port = port; public class Invoker { public void invoke(dao6 d, Command c) { openconnecbon(); d.setchannels(out, in); c.execute(d); closeconnecbon();
30 O Invocador private void openconnecbon() { try { socket = new Socket(host, port); out = new ObjectOutputStream(socket.getOutputStream()); in = new ObjectInputStream(socket.getInputStream()); catch (ExcepBon e) { e.printstacktrace(); server/server2/invoker.java private void closeconnecbon() { try { out.writeobject(new Integer(EOF)); out.flush(); socket.close(); out.close(); in.close(); catch (ExcepBon e) { e.printstacktrace(); Quais os campos de objetos invokers? Como seria o construtor da classe Invoker? public void invoke(dao6 d, Command c) { openconnecbon(); d.setchannels(out, in); c.execute(d); closeconnecbon();
31 Ainda o Invocador public class Invoker { private stabc final int EOF = 1; private String host; private int port; private Socket socket = null; private ObjectOutputStream out = null; private ObjectInputStream in = null; public Invoker(String host, int port) { this.host = host; this.port = port; private void closeconnecbon() { private void openconnecbon() { public void invoke() { Quais são as responsabilidades do DAO?
32 Inversão de Dependência Antes o DAO Bnha a responsabilidade de abrir a conexão de rede. O DAO dependia da conexão de rede para funcionar. Agora o DAO recebe uma conexão já aberta. A dependência não mais existe. A enbdade responsável por abrir essas conexões, o Invoker, agora depende do DAO. A criação e liberação de recursos já não é mais responsabilidades dos usuários do DAO.
33 server/server2/dao6.java public class Dao6 implements DAO<Long, Student> { private ObjectOutputStream out; private ObjectInputStream in; public void setchannels (ObjectOutputStream out, ObjectInputStream in) { this.out = out; this.in = in; public Student get(long key) { Student s = null; try { out.writeobject(new Integer(DAO.GET)); out.writeobject(new Long(key)); s = (Student) in.readobject(); out.flush(); catch (ExcepBon e) { e.printstacktrace(); return s; O Novo DAO Qual é o protocolo de comunicação? Que constante é essa aqui? Para que ela serve?
34 Constantes para a Comunicação public interface DAO<K, V> { final int GET = 1; final int ADD = 2; final int DELETE = 3; final int UPDATE = 4; final int SIZE = 5; final int PORT = 4444; final String HOST = " "; V get(k key); void add(k key, V value); void delete(k key); void update(k key, V value); int size(); server/dao.java Nós já vimos a implementação desse método. Como ficam os outros?
35 server/server2/dao6.java public void add(long key, Student value) { try { out.writeobject(new Integer(DAO.ADD)); out.writeobject(new Long(key)); out.writeobject(value); out.flush(); catch (ExcepBon e) { e.printstacktrace(); O Novo DAO public void delete(long key) { try { out.writeobject(new Integer(DAO.DELETE)); out.writeobject(new Long(key)); out.flush(); catch (ExcepBon e) { e.printstacktrace(); public void update(long key, Student value) { try { out.writeobject(new Integer(DAO.UPDATE)); out.writeobject(new Long(key)); out.writeobject(value); out.flush(); catch (ExcepBon e) { e.printstacktrace(); Como é a implementação do protocolo no lado servidor?
36 public void run() { try { Integer request = (Integer) in.readobject(); boolean isworking = true; while (isworking) { switch (request.intvalue()) { case DAO.GET: out.writeobject(get((long) in.readobject())); break; case DAO.DELETE: delete((long) in.readobject()); break; case DAO.UPDATE: update((long) in.readobject(), (Student)in.readObject()); break; case DAO.ADD: add((long) in.readobject(), (Student)in.readObject()); break; default: isworking = false; return; request = (Integer) in.readobject(); out.close(); in.close(); socket.close(); catch (ExcepBon e) { e.printstacktrace(); Fecho, mas onde abro? server/server2/studenthandlerthread.java O Servidor public Student get(long key) { Student s = null; if (students.containskey(key)) { s = students.get(key); else { s = new Student( 1, "", 0.0); return s; private Socket socket = null; private Map<Long, Student> students; private ObjectOutputStream out; private ObjectInputStream in;
37 O Servidor public void run() { try { Integer request = (Integer) in.readobject(); boolean isworking = true; while (isworking) { switch (request.intvalue()) { case DAO.GET: out.writeobject(get((long) in.readobject())); break; case DAO.DELETE: delete((long) in.readobject()); break; case DAO.UPDATE: update((long) in.readobject(), (Student)in.readObject()); break; case DAO.ADD: add((long) in.readobject(), (Student)in.readObject()); break; default: isworking = false; return; request = (Integer) in.readobject(); out.close(); in.close(); socket.close(); catch (ExcepBon e) { e.printstacktrace(); server/server2/studenthandlerthread.java public StudentHandlerThread(Socket socket, Map<Long, Student> students) { System.out.println("Got conecbon!"); this.socket = socket; this.students = students; try { out = new ObjectOutputStream(socket.getOutputStream()); in = new ObjectInputStream(socket.getInputStream()); catch (ExcepBon e) { e.printstacktrace(); Temos, é claro, outros métodos para implementar
38 O Servidor public void add(long key, Student value) { this.students.put(key, value); public void update(long key, Student value) { add(key, value); public void delete(long key) { this.students.remove(key); Prcisamos, agora, escrever o novo cliente. Temos quatro eventos para tratar. Quais são eles? E como seria o layout do novo programa? server/server2/studenthandlerthread.java
39 Quatro Botões Como fazer um layout assim? Quantos layouts lineares temos aqui? E como seria a atividade cliente? Quantos eventos precisam ser tratados?
40 Layout <LinearLayout xmlns:android= "h p://schemas.android.com/apk/res/android" android:orientabon="verbcal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <EditText android:focusable="true" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"/> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" <LinearLayout android:orientabon="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <EditText android:focusable="true" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="0.3"/> <EditText android:focusable="true" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"/> </LinearLayout> <LinearLayout android:orientabon="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <Bu on android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"/> <Bu on android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"/> <Bu on android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"/> <Bu on android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"/> <Bu on android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"/> </LinearLayout> </LinearLayout> client.xml Escreva agora a classe que implementa essa atividade.
41 @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.client); txtid = (EditText) findviewbyid(r.id.txtid); txtname = (EditText) findviewbyid(r.id.txtname); txtgrade = (EditText) findviewbyid(r.id.txtgrade); oncreate ((Bu on) findviewbyid(r.id.get)).setonclicklistener(new GetCmd()); ((Bu on) findviewbyid(r.id.add)).setonclicklistener(new AddCmd()); ((Bu on) findviewbyid(r.id.upd)).setonclicklistener(new UpdCmd()); ((Bu on) findviewbyid(r.id.del)).setonclicklistener(new DelCmd()); ((Bu on) findviewbyid(r.id.cln)).setonclicklistener(new Bu on.onclicklistener() { public void onclick(view arg0) { txtid.settext(""); txtname.settext(""); txtgrade.settext(""); }); Client2.java Precimos implementar todos esses eventos!
42 class UpdCmd implements Command, Bu on.onclicklistener { public void onclick(view arg0) { Invoker i = new Invoker(DAO.HOST, DAO.PORT); Dao6 d = new Dao6(); i.invoke(d, this); public void execute(dao6 d) { long id = Long.parseLong(txtId.getText().toString()); String name = txtname.gettext().tostring(); double grade = Double.parseDouble(txtGrade.getText().toString()); Student std = new Student(id, name, grade); d.update(id, std); Essa alternativa é muito redundante. Como fatorar onclick( )? Já podemos testar nossa aplicação! class GetCmd implements Command, Bu on.onclicklistener { public void onclick(view arg0) { Invoker i = new Invoker(DAO.HOST, DAO.PORT); Dao6 d = new Dao6(); i.invoke(d, this); public void execute(dao6 d) { String strid = txtid.gettext().tostring(); long id = Long.parseLong(strId); Student s = d.get(id); txtname.settext(s.name); txtgrade.settext(string.valueof(s.grade));
43 Client2.java Classes Abstratas abstract class AbstractCommand implements Command, Bu on.onclicklistener { public abstract void execute(dao6 d); public void onclick(view arg0) { Invoker i = new Invoker(DAO.HOST, DAO.PORT); Dao6 d = new Dao6(); i.invoke(d, this); Como seria o tratador do evento de adição de novo dado? Todos os tratadores de evento vão usar esse método onclick Eles terão somente de implementar o método execute.
44 Client2.java AddCmd class AddCmd extends AbstractCommand implements Command { public void execute(dao6 d) { long id = Long.parseLong(txtId.getText().toString()); String name = txtname.gettext().tostring(); double grade = Double.parseDouble(txtGrade.getText().toString()); Student std = new Student(id, name, grade); d.add(id, std); Agora está fácil: como ficaria o comando para pesquisar um ID?
45 getcmd Client2.java class GetCmd extends AbstractCommand implements Command { public void execute(dao6 d) { String strid = txtid.gettext().tostring(); long id = Long.parseLong(strId); Student s = d.get(id); txtname.settext(s.name); txtgrade.settext(string.valueof(s.grade)); E o comando para atualizar um item? Não se esqueçam do comando para apagar um item!
46 UpdCmd Client2.java class UpdCmd extends AbstractCommand implements Command { public void execute(dao6 d) { long id = Long.parseLong(txtId.getText().toString()); String name = txtname.gettext().tostring(); double grade = Double.parseDouble(txtGrade.getText().toString()); Student std = new Student(id, name, grade); d.update(id, std);
47 DelCmd Client2.java class DelCmd extends AbstractCommand implements Command { public void execute(dao6 d) { long id = Long.parseLong(txtId.getText().toString()); d.delete(id);
48 Exercício: Size Modifique a sua aplicação para que ela seja capaz de informar o número de elementos presentes no banco de dados. Será preciso modificar a interface DAO. Será também necessário modificar o layout do cliente. public interface DAO<K, V> { final int GET = 1; final int ADD = 2; final int DELETE = 3; final int UPDATE = 4; final int SIZE = 5; final int PORT = 4444; final String HOST = " "; V get(k key); void add(k key, V value); void delete(k key); void update(k key, V value); int size();
49 Exercício: Size Adicione um botão size à interface do cliente. Quando esse botão receber um clique, o número de elementos armazenados no banco de dados deverá ser impresso na caixa de texto em que são impressas as notas:
Comunicação entre A0vidades
Programação para a Plataforma Android Aula 8 Comunicação entre A0vidades Como invocar uma a0vidade a par0r de outra? Como descrever um serviço em Android? Como duas a0vidades se comunicam? Como abrir uma
Leia maisProvedores de Conteúdo
Programação para a Plataforma Android Aula 12 Provedores de Conteúdo O que são provedores de conteúdo? Como ler dados de outras aplicações? Como iden@ficar recursos de forma única? Como deixar dados disponíveis
Leia maisProgramação para Dispositivos Móveis
Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 05 Programando formularios, activities e intents. Dalton Martins dmartins@gmail.com São Paulo, Março, 2012
Leia maisProgramação para a Plataforma Android Aula 7. Mul$mídia
Programação para a Plataforma Android Aula 7 Mul$mídia Como executar aplicações que contêm músicas? Como abrir vídeos em Android? Quais formatos de músicas são aceitos? Quais formatos de vídeo? Como o$mizar
Leia maisPrograma de Dispositivos Móveis
Aula 02 - Exercício Programa de Dispositivos Móveis PDM - Aula02 - Exercício- Ver 02-04/06/2014 08:56 Criando Aplicação Android (BasicView) Vamos continuar a criar interfaces gráficas (UI) básicas com
Leia maisJava : Comunicação Cliente-Servidor.
Java : Comunicação Cliente-Servidor. Objetivo: Capacitar o aluno a desenvolver uma aplicação servidora para múltiplos clientes. Apresentar as classes Socket e ServerSocket, classes de fluxo de dados, a
Leia maisProgramação para Android. Aula 06: Activity, menus e action bar
Programação para Android Aula 06: Activity, menus e action bar Activity A classe Activity é quem gerencia a interface com o usuário. Ela quem recebe as requisições, as trata e processa. Na programação
Leia maisPrograma de Computador que funciona em Rede
Programa de Computador que funciona em Rede professor Robinson Vida Noronha 1 Paradigma Um programa rodando em rede é como uma loja. 2 Uma loja é composta por Vendedores Vendedores 3 Um loja deve servir
Leia maisProgramação para a Plataforma Android Aula 11. Banco de Dados
Programação para a Plataforma Android Aula 11 Banco de Dados Introdução a linguagem SQL O banco de dados SQLite Como criar e manipular um banco de dados em Android Como apresentar dados na tela do aparelho
Leia maisDesenvolvimento para Android Prá9ca 2. Prof. Markus Endler
Desenvolvimento para Android Prá9ca 2 Prof. Markus Endler Criando o primeiro projeto Android Com o ambiente de desenvolvimento preparado, vá em File - > New - > Project... Na janela que abrir, selecione
Leia maisProgramação de Dispositivos Móveis
Aula 04 Programação de Dispositivos Móveis A Classe Activity É obrigatório que cada activity do projeto esteja declarada no arquivo AndroidManisfest.xml, caso contrário não é possível utilizá-la. Para
Leia maisProgramação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem
Leia maisNum sistema de objectos distribuídos, dois conceitos são fundamentais.
Folha 10-1 Java RMI - Remote Method Invocation No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus
Leia maisIntrodução ao Android. SECAP 2014 Prof. Rone Ilídio - UFSJ
Introdução ao Android SECAP 2014 Prof. Rone Ilídio - UFSJ O que é o Android? Sistema operacional móvel, baseado numa versão modificada do Linux. Código aberto: qualquer pessoa pode baixar e modificar Máquina
Leia maisOlho por olho, e o mundo acabará cego. Mohandas Gandhi
Sockets Olho por olho, e o mundo acabará cego. Mohandas Gandhi Conectando-se a máquinas remotas. Protocolo Da necessidade de dois computadores se comunicarem surgiram diversos protocolos que permitissem
Leia maisPrograma de Dispositivos Móveis
Aula 02 Programa de Dispositivos Móveis A Classe Activity A classe Actvity é similar a classe JFrame do Swing representa basicamente uma tela. Quase todas as atividades interagem com o usuário, então ela
Leia maisSistemas Paralelos e Distribuídos - 2003/2004 Curso: Matemática /Informática Sistemas Distribuídos - 2003/2004 Curso: Ensino da Informática
Java RMI - Remote Method Invocation Folha 5-1 No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus
Leia maisProgramação de Dispositivos Móveis
Aula 07 Programação de Dispositivos Móveis Interface Gráfica ListView com ArrayAdapter Um elemento muito utilizado em aplicativos é a ListView, com ela pode-se criar uma lista de objetos. A partir dos
Leia maisJDBC. Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos.
JDBC CRIANDO O BANCO DE DADOS: Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos. CRIANDO O PROJETO JAVA PARA DESKTOP: Crie um projeto Java chamado Prograd Crie um pacote chamado
Leia mais( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO
Serviço Nacional de Aprendizagem Comercial E.E.P. Senac Pelotas Centro Histórico Programa Nacional de Acesso ao Ensino Técnico e Emprego Curso Técnico em Informática ( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO
Leia maisArmazenamento Persistente de Dados
Programação para a Plataforma Android Aula 10 Armazenamento Persistente de Dados Como armazenar as opções de preferência de uma aplicação? Como tocar músicas em uma a@vidade Android? Como armazenar dados
Leia maisProgramação para Android. Aula 08: Persistência de dados SQL
Programação para Android Aula 08: Persistência de dados SQL Persistência de dados Na maioria das aplicações precisamos ter algum tipo de persistência de dados. Para guardar informações de forma persistente
Leia maisAndroid Banco de Dados. Ivan Nicoli
Android Banco de Dados Ivan Nicoli SQLite O Android tem suporte ao SQLite (http://www.sqlite.org), um leve e poderoso banco de dados. Cada aplicação pode criar um ou mais banco de dados, que ficam localizados
Leia maisApresentação de um Processo Cria4vo de Desenvolvimento de uma App Android. Realização de Dinâmica Hands- On para Construção de uma App Android
Apresentação de um Processo Cria4vo de Desenvolvimento de uma App Android Realização de Dinâmica Hands- On para Construção de uma App Android Dr. Eduardo Manuel de Freitas Jorge, PMP Realização de Dinâmica
Leia maisMódulo 2 - Novas Activities Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ
Módulo 2 - Novas Activities Android Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ Inserindo a segunda activity Para inserir uma nova activity basta clicar com o botão direito sobre o pacote,
Leia maisProgramação em Java para a Plataforma Android AULA 1. Primeiros Passos
Programação em Java para a Plataforma Android AULA 1 Primeiros Passos O que é Android Como é o desenvolvimento de aplicações para esse ambiente O que é preciso para começar a programar ABvidades, o início
Leia maisTutorial RMI (Remote Method Invocation) por Alabê Duarte
Tutorial RMI (Remote Method Invocation) por Alabê Duarte Este tutorial explica basicamente como se implementa a API chamada RMI (Remote Method Invocation). O RMI nada mais é que a Invocação de Métodos
Leia maisProf. Jhonatan Fernando
Prof. Jhonatan Fernando É uma classe gerenciadora de UI. É possível informar qual layout (arquivo xml) que será carregado para uma determinada activity. O método responsável por informar qual layout será
Leia maisProgramação para Android. Aula 05: Estilos e temas; galeria de imagens
Programação para Android Aula 05: Estilos e temas; galeria de imagens Objetivos Aplicar estilos e temas Criar uma galeria de imagens com o widget Gallery Parte 01: Estilos e temas Interface de Usuários
Leia maisAula 30 - Sockets em Java
Aula 30 - Sockets em Java Sockets Sockets são estruturas que permitem que funções de software se interconectem. O conceito é o mesmo de um soquete (elétrico, telefônico, etc...), que serve para interconectar
Leia maisDesenvolvimento para Android Prá3ca 3. Prof. Markus Endler
Desenvolvimento para Android Prá3ca 3 Prof. Markus Endler Exercício 3.1 Solicitando permissão para abrir uma página Web ü Criaremos uma Ac.vity com um EditText (para entrada de uma URL), um Bu?on e uma
Leia maisUm pouco do Java. Prof. Eduardo
Um pouco do Java Prof. Eduardo Introdução A tecnologia JAVA é composta pela linguagem de programação JAVA e pela plataforma de desenvolvimento JAVA. Os programas são escritos em arquivos-texto com a extensão.java.
Leia maisColeções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS
Coleções Conceitos e Utilização Básica c Professores de ALPRO I Faculdade de Informática PUCRS 05/2012 ALPRO I (FACIN) Coleções: Básico 05/2012 1 / 41 Nota Este material não pode ser reproduzido ou utilizado
Leia maisIntrodução ao Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ
Introdução ao Android Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ O que é o Android? Sistema operacional móvel, baseado numa versão modificada do Linux. Código aberto: qualquer pessoa pode
Leia maisDescrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos
Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Descrição Implemente nesta atividade de laboratório um programa em Java utilizando threads
Leia maisANDROID APPLICATION PROJECT
Criando um programa Abrindo o programa Eclipse, clique na opção [FILE], depois em [NEW], selecione a opção [PROJECT], uma janela de opção do tipo de projeto irá se abrir, escolha [ANDROID] logo depois
Leia maisUma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)
Uma Introdução à Arquitetura Francisco C. R. Reverbel 1 Copyright 1998-2006 Francisco Reverbel O Object Request Broker (ORB) Via de comunicação entre objetos (object bus), na arquitetura do OMG Definido
Leia maisMecanismos de Comunicação. Sockets em java (http://java.sun.com/docs/books/tutorial/networking/sockets/)
Mecanismos de Comunicação Sockets em java (http://java.sun.com/docs/books/tutorial/networking/sockets/) Sockets o que é? Um socket é um mecanismo de comunicação (dois sentidos) entre dois programas a funcionar
Leia maisAndroid Core. Felipe Silveira felipesilveira.com.br. Aula 6
Android Core Felipe Silveira felipesilveira.com.br Aula 6 Aplicações I Desenvolvimento de Aplicações Android SDK SDK https://developer.android.com/sdk Android SDK Android SDK: Eclipse + ADT plugin + Android
Leia maisPersistência de Classes em Tabelas de Banco de Dados
UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos
Leia maisProgramação para a Plataforma Android Aula 13. Localização
Programação para a Plataforma Android Aula 13 Localização O que são serviços baseados em localização? Como usar a API de mapas do Google? Como sobrepor diferentes visões a um mapa? Como integrar o mapa
Leia maisINF1013 MODELAGEM DE SOFTWARE
INF1013 MODELAGEM DE SOFTWARE Departamento de Informática Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 18 Sockets OLadoServidor O Lado Cliente Múltiplos Clientes 1 Programa Capítulo 18 Sockets
Leia maisMemória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos
TUTORIAL Memória Flash Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br
Leia maisSistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Relembrando... Mecanismos de Comunicação Middleware Cenário em uma rede Local
Leia maisProgramação para Dispositivos Móveis
Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 03 Introdução ao ambiente de desenvolvimento: Eclipse e Android SDK Dalton Martins dmartins@gmail.com São
Leia maisinsfcanceof new public switch transient while byte continue extends for int null
Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public
Leia maisLinguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em
Leia maisSistemas Distribuídos
Sistemas Distribuídos Marcelo Lobosco DCC/UFJF Comunicação em Sistemas Distribuídos Aula 06 Agenda Modelo Cliente-Servidor (cont.) Invocação Remota de Método (Remote Method Invocation RMI) Visão Geral
Leia maisInvocação de Métodos Remotos RMI (Remote Method Invocation)
Invocação de Métodos Remotos RMI (Remote Method Invocation) Programação com Objetos Distribuídos Um sistema de objetos distribuídos permite a operação com objetos remotos A partir de uma aplicação cliente
Leia maisMultithreading. Programação Orientada por Objectos com Java. Ademar Aguiar. MRSC - Programação em Comunicações
Programação Orientada por Objectos com Java www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt 1 Multithreading 154 Objectivos Ser capaz de: Explicar os conceitos básicos de multithreading Criar threads múltiplos
Leia maisProgramação para Dispositivos Móveis
Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 06 Controlando o fluxo de eventos e passando parametro para Activities. Dalton Martins dmartins@gmail.com
Leia maisPrototype, um Design Patterns de Criação
Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe
Leia maisExercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.
Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.x = x; this.y = y; public String tostring(){ return "(" + x + "," +
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 3 Invocação de Objetos
Leia mais2 Orientação a objetos na prática
2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos
Leia maisAula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.
Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso
Leia maisTécnicas de Programação II
Técnicas de Programação II Aula 06 Orientação a Objetos e Classes Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos.
Leia maisINTRODUÇÃO À TECNOLOGIA SERVLETS
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o conceito aplicações orientada a serviços via web Apresentar o papel dos contentores
Leia maisJava para Desenvolvimento Web
Java para Desenvolvimento Web Servlets A tecnologia Servlet foi introduzida pela Sun Microsystems em 1996, aprimorando e estendendo a funcionalidade e capacidade de servidores Web. Servlets é uma API para
Leia maisComputação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores
Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores 1 Exercícios Exercício 1: Construtores e Testes Analise a classe Conta.java, mostrada na
Leia maisCamada de Transporte. Bruno Silvério Costa
Camada de Transporte Bruno Silvério Costa Serviços Oferecidos à camada superior Camadas de rede, transporte e aplicação. Primitivas do Serviço de Transporte As primitivas para um serviço de transporte
Leia maispublic Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.
import java.util.scanner; class Data... class Compromisso... public class Agenda private Compromisso[] compromissos; private Compromisso[] realoquecompromissos (Compromisso[] vetor, int tamanhodesejado)
Leia maisAnalisar os sistemas operacionais apresentados na figura e responder as questões abaixo: Identificar
Projeto Integrador Sistemas Operacionais Prof.ª Lucilia Ribeiro GTI 3 Noturno Grupo: Anderson Alves da Mota. André Luiz Silva. Misael bezerra dos santos. Sandro de almeida silva. Analisar os sistemas operacionais
Leia maisIntrodução ao Android
Introdução ao Android André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida Parte 1 Conhecendo o Sistema e Primeiro Programa Roteiro Pré-requisitos Conceitos Básicos Configurando o Ambiente
Leia maisDesenvolvimento com Android Studio. Aula 02 Widgets, Manipulação de Dados e Programação de Eventos
Desenvolvimento com Android Studio Aula 02 Widgets, Manipulação de Dados e Programação de Eventos Widgets TextView O Widget TextView é utilizado para apresentar um texto não editável na tela. Qualquer
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Android Android é um sistema operacional para dispositivos móveis Kernel Linux, drivers e bibliotecas do
Leia maisMódulo 4 - Interface Gráfica Gerenciadores de Layout. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ
Módulo 4 - Interface Gráfica Gerenciadores de Layout Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ Classe View Todos os componente gráficos são filhos de View Para se criar um novo componente
Leia maisAndroid Layout Manager. Ivan Nicoli
Android Layout Manager Ivan Nicoli Classe View A classe android.view.view é a classe mãe de todos os componentes visuais do Android. Qualquer desenvolvedor pode criar seu próprio componente herdando a
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisCliente-servidor com Sockets TCP
Cliente-servidor com Sockets TCP Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2007/2008 c 2000 2007 Paulo Sérgio Almeida Cliente-servidor com Sockets
Leia maisAULA 2. Minicurso PET-EE UFRN
AULA 2 Minicurso PET-EE UFRN Agora iremos mostrar o passo-a-passo de como criar um projeto no Android Studio. 1. No Android Studio, crie um New Project. 2. Em Configure your new project, você deve preencher
Leia maisCurso Adonai QUESTÕES Disciplina Linguagem JAVA
1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String
Leia mais5 Caso de estudo O cartão fidelidade
5 Caso de estudo O cartão fidelidade Cartão de fidelização de clientes das distribuidoras de combustível. Definição em JAVA da classe CartaoFidelidade, que deverá apresentar uma funcionalidade semelhante
Leia maisA ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente
Java RMI - Remote Method Invocation Callbacks Folha 9-1 Vimos, na folha prática anterior, um exemplo muito simples de uma aplicação cliente/ servidor em que o cliente acede à referência remota de um objecto
Leia maisAcessando um Banco de Dados
Acessando um Banco de Dados Introdução Agora que você já está craque em JSP e já instalou seu servidor, vamos direto para a parte prática! Neste tutorial vamos aprender a acessar um banco de dados. Para
Leia maisProgramação para Android. Aula 10: Acesso a câmera, sms e recursos do aparelho
Programação para Android Aula 10: Acesso a câmera, sms e recursos do aparelho Objetivos Nesta aula iremos aprender como invocar os recursos do aparelho: Fazer chamadas telefônicas Enviar SMS Utilizar a
Leia maisSintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.
Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java
Leia maisIntrodução ao Desenvolvimento para Sistema Operacional Android
Dr. prof.sylvio@fatecriopreto.edu.br Conteúdo: 1) Introdução ao Android e Mercado de Dispositivos Móveis; 2) Plataforma: 2.1) Arquitetura; 2.2) Framework; 2.3) Bibliotecas; 2.4) Android Runtime; 2.5) Linux
Leia maisAcesso a banco de dados
Acesso a banco de dados 1. Crie uma pasta chamada AcessoBD com as seguintes subpastas: Aplicativos, Drivers, AcessoMSACCESS, AcessoMySQL e AcessoSQLSERVER Exemplo 1: MS ACCESS 1. Crie um banco de dados
Leia maisComo foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.
5 THREADS Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5.1 VISÃO GERAL Uma definição mais abrangente para threads é considerá-lo
Leia maisPOO Programação Orientada a Objetos. Classes em Java
+ POO Programação Orientada a Objetos Classes em Java + Classes 2 Para que a JVM crie objetos: Ela precisa saber qual classe o objeto pertence Na classe estão definidos os atributos e métodos Programamos
Leia maisJAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES
Conteúdo O Projeto... 2 Criação de Pacotes... 4 Factory:... 6 DAO:... 15 GUI (Graphical User Interface ou Interface Gráfica de Cadastro)... 18 Evento SAIR... 23 Evento CADASTRAR... 24 1 O Projeto Arquivo
Leia maisECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO
Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO Versão do documento: 1.1 1. Introdução...3 2. Documentação...3 2.1. DOCUMENTAÇÃO DE REFERÊNCIA... 3 2.2. DESCRIÇÃO FUNCIONAL... 4 2.2.1. INTERFACE...
Leia maisManipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015
Manipulação de Banco de Dados com Java Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações
Leia maisFTP FILE F TRANSFER PROTOCOL. Tópicos
FTP FILE F TRANSFER PROTOCOL Tópicos Revisão da aplicação FTP Implementação simples em Java de uma conexão FTP Implementação simples em Java de um comando de transferência de arquivo Descrição dos exercícios
Leia maisPara desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.
1 - Criando uma classe em Java Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. Antes de criarmos a(s) classe(s) é necessário criar o projeto
Leia maisProgramação para a Plataforma Android Aula 2. Aula 2 Views
Programação para a Plataforma Android Aula 2 Aula 2 Views O que é modelo, visão e controle Como definir layouts gráficos Como Separar visão de modelo Como criar layouts em arquivos XML Como adicionar eventos
Leia maisAula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/
Aula 09 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Java: Sintaxe; Tipos de Dados; Variáveis; Impressão de Dados.
Leia maisCurso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais
Curso de Java Orientação a objetos e a Linguagem JAVA Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo A Linguagem JAVA Principais
Leia maisIs Event Dispatcher Threade (Animation)
JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Is Event Dispatcher Threade (Animation) FACULDADE DE TECNOLOGIA SENAC PELOTAS Nome do aluno: João Vitor Ávila dos Santos Identificação da Turma: 3º Semestre/
Leia maisImplementação de Classe e Auto-Relacionamento em Java
UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Implementação de Classe e Auto-Relacionamento em Java 1)Introdução Um modelo de Diagrama de Classes representa a estrutura definida
Leia maisDisplay de Cristal Líquido
TUTORIAL Display de Cristal Líquido Autor: Tiago Lone Nível: Básico Criação: 09/03/2006 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br
Leia maisLaboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9
Laboratório de Computação VI JAVA IDL Fabricio Aparecido Breve - 981648-9 O que é Java IDL? Java IDL é uma tecnologia para objetos distribuídos, ou seja, objetos em diferentes plataformas interagindo através
Leia maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Remote Method Invocation (RMI) Introdução Solução JAVA para Objetos Distribuídos Um objeto existe em uma máquina É possível
Leia maisInvocação Remota MC704
Invocação Remota MC704 Aplicações distribuídas Aplicação distribuída: conjunto de processos que cooperam entre si para prover um serviço ou realizar uma computação normalmente processos precisam invocar
Leia maisSockets. Introdução. Introdução. Programando para redes em Java. mecanismo de alto nível para acessar recursos na Internet.
Sockets Programando para redes em Java Introdução n O URLs e URLConnections fornecem um mecanismo de alto nível para acessar recursos na Internet. n Em aplicações de servidor de cliente, o servidor fornece
Leia maisThreads e Sockets em Java. Threads em Java. Programas e Processos
Threads em Java Programas e Processos Um programa é um conceito estático, isto é, um programa é um arquivo em disco que contém um código executável por uma CPU. Quando este programa é executado dizemos
Leia maisDisplay de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos
TUTORIAL Display de 7 Segmentos Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.
CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 06 APRESENTAÇÃO Uso e criação de classes; uso de herança; uso de final,
Leia maisAndroid Binding. Implementando o padrão de projeto MVVM com MVVM_. Saiba como criar um projeto utilizando o padrão de projeto MVVM no Android
MVVM_ Implementando o padrão de projeto MVVM com Android Binding Saiba como criar um projeto utilizando o padrão de projeto MVVM no Android O padrão de projeto MVVM O MVVM (Model-View-ViewModel) foi divulgado
Leia mais