Download presentation
Presentation is loading. Please wait.
1
Programming YOUR Mobile Phone
Professor Simon M. Lucas School of Computer Science and Electronic Engineering
2
Mobile (Cell) Phones First prototype: Motorola 1973
Commercial cell phones : NTT Japan 1979 Motorola 1983 DynaTAC 8000X ($4,000) Subscribers: 300,000 in 1984 Over 3,000,000,000 now! So much more than just a telephone…
3
Samsung Galaxy S II (2011) Android phone
GPS, Motion Sensors, Video etc Powerful processor 3G WIFI Router! 1gb RAM + 8 GB Flash mem + SD 1.2Ghz dual core processor (licenced from ARM) 800 x 480 Super AMOLED Plus screen Kindle! Programmable in Java Very open marketplace for apps
4
Tetris Developed by Alexei Pajitnov in 1985
With the help of Dmitry Pavlovsky and Vadim Gerasimov Popular in the west in 1986 The classic ‘casual game’ of all time
5
EA Mobile Tetris is frequently top of the sales charts for mobile games But seems to be losing out on smartphones (e.g. iPhone, Android) Why?
6
Run Demo
7
Tetris and Java WORA: Write Once, Run Anywhere?
8
Well, almost… The Java language may vary slightly between versions available for each platform New platforms such as Android have significant new APIs API = Application Programmer Interface Some effort needed to port an application to a new platform But at least with Android, you can use the familiar Java language
9
Developing Mobile Java Apps
Write Java for mobile platform Using suitable API / platform e.g. Android Test on emulator or device Deploy to mobile marketplace? Or direct to phone E.g. Android Market Can be free or paid-for apps Get detailed download and usage stats Use the stats to refine your app…
10
Android Market
11
Software Design
12
Divide and Conquer
13
Modelling Tetris: Object Oriented Approach
Objects group together: Data Actions that can be performed on them: Methods In Java, each object is of a particular class Programming: design classes Make objects of those classes What sort of classes might you design for Tetris?
14
And we get … Controller View Model Main loop + event handling
Only concerned with display of game objects Model Game model (2d array of blocks) Shape model
15
Class Diagram
16
Main Loop
17
Event Handling
18
move() method of Shape
19
Careful: how not to wait!
20
Summary Mobile phones: incredible technology
RF, hardware, telecoms, software Programming should be (and is!) lots of fun Java’s a great language – Android is a great mobile platform Modern IDEs take the pain out of software development Study computing and electronics: be part of a bright future!
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.