at dele filer med nfc på androide

, at dele filer med nfc på androide,,,,, 35,,,,,,,,, 17,,,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, i denne forelæsning, vil du lære grundreglerne for p2p - (-)   kommunikations - og skabe en ansøgning til del store filer, f.eks. billeder og video, fra en enhed til en anden ved hjælp af nfc (nær område meddelelse)   på androide.,,, 1.indledning, nfc, eller i nærheden af område meddelelse, er en række kortrækkende trådløs teknologi.det gør det muligt for de   udveksling af data mellem en   nfc - mærke og en nfc aktiveret anordning eller mellem nfc mulighed for udstyr inden for en afstand på højst 4 cm., er der tre former for nfc - drift:,,, læsning og skrivning af begge mærker: disse mærker normalt er meget små, og ikke kræver nogen batterier.de kan være indbygget i alle mulige ting, som f.eks. plakater, produkter, mærkater osv.,, kort (tilstand:, at intelligente kort.det giver en android enhed til at fungere som et smart card.den indlysende fordel ved dette er, at din opfindelse kan fungere som et kort, og så handle som en anden ved et tryk på knappen.det er på en måde en android enhed kan erstatte din pung.det kreditkort, buskort, eller billet, du bruger din android enhed kunne udgive mig for at være forsvarligt, naturligvis, at punkt på dagsordenen.den   "på den anden side af transaktionen, mener, at det er et samspil med det punkt på dagsordenen, når man har at gøre med en android enhed.,, peer to peer kommunikation: begge parter erkender, at det er at tale til en anden anordning, og ikke bare en brik.protokollen er blevet udviklet af   google og tillader to anordninger til at sende beskeder frem og tilbage.,, peer - (p2p) udveksling af oplysninger med blev føjet til   androide i api - niveau 14 (androide 4.0, is) og kaldes androide stråle.det gør det muligt for hurtig til udveksling af data mellem to   nfc mulighed for androide anordninger., 2.   p2p - kommunikation med androide nærlys, fjernlys dataudveksling ved androide er to apis, ndef overførsel, api - og, filoverførsel, api.,,, ndef overførsel api,,, det var   api - indført i   api - niveau 14 (androide 4.0, is) og gør det muligt for   overførsel af små mængder af data som url - adresser, kontakter osv. de data, der skal overføres, skal formateres i ndef (nfc dataudvekslingsformat) og sendes som en ndef besked.,, filoverførsel api,, filoverførsel api - blev indført i   api - niveau 16 (androide 4.1, bassemand)   og gør det muligt for   overførsel af store filer, f.eks.   billeder, video osv. der er nogle forbehold.   androide stråle kun works, når   anvendelse   sender de data,   løber   i forgrunden   og   den anordning, der modtager oplysningerne, er ulåst,... androiden stråle filoverførsel api -   har yderligere to krav:,,   filer, der skal overføres, skal være   beliggende i ekstern.,   filer, der skal overføres   skal være verdens læsbar., i denne forelæsning, vi vil bruge den androide stråle filoverførsel api af androiden sdk at skabe en ansøgning, der gør det muligt for   brugere at dele filer mellem udstyr. 3.krav på grund af begrænsninger af emulator, ansøgningen skal prøves med   to fysiske nfc mulighed for androide anordninger løber androide 4.1 eller højere,.,, 4.til at begynde med formørkelse, skabe en ny androide anvendelse - projektet og navn, nfcdemo,.  ,,,,, siden androide stråle filoverførsel er kun tilgængelige på anordninger   løber androide 4,1 +, er vi nødt til at sætte  , minimum, der er nødvendigt   sdk, at api - 16: androide 4.1 (vingummibønne),.,, 5.konfigureringen af åbenbar fil at anvende ifs i en androide app, er vi nødt til at erklære nfc -   tilladelse i manifestet fil som vist nedenfor.,, < anvender tilladelse androide: navn = "androide. tilladelse. nfc" />, ud over at læse filerne fra ekstern erklærer det, read_external_storage,   tilladelse som vist nedenfor.,, < anvender tilladelse androide: navn = "androide. tilladelse. read_external_storage" />,, ikke alle androide anordning støtter nfc.for at sikre, at vores app kun dukker op på google spiller for de anordninger, der støtter nfc, tilføje  , < bruger træk > element til åbenbar fil.,, < bruger træk androide: navn = "androide. hardware. nfc" androide: der kræves = "ægte" />,, hvis nfc er en valgfri del af din app, så du kan udelade, < bruger træk > element fra manifestet fil og fastsætte den minimale sdk udgave til en lavere api - niveau.i så fald, er du nødt til at kontrollere, om den støtter nfc og androiden stråle api,   og ajourføre brugergrænsefladen i overensstemmelse hermed. 6.at skabe layout, åbne, activity_main.xml, layout fil og tilføje en knap, som vist nedenfor.som du kan se, har vi tilføjet en  ,  , at brugeren kan få adgang   at indlede en overførsel af en   fil.,, < relativelayout xmlns: androide = "http://schemas.android.com/apk/res/android" xmlns: værktøj = "http://schemas.android.com/tools" androide: layout_width = "match_parent" androide: layout_height = "match_parent" androide: polstring = "16dp" > < knap androide: layout_width = "fill_parent" androide: layout_height = "wrap_content" androide: polstring = "8dp" androide: tekst = "send filen" androide: onclick = "sendfile" /> < /relativelayout >,, 7.gennemførelse af filoverførsel, åbne, mainactivity,   klasse og erstatte den nuværende gennemførelse med et vist nedenfor.du skal ikke bekymre dig om gennemførelsen for nu.jeg vil forklare alle trin i et øjeblik.,, pakke com.tutsplus.nfcdemo; import java.io.file; import android.app.activity; import android.content.intent; import android.content.pm.packagemanager; import android.net.uri; import android.nfc.nfcadapter; import android.os.build; import android.os.bundle; import android.os.environment; import android.provider.settings; import android.view.view; import android.widget.toast; offentlige klasse mainactivity udvider aktivitet (private nfcadapter nfcadapter; @ tilsidesætte beskyttede tomrum oncreate (bundt savedinstancestate) (super. oncreate (savedinstancestate); setcontentview (r.layout. activity_main); packagemanager pm =. getpackagemanager(); //kontrollere, om nfcer tilgængelig på anordning, hvis (!- hassystemfeature (packagemanager. feature_nfc)) (//ifs, ikke er til rådighed på anordningen.skål. maketext (det "anordningen ikke er nfc hardware." skål. length_short). show();} //kontrollere, om enheden kører androide 4.1 eller højere, ellers hvis (build.version.sdk_int < bygge. version_codes. jelly_bean) (//androide stråle træk er ikke støttet.skål. maketext (det "androide stråle understøttes ikke." skål. length_short). show();} andre (//ifs og androide stråle filoverførsel støttes.skål. maketext (det "androide stråle er støttet på din anordning." skål. length_short). show();}} offentlige tomrum sendfile (betragtning) (nfcadapter = nfcadapter. getdefaultadapter (det); //kontrollere, om nfc er aktiveret den anordning, hvis (!nfcadapter. isenabled()) (//ifs er handicappede, viser de indstillinger ui //for nfc - skål. maketext (dette, "tak for nfc." skål. length_short). show(); startactivity (nye hensigt (indstillinger. action_nfc_settings)} //kontrollere, om androide stråle træk er mulighed for den anordning, andet hvis (!nfcadapter. isndefpushenabled()) (//androide strålen er handicappede, viser de indstillinger ui //at androide - skål. maketext (dette, "vær sød at androide stråle." skål. length_short). show(); startactivity (nye hensigt (indstillinger. action_nfcsharing_settings)} andre (//ifs og androide stråle både er aktiveret //fil overføres //til fordel for resten, jeg har lagt et billede //ved navn tapet. men heller ikke dér er menneskene sikre "i" billeder "directory snor filnavn =" tapet. men heller ikke dér er menneskene sikre "; //genfinde vejen til brugerens offentlige billeder filkatalog filedirectory = miljø. getexternalstoragepublicdirectory (miljø. directory_pictures); //skabe en ny fil med det angivne fortegnelse navn fil filetotransfer = ny fil (filedirectory, filnavn); filetotransfer. setreadable (sand, falske); nfcadapter. setbeampushuris (nye uri [] {uri. fromfile (filetotransfer)} denne)}}} 8.prøvning af app 'en, før vi dykke ned i den kode, lad os se hvad skridt, vi skal tage til overførsel af en fil fra en anordning til en anden.,, trin 1, forbind det ene af de to androide anordninger til deres udvikling arbejdsstation   via usb, usb - fejlfinding, aktiveret.lad os henvise til denne anordning, som, afsender,.,, trin 2, gøre, nfc og androide stråle på afsenderen.   presse f11, ser på ansøgningen.det vil indføre og iværksætte, nfcdemo,   på afsenderen.,, trin 3, gøre det muligt for nfc, den anden anordning, den modtager,.,, trin 4,,,, send filen, knap og position anordninger tæt sammen for at lade nfc gøre sit arbejde.du skal   se, røre til at beame besked, anføres på afsenderen.tap   skærmen for at indlede den overførsel.,,,,, trin 5, modtageren skal vise en meddelelse med status bar til at angive de fremskridt, der er gjort i filoverførsel.,,,  , trin 6, hvis filoverførsel er afsluttet med et positivt resultat,   en stråle fuldstændig besked vises for brugeren.,,,,,, 9.afkodning af kodeksen, lad os tage et kig på den kode, der gør det muligt, fastlægge anordning kapaciteter, som nævnt tidligere, hvis nfc er en valgfri del af vores app, vi skal tjekke for nfc   og androide stråle støtte.denne kontrol kan udføres overalt i vores app.i dette eksempel, jeg har koden i  , oncreate,   metode for, mainactivity, klasse.,,, trin 1, opnå en henvisning til  , packagemanager,.,, packagemanager pm =. getpackagemanager();,,, packagemanager, klasse har oplysninger om alle pakninger monteret på maskinen.,,, trin 2,,, ring til  , hassystemfeature,   - metoden, packagemanager, genstand for at fastslå, om enheden har nfc støtte.denne metode er tilbage  ,,,, hvis de ønskede kendetegn er støttet af anordningen, hvis (!- hassystemfeature (packagemanager. feature_nfc)) (//ifs, ikke er til rådighed på anordningen.} andre (//ifs er tilgængelig på anordningen.}, trin 3, hvis anordningen er nfc støtte, så er vi nødt til at   kontrol anordningen er   androide version.den kunstige livsform version (api - niveau) ved en anordning er tilgængelige via  , androide. s. bygge. udgave. sdk_int,.hvis den version, er større end eller lig med 16,  , bygge. version_codes. jelly_bean, så   anordningen støtter androide stråle filoverførsel.,, hvis (!- hassystemfeature (packagemanager. feature_nfc)) (//ifs, ikke er til rådighed på anordningen.} //kontrollere, om enheden kører androide 4.1 eller højere, ellers hvis (build.version.sdk_int < bygge. version_codes. jelly_bean) (//androide stråle træk er ikke støttet.} andre (//ifs og androide stråle filoverførsel støttes.}, indlede filoverførsel,,, når vi har fastslået, at den har   krævede formåen, kan vi indlede filoverførsel ved hjælp af androide stråle.,,, trin 1, opnå en henvisning til  , nfcadapter,.,, nfcadapter = nfcadapter. getdefaultadapter (det),,, det, nfcadapter, er at forvalte udveksling af data mellem en nfc - og nfc aktiveret anordning eller mellem to nfc mulighed for udstyr,.,,,, trin 2, adapter kan blive aktiveret eller deaktiveret.for at fastslå, hvorvidt adapteren er aktiveret, ring til  , isenabled,   metode på  , nfcadapter, objekt. //kontrollere, om nfc er aktiveret den anordning, hvis (!nfcadapter. isenabled()) (//ifs er handicappede, viser de indstillinger, - for at gøre det muligt for nfc} andre (//ifs er aktiveret), og denne metode er tilbage  , sandt,  , hvis nfc er aktiveret på anordningen.hvis nfc er handicappede, vi bruger til at gøre det muligt hurtigt og vise nfc - indstillinger brugergrænseflade.  ,, startactivity (nye hensigt (indstillinger. action_nfc_settings), trin 3, ligeledes en androide stråle træk kan også være aktiveret eller   handicappede.at kontrollere, at den stat, ring til  , isndefpushenabled,   metode på  , nfcadapter,   objekt. //kontrollere, om nfc er aktiveret den anordning, hvis (!nfcadapter. isenabled()) (//ifs er handicappede, viser de indstillinger, - for at gøre det muligt for nfc} //kontrollere, om androide stråle træk er mulighed for den anordning, andre, hvis (!nfcadapter. isndefpushenabled()) (//androide strålen er handicappede, viser de indstillinger, eu - erhvervsgrenen at androide stråle} andre (//ifs og androide stråle både er mulighed for}, hvis denne metode angivelser, falske, vi   hurtig brugeren med henblik på at gøre det og vise den androide stråle indstillinger brugergrænseflade.,, startactivity (nye hensigt (indstillinger. action_nfcsharing_settings));,,,,,, hvis begge nfc og androide strålen er aktiveret, kan vi fortsætte med filoverførsel.,,,,,, trin 4, skaber en ny fil, ved hjælp af registret, hvor dossieret befinder sig på anordningen, og navnet på den fil.for at teste filoverførsel, jeg har tilføjet et billede ved navn, wallpaper.png i, billeder, fortegnelse i ekstern. //skabe en ny fil med det angivne fortegnelse navn fil filetotransfer = nye fil (filedirectory, filnavn);,,, løntrin 5,,, ring til  , setbeampushuris,   - metoden, nfcadapter,   formål og give   uri af fil overføres.,, nfcadapter. setbeampushuris (nye uri [] {uri. fromfile (filetotransfer), i),  , setbeampushuris,   metode accepterer en række  , uri, genstande.hvis du vil have   at sende mere end én sag, du kan gå flere uri 'er   med adapteren.,, uri' er gået til  , setbeampushuris,   metode i køen af adapteren og overføres til   den modtagende enhed, så snart de kommer i nærheden af den afsendende enhed.,, indgåelse, i denne forelæsning, du har lært   om grundlaget for nfc på androide.du har også lært at   begrænser adgangen til en app til dækningsløs anordninger   ved hjælp af åbenbar fil og   bestemme anordning kapacitet på runtime.at sende filer ved hjælp af nfc, vi har gjort brug af  , nfcadapter, klasse, og jeg har forsøgt at dække basale   sammen med androide stråle filoverførsel api -   hjælpe dig i gang, der er   stadig mere sammen.hvis du vil lære mere, så vil jeg opfordre dem til at besøge androide udvikler portal for mere information.

Project Settings
The Touch to beam UI as displayed on the Sender
Incoming beam notification as displayed on Receiver
Beam complete notification as displayed on Receiver
NFC Settings UI



Previous:
Next Page: