documentacion android

Upload: giovannitorresrafael

Post on 07-Jul-2018

245 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/19/2019 Documentacion Android

    1/34

    package com.ejemplo.bluetooth;

    import java.io.IOException;

    import java.io.InputStream;

    import java.io.OutputStream;

    import java.util.UUID;

    import android.bluetooth.BluetoothAdapter;

    import android.bluetooth.BluetoothDevice;

    import android.bluetooth.BluetoothServerSocket;

    import android.bluetooth.BluetoothSocket;

    import android.content.ontext;import android.o!.Bundle;

    import android.o!."andler;

    import android.o!.#e!!age;

    import android.util.$og;

    public cla!! onexionB% &

    private !tatic 'nal String %A( ) *Servicio+Bluetooth*;

      private !tatic 'nal boolean D ) true;

    ,, -ombre para el regi!tro SD cuando el !ocket !ea creado

      private !tatic 'nal String -A#E ) *BluetoothDEB*;

      ,, UUID Identi'cador unico de U/I para e!ta aplicacion

      private !tatic 'nal UUID #0+UUID ) UUID.1romString2*3333443453333543335

    633353363789B:8B*33c9a??* 2*3333443453333543335633353363789B:8B*

  • 8/19/2019 Documentacion Android

    2/34

      ,, ampo! de coexion

      private 'nal BluetoothAdapter AdaptadorB%;

      private 'nal "andler m"andler;

      private Accept%hread "ebraDeAceptacion;

      private onnect%hread "iloDeonexion;

      private onnected%hread "iloonetado;

      private int E!tadoActual;

      ,, on!tante! @ue indican el e!tado de conexion

      public !tatic 'nal int S%A%E+-O-E ) 3; ,, -o !e e!ta haciendo nada

      public !tatic 'nal int S%A%E+$IS%E- ) 4; ,, E!cuchando por conexione!entrante!

      public !tatic 'nal int S%A%E+O--E%I-( ) >; ,, Iniciando conexion !aliente

      public !tatic 'nal int S%A%E+O--E%ED ) :; ,, onectado con undi!po!itivo

    ,, #E%ODOSFFFFFFFFFFFFFFFFFFFFFFFFFFF

    ,,55555555FFFF5555#E%ODOS -O A$%E/ADOS55555555FFFF5555

      ,GG

      G on!tructor. repara una nueva !e!ion para la conexion BluetoothSmartphone5Di!po!itivo

      G Hparam context El identi'cador UI de la actividad de context

      G Hparam handler Un "andler para enviar men!aje! de regre!o a laactividad marcada por el UI

      G

    G G,

      public onexionB%2ontext context "andler handler< &

      AdaptadorB% ) BluetoothAdapter.getDe1aultAdapter2

  • 8/19/2019 Documentacion Android

    3/34

      m"andler ) handler;

      J

     

    ,GG

      G Actualiamo! e!tado de la conexion B% a la actividad

    G Hparam e!tado Un entero de'nido para cada e!tado

      G,

      private !nchronied void !etState2int e!tado< &

      E!tadoActual ) e!tado;  ,, $e enviamo! al "andler el nuevo e!tado actual para @ue !e actualie en laActividad

      m"andler.obtain#e!!age2#ainActivit.#en!aje+E!tado+ambiado e!tado54

  • 8/19/2019 Documentacion Android

    4/34

      ,,ancela cual@uier hilo @ue @uiera hacer una conexion

      i1 2"iloDeonexion K) null< &"iloDeonexion.cancel2

  • 8/19/2019 Documentacion Android

    5/34

      !etState2S%A%E+O--E%I-(

  • 8/19/2019 Documentacion Android

    6/34

  • 8/19/2019 Documentacion Android

    7/34

      r ) "iloonetado; J

      ,, /ealiar la e!critura A!incrona

      r.Lrite2out

  • 8/19/2019 Documentacion Android

    8/34

      m!g.!etData2bundle

  • 8/19/2019 Documentacion Android

    9/34

      public void run2< &

      i1 2D< $og.e2%A( *omenar "iloDeAceptacion * N thi!

  • 8/19/2019 Documentacion Android

    10/34

      tr &

      !ocket.clo!e2

  • 8/19/2019 Documentacion Android

    11/34

      G E!te correra a travV! de la conexion a !ea e!tablecida o 1allada

      G,

      private cla!! onnect%hread extend! %hread &

      private 'nal BluetoothSocket mmSocket;

      private 'nal BluetoothDevice mmDevice;

      public onnect%hread2BluetoothDevice device< &

      mmDevice ) device;

      BluetoothSocket tmp ) null;

      ,, Obtiene un BluetoothSocket para la conexion con el Di!po!itivoobtenido

      tr &

      tmp ) device.create/1commSocket%oService/ecord2#0+UUID

  • 8/19/2019 Documentacion Android

    12/34

      ,, A@ui !olo recibiremo! o una conexion e!tablecida o una excepcion

      mmSocket.connect2

  • 8/19/2019 Documentacion Android

    13/34

      J catch 2IOException e< &

      $og.e2%A( *clo!e2< o1 connect !ocket 1ailed* e

  • 8/19/2019 Documentacion Android

    14/34

      I-U%+Stream ) tmpIn;

      OU%U%+Stream ) tmpOut;

      J

    ,,FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

      ,GG

      G E!cribe al Stream de !alida conectado

      G Hparam buWer $o! bte! a e!cribir

      G,

      public void Lrite2bteT buWer< &

      tr &

      OU%U%+Stream.Lrite2buWer

  • 8/19/2019 Documentacion Android

    15/34

      public void run2< &

      $og.e2%A( *omenar "ebraconectada*T;

      int bte!;

      Lhile 2true< & ,,#antiene e!cuchando el InputStream mientra! e!teconectado

      tr &

    ,,$ee de!de el InputStream

      bte! ) I-U%+Stream.read2buWer

  • 8/19/2019 Documentacion Android

    16/34

    import android.o!.#e!!age;

    import android.o!.Qibrator;

    import android.annotation.Suppre!!$int;

    import android.app.Activit;

    import android.bluetooth.BluetoothAdapter;

    import android.bluetooth.BluetoothDevice;

    import android.content.Intent;

    import android.util.$og;

    import android.vieL.#enu;

    import android.vieL.#enuItem;

    import android.vieL.QieL;

    import android.Lidget.Button;

    import android.Lidget./adio(roup;

    import android.Lidget.%oa!t;HSuppre!!$int2*"andler$eak*<

    public cla!! #ainActivit extend! Activit &

    QieL botonE;

    /adio(roup rg;

    int checar;

    public !tatic 'nal String %A( ) *$EDv3*;

  • 8/19/2019 Documentacion Android

    17/34

      public !tatic 'nal boolean D ) true;

      ,, %ipo! de men!aje enviado! recibido! de!de el "andlerde onexionB%

      public !tatic 'nal int #en!aje+E!tado+ambiado ) 4;

      public !tatic 'nal int #en!aje+$eido ) >;

      public !tatic 'nal int #en!aje+E!crito ) :;

      public !tatic 'nal int #en!aje+-ombre+Di!po!itivo ) ;

      public !tatic 'nal int #en!aje+%OAS% ) 7;

    public !tatic 'nal int #ESSA(E+De!conectado ) ?;  public !tatic 'nal int /EYUES%+E-AB$E+B% ) =;

      public !tatic 'nal String DEQIE+-A#E ) *device+name*;

      public !tatic 'nal String %OAS% ) *toa!t*;

      ,,-ombre del di!po!itivo conectado

      private String monnectedDevice-ame ) null;

      ,, Adaptador local Bluetooth

    private BluetoothAdapter AdaptadorB% ) null;

    ,,Objeto miembro para el !ervicio de onexionB%

    private onexionB% Servicio+B% ) null;

    ,,Qibrador

      private Qibrator vibrador;

    ,,variable! para el #enu de conexiCn

      private boolean !eleccionador)1al!e;

      public int Opcion)/.menu.main;

  • 8/19/2019 Documentacion Android

    18/34

  • 8/19/2019 Documentacion Android

    19/34

    ca!e /.id.radiorecamara>M !end#e!!age2*eZr*

  • 8/19/2019 Documentacion Android

    20/34

  • 8/19/2019 Documentacion Android

    21/34

    break;

    JJ J J

  • 8/19/2019 Documentacion Android

    22/34

      Intent enableBluetooth ) neLIntent2BluetoothAdapter.A%IO-+/EYUES%+E-AB$E

  • 8/19/2019 Documentacion Android

    23/34

      i12!eleccionador))1al!e

  • 8/19/2019 Documentacion Android

    24/34

      i1 2Servicio+B% K) null<Servicio+B%.!top2

  • 8/19/2019 Documentacion Android

    25/34

    !Litch 2m!g.Lhat< &,,FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

    ca!e #en!aje+E!critoM

    bteT LriteBu1 ) 2bteT< m!g.obj;,,buWer de e!critura...

    ,, on!true un String del BuWer

    String Lrite#e!!age ) neL String2LriteBu1

  • 8/19/2019 Documentacion Android

    26/34

  • 8/19/2019 Documentacion Android

    27/34

    J;,,8in de "andler

    J,,8in #ainActivit

    MAINT ACTIVITY PRINCIPAL

    //Librerías que se van a utilizar

    import android.app.Activit;

    import android.content.ontext;

    import android.content.Intent;

    import android.databa!e.SY$Exception;

    import android.o!.Bundle;

    import android.vieL.QieL;

    import android.vieL.QieL.Onlick$i!tener;

    import android.vieL.inputmethod.Input#ethod#anager;

    import android.Lidget.Button;

    import android.Lidget.Edit%ext;import android.Lidget.%oa!t;

    public cla!! #ainActivitprincipal extend! Activit&

    DBAdapter dbAdapter;

    Edit%ext et4et>;

    Button btentrar;

    Button btnuevo;

    protected void onreate2Bundle !avedIn!tanceState< &

    !uper.onreate2!avedIn!tanceState

  • 8/19/2019 Documentacion Android

    28/34

    et4) 2Edit%ext< 'ndQieLBId2/.id.edit%ext4) 2Edit%ext< 'ndQieLBId2/.id.edit%ext>

  • 8/19/2019 Documentacion Android

    29/34

  • 8/19/2019 Documentacion Android

    30/34

    la ba!e de dato! de e!a 1orma el u!uario la contra!e^a @ue!e ingre!C a !e pueda utiliar

    public void onlick2QieL arg3< &

    Input#ethod#anager imm ) 2Input#ethod#anager<getS!temService2ontext.I-U%+#E%"OD+SE/QIE

  • 8/19/2019 Documentacion Android

    31/34

    import [email protected]$iteDataba!e;

    import [email protected]$iteOpen"elper;

    public cla!! Db"elper extend! SY$iteOpen"elper&

    private !tatic 'nal String DA%ABASE+%AB$E ) *Acce!o*;

    private !tatic 'nal int DA%ABASE+QE/SIO- ) 4;

    ,,En e!te m]todo !e va a crear la ba!e de dato!

    private !tatic 'nal String DA%ABASE+/EA%E ) */EA%E %AB$EAcce!o 2+id integer primar ke autoincrement*N *u!ernametext not null*N *pa!!Lord text not null

  • 8/19/2019 Documentacion Android

    32/34

    DBADAPTER

    // Librerias que se utilizaran

    import android.content.ontentQalue!;

    import android.content.ontext;

    import android.databa!e.ur!or;

    import android.databa!e.SY$Exception;

    import [email protected]$iteDataba!e;

    ,,E!te m]todo !e utilia para ejecutar la! con!ulta! !obre laba!e de dato!

    public cla!! DBAdapter &

    private !tatic 'nal String DA%ABASE+%AB$E ) *Acce!o*;

    public !tatic 'nal String [E0+/O+ID ) *+id*;

    public !tatic 'nal String [E0+USE/-A#E ) *u!ername*;

    public !tatic 'nal String [E0+ASSO/D ) *pa!!Lord*;

    SY$iteDataba!e mDb;

    ontext mtx;

    Db"elper mDb"elper;

    public DBAdapter2ontext context<

    &

    thi!.mtx ) context;

    J

    public DBAdapter open2< throL! SY$Exception

  • 8/19/2019 Documentacion Android

    33/34

    &

    mDb"elper ) neL Db"elper2mtx

  • 8/19/2019 Documentacion Android

    34/34

    ur!or mur!or ) mDb.raLYuer2*SE$E% G 8/O# * NDA%ABASE+%AB$E N * "E/E u!ername) A-D pa!!Lord)*

    neL StringT&u!ernamepa!!LordJ