Ensimmäinen Android-sovelluskehitysprojekti

Maaliskuussa puhuin Googlen ihmisille oppiaksesi lisää Android-kehityksestä. Aloitin äskettäin ensimmäisen taisteluni Android-kehitykseen, ja vaikka tulos oli epäonnistuminen, pidin kokemuksesta ja odotan seuraavaa yritystäni.

Halusin tehdä sovelluksen, joka oli suunniteltu poistamaan puhelimessa olevan merkittävän puutteen (Motorola Devour): yhteyden muodostaminen pariksi muodostettuihin kuulokemikrofoneihin, jotka menettivät yhteyden, merkitsee monien valikoiden läpi kulkemista. Se ei todellakaan ole jotain mitä haluat tehdä ajon aikana, ja se on vaivaa, jos olet puhelimessa ja haluat vaihtaa irrotettuun kuulokemikrofoniin. Sovellukseni olisi melko yksinkertainen: luetele kaikki pariksi muodostetut puhelimen Bluetooth-laitteet, etsi ne kaikki Bluetooth-kuulokeprofiililla ja yritä muodostaa yhteys niihin, jos ne ovat irti, ja poistu sitten. Tässä on kuvaus siitä, mitä tein tämän sovelluksen kirjoittamiseksi, ja miksi projekti oli tuomittu epäonnistumiseen.

Ensin minun piti asentaa ja määrittää kaikki ohjelmistot Android-kehitykseen; Noudatin yksinkertaisesti Googlen Android-kehittäjäsivuston ohjeita. Kaikki sujui hyvin ja ohjeet olivat hyvät.

Seuraavaksi erotin Eclipsen ja aloitin uuden projektin ( kuva A ). Kaikki tässä on melko itsestään selvää, jos olet Java-kehittäjä. Jos et ole Java-kehittäjä, jotkut kohteet saattavat hämmentää kuten minä. "Paketin nimi" on pohjimmiltaan kuin .NET-kokoonpanon nimi. Haluat myös varmistaa, että Luo aktiviteetti on valittu, ja kirjoitat sille nimen. Tämä on ensimmäinen luokka, joka tehdään ja kutsutaan, kun sovellus käynnistetään. Kuvio A

Uuden Android-projektin käynnistäminen Eclipse-ohjelmassa

Kun aloitin projektin, tunsin hiukan innostusta. En ole koskaan tuntenut oloni mukavaksi Eclipse-ohjelmassa, enkä ole koskaan käyttänyt sitä yli tunti tai kaksi kerrallaan. En sano, että se on huono tuote (minulla ei todellakaan ole riittävästi kokemusta siitä oikeudenmukaisesti arvioida), mutta se on erilainen kokemus kuin Visual Studiossa, ja sillä on vain tarpeeksi yhtäläisyyksiä tuntea olevansa jonkin verran tuttu samalla kun olen liian erilainen olla mukava. Pienessä projektissani henkilökohtaiset Eclipse-haasteeni eivät todellakaan päässeet tielle.

Kun uusi projekti tehtiin, se aloitettiin .java-tiedostolla, jolla oli sama nimi kuin aktiviteettini pakettien tutkimuksen puun src-osassa. Tätä tiedostoa tarkasteltaessa on olemassa menetelmä nimeltä onCreate made; tämä on menetelmä, jota kutsutaan, kun aktiviteetti tehdään ensimmäisen kerran - ajattele sitä aloituspisteenä sovellukseesi. Koska kokeilin ja sovellukseni ei tehnyt kovin paljon, panin suurimman osan työstäni tähän menetelmään. Oikeassa sovelluksessa tekisit asioita hiukan tiukemmin.

Katsoin Bluetooth Chat -sovellusohjelmaa, joka antoi minulle hyviä ideoita minusta minun piti mennä tämän projektin kanssa. Mutta törmäsin heti ongelmaan.

Kun aloitin projektini, asetin rakennuskohteeksi Android 1.6, koska puhelimeni on Android 1.6 -laite. Eclipse kertoi minulle, että android.bluetooth-pakettia ei voitu tuoda. Tarkasteltaessa Android 1.6 -ohjeen Package Explorer -rakennetta, siinä ei ole android.bluetooth-nimikettä. Android SDK: n dokumentaatioon tutustuminen ja 1.6: n tiedot vahvistivat, että SDK: n tasolla ei ole android.bluetooth-pakettia, mutta se on olemassa 2.0.1: ssä. Toisin sanoen puhelimeni Android-versio ei salli ohjelmoijien työskennellä Bluetooth-toiminnolla. Olin järkyttynyt .

Siitä huolimatta kynnin eteenpäin. Yhdistämällä Bluetooth Chat -sovelluksen tiedot ja omat parhaat arvaukseni, keksin tämän koodin:

paketti com.titaniumcrowbar.headsetreconnector;

tuo java.util.Set;

tuo android.app.Activity;

tuo android.bluetooth.BluetoothAdapter;

tuo android.os.Bundle;

Tuo android.bluetooth. *;

tuo java.util.UUID;

public class ReconnectDevices laajentaa toimintaa {

p rivatti staattinen lopullinen UUID MY_UUID = UUID.sivulta ("cb442466-580e-11df-bc5e-8e52e0d72085");

yksityinen tyhjä ilmoittaaDone () {

}

/ ** Soitetaan, kun aktiviteetti luodaan ensimmäisen kerran. * /

@Ohittaa

public void onCreate (Bundle savedInstanceState) {

super.onCreate (savedInstanceState);

setContentView (R.layout.main);

BluetoothAdapter localAdapter = BluetoothAdapter.getDefaultAdapter ();

Aseta pairedDevices = localAdapter.getBondedDevices ();

(BluetoothDevice-laite: pairedDevices) {

int deviceClass = laite.getBluetoothClass (). getMajorDeviceClass ();

if (deviceClass == BluetoothClass.Device.AUDIO_VIDEO_HANDSFREE) {

localAdapter.cancelDiscovery ();

yrittää {

BluetoothSocket pagaiduSocket = laite.createRfcommSocketToServiceRecord (MY_UUID);

temporarySocket.connect ();

temporarySocket.close ();

} saalis (poikkeus poikkeus) {

}

}

}

notifyDone ();

}

}

Kyllä, teavitaaDone-menetelmä on tyhjä; En ollut varma, halusinko todella osoittaa menestystä millään tavalla.

Halusin yrittää käyttää sitä emulaattorissa, joten avasin Android SDK -asetustyökalun ( kuva B ) luodakseni uuden laitteen työskennellä. Loin Android 2.0.1 -laitteen, mutta kun etsin laitteistovaihtoehtoja, en nähnyt mitään vaihtoehtoja Bluetooth-laitteille. Tämä ei ole suuri shokki; Kun käynnistin laitteen emulaattorissa, Bluetooth-järjestelmää ei ollut ollenkaan. Tässä vaiheessa kutsuin sitä loppumaan. En todellakaan ole ostamassa toista Android-puhelinta vain kehittääkseen sitä, en aio tehdä pakkopäivitystä puhelimeen ja kadottaa MotoBlur-toiminnallisuuden. Tämä projekti joutuu odottamaan, kunnes Motorola saa toimintansa yhteen ja saa MotoBlurin toimimaan Android 2.X: n kanssa. Kuvio B

Testaa laitteen luominen Android SDK -asetustyökalulla

Yhteenveto

Kaiken kaikkiaan kokemus ensimmäisen Android-sovelluksen kirjoittamisesta ei ollut kauhea. Mielestäni SDK-dokumentaatio oli positiivisesti kauheaa, ja siinä ei ollut esimerkkejä tai selityksiä mitä mikä oli, mutta työkalut näyttävät hienoilta.

Olen iloinen, että kokeilin sitä, ja minua ei todellakaan pelätä, jos minulla olisi idea muille Android-sovelluksille. Samalla se korosti valtavaa ongelmaa kehittäjille, jotka haluavat kirjoittaa koodia nopeasti muuttuvalle, erittäin pirstoutuneelle tekniikalle, kuten Android. Kun jokin kehittyy nopeasti, et voi luottaa siihen, että jokin tietty ominaisuus on kaikkien tai jopa suurimman osan käyttäjien käytettävissä. Ja testausskenaario on painajainen. Android Marketin tarkasteleminen vahvistaa tämän; näyttää siltä, ​​että useimmissa sovelluksissa on kommentteja siitä, kuinka sovellus ei toimi oikein yhdessä puhelinmallissa.

Vaikka Android-ekosysteemi on ehdottomasti avoin kaikista tällä hetkellä, se on silti onnistunut olemaan epäystävällinen kehittäjille.

J.Ja

Justinin teollisuuden kuuluminen: Justin James on tehnyt sopimuksen Spiceworksin kanssa tuotteiden osto-ohjeiden kirjoittamisesta; hänellä on sopimus Hapaxin omistaman OpenAmplifyn kanssa blogisarjojen, tutoriaalien ja artikkeleiden kirjoittamisesta; ja hänellä on sopimus OutSystemsin kanssa artikkeleiden kirjoittamisesta, näytekoodista jne.

-------------------------------------------------- -------------------------------------

Hanki viikoittaisia ​​kehitysvinkkejä postilaatikkoosi Pidä kehittäjätaidosi terävänä kirjautumalla TechRepublicin ilmaiseen Web Developer -uutiskirjeeseen, joka toimitetaan joka tiistai. Tilaa automaattisesti tänään!

© Copyright 2020 | mobilegn.com