Sunteți pe pagina 1din 12

Allen1

SantaSusanaHighSchool

DevelopinganAndroidApplication
SeniorProject2015

KyleAllen
11/20/15
CPEnglish
Period4

Allen2

ThegoalofthisprojectistocreateaneffectiveandwellmademobileAndroid
application.Thismeansmakingitsecure,usable,accessibleanduseful.Thiswillbe
doneusingmyskillsasaprogrammerusingprimarilytheJavaprogramminglanguage.
ThedevelopmentprocesswilltakeplaceoveraperiodofthemonthsIhaveinthe
schoolyearleadinguptothefinalpresentationthatIwillgivetolikelydemonstratethe
finalproduct,whichwillbethecompletedapp.Theresearchthatwillberequiredwillbe
lookingintoimprovingmyJavaskills,learninghowtomakeanappsecureandusable,
andfinallyhowtogoabouttheactualprocessofdevelopinganapp,i.e.whattoolsI
needtouseandhowtousethem.Theendresultwillbeausefulappthatmeetsthe
requirementsstatedpreviously.
IchosetocreateanAndroidmobileapplicationformyseniorprojectatSanta
SusanaHighSchool,firstlybecauseitisrequiredbyeveryseniortodoaprojectthat
intereststhem,aswellasthefactthatitisapossiblecareerpathformeinthefuture,as
wellasoneofmyinterests.Themainobjectiveinthisprojectwillbetoproducea
useful,wellfunctioning,secure,andfastAndroidapp.Therearemanyskillsand
knowhowrequiredtodosuchatask.Ipersonallyhavenoexperiencewithdeveloping
andaverysmallunderstandingoftheprocessofmakinganAndroidapplication
specifically,butdohavesomeknowledgefromothersimilarsubjectsthatwillindeed
helpmeinthisproject.SomeoftheseskillsincludeaverybasicknowledgeoftheJava
programminglanguage,aswellasXMLandhowtonavigateanumberofDevelopment
Environments.I,asstatedbefore,onlyhaveaminimalknowledgeofallofthis,sothis
willbequitealearningstretchforme,asIhavetolearntheskillsandconceptsof

Allen3

programmingthatpertaintothedevelopmentofamobileappontheAndroidOS.
CreatinganAndroidappisanelaborateprocessthatrequiresmuchdedicationandpersistence,
especiallywhenconsideringsecurity,speed,usability,andkeepinguptodatewithstandards.
Theworldofmobileapplicationdevelopmentisaquitecomplicatedone,atleastatfirst
glancetotheinexperienced.Whensmartphonesbeganfirstcatchingon,appswerenotyetahuge
thing.Ittookquitesometimeforthemtobecomepopular,itonlyreallyhappenedaround2010.
Butsincethen,mobileapplicationdevelopmentstartedbecomingaveryrapidlygrowing
industryandmarket,withthenumberofappsonallplatformsnearlydoublingbytheyear2013
andwithanestimated1.4devicesperpersonby2016(businessdegrees.uab.edu).Thisisa
telltalesignofhowboomingandpotentiallylucrativethemarketofmobileappdevelopment
alreadyareandwillbecome.
TherearetwopopularOSsdominatingthemarketrightnow,excludingWindowsPhone
andblackberry,whohavelessthanaboutalessthan6%shareinthemarket.ThoseOSsare
ApplesiOSandGooglesAndroid.iOShasaratherlargeshareinthesmartphonemarketwith
itsiPhone,alongwithallitsappsintheappstore.Androidhasanequallylargeshareinthe
mobileworld,andhasanappmarketthathasgrownexponentiallyinsizesinceitwas

Allen4

established,andiscurrentlythelargestappmarketofthemobileworld(zdnet.com).

ButwhatexactlyisAndroid,andwhatsetsitapartfromtherestofthemobilegiants.
Well,first,itwouldbebesttoexplainwhatAndroidisreallyabout.Androidfirstappearedinthe
mobilemarketonSeptember23rd,2008.ItisaunixlikeOSwritteninCandC++,andisbased
upontheLinuxkernel.Google,alongsidetheOpenHandsetAlliance,whichisaunionofphone
andchipsetmanufacturersthatcametogethertocreateanopenplatformforsmartphones,created
theAndroidmobileoperatingsystemin2008.ThephilosophyofAndroidiswhatsetsitapart
fromalltheothersmartphonegiants.Thatphilosophyisopenness,whichiswhytheAndroidOS
isopensource.ThismeansthatjustaboutanyonecancontributetothedevelopmentofAndroid,
itsapps,anditskernel.Thismaysoundtotheaveragepersonlikeadisaster,sinceoneperson
couldpotentiallymessupeverything,butthatiswhytherearestagingtools,aswellasthefact
thatthecodeissubjecttothescrutinyofmanymoreprofessionalpeoplewhowillalmost
certainlyfindtheproblembeforerelease.Opensourceallowsforbettercustomization,aswellas

Allen5

allowingfortheusersideastocometolife,insteadofonelargecompanymakingitby
themselves,withouttheinputoftheconsumer.Thisalsoallowsforasomewhatfasterandmore
efficientrolloutofupdates,sincetherearesomanydifferentpeopleworkingonitatonce.

TherearealsoalargenumberofotheraspectsthatsetAndroidapartfromtherestandput
thematthetop.Firstly,Androidis,despitepopularbelief,quitesecure.Ithasmanytechnologies
availablethathelpmakeitsecure,suchasencryptedfilesystemstoprotectdataandthingssuch
asASLR,OpenBSDdlmalloc(amemoryallocator),NX,safe_iop,andProPolicetohelp
mitigatememoryattacks(developer.android.com).Italsohasaveryuserfriendlydesignthat
GoogledubsMaterialDesign.ItwasinitiallyintroducedwithAndroidLollipop(5.0),and
involvesminimalism,aswellasvibrantcolorsandshapesthatcastshadows(google.com).This
designismeanttoprovidethemostaestheticallypleasingappearancepossible,whilealso

Allen6

maximizingusabilityandresponsiveness.

Withinthemobileapplicationmarket,therearecertaintrendsinpopularapps.For
example,mobilegamesingeneralseemtobequiteatrend,especiallyin20142015
(julysystems.com).Thesetrendsdonotalwayslastlongandchangealmostconstantly.Thereis
nocertainwaytopredictatrend,butifoneisquickenough,youcangetintothecurrentoneand
possiblyprofit.Agoodexampleofaverynotabletrendwasin2013,whenthegameFlappyBird
cameout.Thisgamewasanenormoussuccessandsparkedamassiveboomofclonesthat
absolutelyfloodedthemarket.ThisisasignthatFlappyBirdwasasignificanttrendsetter.This
trenddidnotlastverylong,however,anditdieddowninacouplemonths,withflappybirdeven
gettingremovedfromthePlayStorebythecreator.Afterthat,theclonesstartedtodecreasein

Allen7

popularityaswell.Thisshowsthatitwouldbewiseforonetoexamineexistingandpossible
futuretrendsinthemarketbeforecreatingtheirappiftheywantittobesuccessful.
TheabovedescribedinformationregardingtheAndroidOperatingSystemareall
importantpointsthatcan,andwill,beimplementedintomyseniorproject.Whatmakesthisa
SeniorProjectisthefactthatIpersonallyhavenoexperiencewithdeveloping,asstatedbefore
multipletimes,aswellasmylackofknowledgeoftheaspectsofanapp,listedabove,whichI
haveonlyjustresearchedduringthewritingofthispaper.Thefirst,andprobablymostimportant
aspectIwillbelookingatissecurity.Thismeanssecuritynotonlyfortheuser,butfortheapp
itself,makingitfreeofexploitsthatcouldinturnputtheuserorthedeveloperatrisk.Securityis
veryimportant,sincealackofpropersecuritymeasurescouldmeandataloss,orevendisclosure
ofprivateinformation,forallpartiesinvolvedwiththeapplication.Tothepartythatcreatedthe
app,failuretoproperlymakeanappsecureorhavepropermeasuresformitigationcouldgetinto
legaltroublefromaffectedconsumersifanattacksucceedsandobtainsanypersonal
information,suchaspaymentcardinfo,fromcustomers.Thatiswhyitwillbebesttoimplement
propersecuritymeasuresinmyapp.SomeofthesemeasuresthatIwillimplementmayinclude
limitingtheuseofAPIsthathandleanyuserdata,sothattherearenotasmany3rdparties
involvedusinghashtoavoidtheexposureofanydatakeepingtheneedofpermissionstoa
minimum,therebyminimizingtheriskofinadvertentlyputtingsensitivedataatriskandfinally
usingproperfileencryptionandatleastbasicSSLprotocoltoprotectanydataintransitonthe
deviceoronanetworkitisconnectedto.ThesearejustsomeofthemanynecessarystepsthatI
willtaketomakesurethatnouserinformationwillbedisclosedandnoexploitsorweaknesses

Allen8

willexistinmycodeorsubsequentpartsofmyapplication.Itwillgivemeandtheconsumera
goodsenseofpeaceofmind.
UsabilityisalsoanextremelyimportantaspectofanappthatImustmaster.Thisis
becauseanappcouldbe,forexample,arguablythemostusefulappevercreated,yetiftheuser
isnotabletounderstandhowtouseornavigateit,thenitistrulyuseless.ThatiswhyIplanto
followGooglesmaterialdesignideology,whichisdesignedaroundmaximumfunctionalityfor
theuser,inordertoensurethatbeautyandusabilityarebothmaximized(google.com).This
meansthatIwillalsobetryingtomaximizeaccessibility,whichgoogledescribesinits
guidelinesformaterialdesignas
whenallpeopleregardlessofabilitycannavigateit,
understandit,anduseitsuccessfully.
(google.com).Thesetwocharacteristicsgohandinhand,
astobefunctional,theappmustalsobeabletobeusedbyanyone,includingthosewith
disabilities.TomeetalloftheseneedsIwillfollowthemanyguidelinesofmaterialdesign,such
asminimalistshapes,shadows,hierarchicalobjectlayering,andpropertransitioning.Iwillalso
includecompatibilitywiththemanyaccessibilityoptionsavailablewithintheAndroidOS,such
asScreenReaderandMagnifier,aswellashighcontrastcolorsandsettingsthatcompensatefor
alackofsound,ifthereisanyinmyfinalproduct.Bytakingthesesteps,Iwillbeabletomakea
functionalandresponsiveappthatcanbeusedbyanyonewhosowishestouseit.

Allen9

WorksCited
"15MobileAppDevelopmentTrendsToLookOutForIn2015."
JulySystems
.N.p.,24Dec.
2014.Web.17Sept.2015.

"AHistoryofAndroid,FromCupcaketoM."
Gizmodo
.N.p.,n.d.Web.15Oct.2015.

"IntroductionMaterialDesignGoogleDesignGuidelines."
GoogleDesignGuidelines
.N.p.,
n.d.Web.02Nov.2015.

"IOSversusAndroid.AppleAppStoreversusGooglePlay:HereComesthenextBattleinthe
AppWars|ZDNet."ZDNet.N.p.,n.d.Web.12Oct.2015..

"TheFutureofMobileApplication."
TheFutureofMobileApplication
.N.p.,n.d.Web.12Oct.
2015.

AnnotatedBibliography
"15MobileAppDevelopmentTrendsToLookOutForIn2015."
JulySystems
.N.p.,24Dec.
2014.Web.17Sept.2015.

ThisisablogpostthatisaboutthemajorexpecteddesirabletrendsforAndroidappsin
2015(2).Itiswrittenbypeoplefromamobileappdevelopmentcompany,July
Systems,fordevelopers(5).Thiswouldappealtopeoplethatarelookingtofindout
whattheirapplicationshouldbefocusedonandwhatfeaturesitshouldhave(4).

"Android5.1APIs."
Android5.1APIs
.N.p.,n.d.Web.17Sept.2015.

Thispagetalksaboutthenewandroid5.1APIandwhatitmeans(2).Thisisimportant
toknowbecausewitheachnewversionofAndroidcomesnewAPIsandAPIlevelsthat
mustbeupdated(5).Mostalldevelopersthatwanttokeeptheirappsuptodateand
workingmaywanttorefertothiswhenthereisanewAndroidversionout.

Allen10

Echessa,Joyce."CreatingaCloudBackendforYourAndroidAppUsingParse."
SitePoint
CreatingaCloudBackendforYourAndroidAppUsingParseComments
.N.p.,12Aug.
2014.Web.17Sept.2015.

ThisresourceismeanttoexplainhowtosetupBaaSfeaturessuchascloudservice
andpushnotificationsusingplatformssuchasParse(2).Thisarticleiswrittenby
someonewhousesthisintheirownapp,thereforehasfirsthandexperiencewiththis
service.Thiswouldbeusefultothosewhodonotwantthetrialsofnativedevelopment
andwouldbewillingtolet3rdpartyhandletheirbackend(4).Thisisrelevantsincethis
iswhatIwilllikelydo,atleastforthebeginning(5).

"GettingStarted."AndroidDevelopers.N.p.,n.d.Web.16Sept.2015.
<https://developer.android.com/training/index.html/>.
Thepurposeofthiswebsite,madebyprofessionalappdevelopersforappdevelopers,
istoshowpeopletheprocessinvolvedinmakinganapp(2).Thecontentspansmultiple
pages,eachusuallycontainingavideoorsomethingrelevanttothatstepinthe
developmentprocess(3).Thissiteismadeforthosewhowanttolearntodevelopfrom
professionals(4).Thissitewillbecrucialtomygoalofmakinganapp,asitwalksyou
throughtheentireprocessstepbystep(5).
Thissourcewillbeusedmorethanonce,duetoitbeingan
extremely
expansive
websitemadebyGoogleforthesolepurposeofprovidingdeveloperseverythingthey
needtoknowaboutdevelopment,aswellasthesheerlackofscholarlysourcesfor
AndroidAppDevelopement.ItisoneoftheonlysourcesIwillactually
need
.

Lambert,Kenneth,andMartinOsborne.
FundamentalsofJavaAP*ComputerScience
EssentialsfortheAandABExams
.3rded.N.p.:n.p.,2007.Print.

ThisbookcontainsanindepthexplanationofJava,itssyntax,andhowtouseit(2).It
containsmosteverythingthereistoknowaboutthelanguageofJava(3).Itwillbe
usefulforandroiddeveloperssinceJavaisthemainlanguageusedinmakinganapp
(4).Thisbookis,however,somewhatoldandshowsanolderversionofJava(7).

"SecurityTips."
SecurityTips
.N.p.,n.d.Web.17Sept.2015.

Allen11

ThiswebpageismeanttoshowhowtomakesurethatyourAndroidappissafeand
secure(2).Securityisacrucialpartofmakinganapp,asnobodywantsanappthatis
riggedwithmalwareandsuch,thispageshowshowtomakesureitissecure(5).Any
developerthatwantsthisknowhowwilllikelycometothispagefirst,sinceitiswritten
byprofessionalsinthefield(4).

Sims,Gary."IWanttoDevelopAndroidAppsWhatLanguagesShouldILearn?"
Android
Authority
.N.p.,10June2014.Web.17Sept.2015.

Thisisanarticlethatexplainswhatprogramminglanguagesmaybenecessaryfor
developinganAndroidapp(2).Thisisextremelyrelevantsinceitoutlineswhatyoumay
needtoknowbeforeyoujumpin(5).AnyonewhoisplanningtomakeanAndroidapp
maywishtoreadthisfirst(4).

Smith,Sue."AndroidSDK:WorkingwithEclipseTuts+CodeTutorial."
CodeTuts+
.N.p.,n.d.
Web.17Sept.2015.

ThisarticledemonstrateshowtouseAndroidSDKwithEclipse(2).Itiswrittenby
peoplewhohaveexperienceindevelopingAndroidappsinthisfashion(5).Itisusefulto
people,suchasme,whoprefertousetheEclipseIDE(4).

"Xamarin."
BuildingCrossPlatformApplications
.N.p.,n.d.Web.18Sept.2015.

ThiswebsitedemonstrateshowtomakeanAndroid/iOSappcrossplatformusing
Xamarin(2).Thislookstobeagreatlyusefultoolthatputappsonotherplatforms.
Anyonewantingtoexpandtootherplatformsmightwanttolookintothis(4).Thiswould
berelevantsinceImayplantogofurtherandmaketheappworkoniOSlateron(5).

"XMLTutorial."
XMLTutorial
.N.p.,n.d.Web.17Sept.2015.

ThiswebsitecontainsatutorialonXML,itssyntax,andhowtouseit(2).Thisis
relevantsinceXMLisalanguagethatisusedtomakeUIsformostandroidappsandis
goodtoknow(5).Thesiteteachesthelanguageinsections,eachwiththeirown
exampleyoucanruninyourbrowser(6).

Allen12

S-ar putea să vă placă și