Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.240.023 Times

GPS Tracker 0.3.1

  Date Added: February 15, 2010  |  Visits: 2.243

GPS Tracker

Report Broken Link
Printer Friendly Version


Product Homepage
Download (203 downloads)



GPS Tracker project allows someone to track a GPS enabled cell phone using Google maps. For this project I used a Motorola i355 cell phone on the Sprint/Nextel network. You need to have a data plan so that you can make updates to your website from the cellphone. Please read the ReadMe.txt file in the download for installation instructions. I hope you enjoy the project. If you have any questions, feel free ask them in the forum. There are two projects available. The first project is built with .NET and Microsoft SQL Server. The second project is built with PHP and MySQL. If you have any suggestions, please feel free to let me know. Both projects use java (J2ME) on the phone. How It Works: None of the code for this project is very difficult, but it does span a number of tiers and languages which may be unfamiliar to some. Figure 1 shows the data flow from phone to Google map. Phone Lets start with the code on the phone. This app is written in java using Java 2 Micro Edition (J2ME). Java is very similar to C#. As you look through the code, the only thing that might confuse a C# coder is the vector. A java vector is pretty much a C# ArrayList, a dynamic array. There are 2 classes in the app, LBSMidlet7 and Qworker. A midlet is an app that runs on cell phones. Take a look at the class definition. It extends the MIDlet class and implements a LocationListener interface. That means that we need to put all the method definitions of that interface into our class. Well get to that in a bit, right now lets look at the constructor. We do 2 things in the constructor. We create a QWorker object and pass it "this" and the website that we will be uploading to. The getAppProperty method gets attributes out of the JAD file. Open the JAD file in your favorite text editor and there youll see the webpage that youll be sending GPS data to. Notice how were passing "this" to the GWorker object? Thats the LBSMidlet7 object. Take a quick look at the QWorker class, it extends the Thread class. Thats why we call worker.start() in the LBSMidlet7 constructor. We want to start our worker thread. When you start a thread, what you are doing is creating an object and then running that objects run() method. Take a look at the run method. It has an endless loop and in the loop the first thing it does is call queue.wait(). Look at the definition of the queue. The queue is an abstract data type (ADT), it just like a queue at a bank, enter the queue at the back of the line and leave the queue when you get to the front of the line. Look at the definition of the queue, its our vector (dynamic array). When you call wait() on an object within a class that extends the Thread class, it puts that object to sleep. Think about that a little. When we hit that line, our QWorker object is now waiting... Whats it waiting for? Well get to that in a minute. Before we do that, take a look at the synchronized keyword. Notice that its wrapping the queue. What that does is it puts a lock on the queue and tells all other processes not to touch the queue until that little block of code is done with it. Ok, so now weve started a worker thread and put it to sleep. Lets now go back to the LBSMidlet7 class and take a look at the startApp() method. In the lifecycle of a midlet, the constructor is called once and then the startApp() method is called next. In fact it can be called several times, like for instance when you close a flip phone and then open it again. What happens is that the app is suspended and when you flip the phone open again, startApp() is called again. In startApp(), we get our display and then we create a LocationProvider if one hasnt already been created and we create another thread... Why are we creating all these threads? Good question. When a midlet (app) is suspended, the backgroud threads that are created keep running. That allows us to get our GPS data and send it to our webserver while we do other important stuff, like make phone calls. The LocationProvider is what gets our GPS data. First we create a criteria, were using the default, but you can set stuff like accuracy, response time etc. Next we create our Location Listener. Its pretty much just what it sounds like. Here you can set the interval for how often you want to get GPS data. Its currently set to 60 which is in seconds. When data comes in, the locationUpdated() method is called. This is another one of the required methods in the LocationListener interface. Here we create yet another thread and call getLocation(). The getLocation() method gets the GPS coordinates, creates a queryString which we will send to the web server a little later and then calls worker.addToQueue in the QWorker class. Lets go back over to the QWorker class and see what happens in that method. It add the queryString to the queue and then calls queue.notify(). Guess what queue.notify() does? It wakes up our sleeping QWorker thread and tells it to get to work! Notice that our calls to the queue are once again wrapped in a synchronized block. Please practice safe threading... When notify() is called on a thread, what it does is go back to the run() method and execute the next line of code right after where we told the queue to wait(). So now we are just about ready to send the GPS data to the web server. We have a couple of interesting lines of code there. First we call peekInQueue() which gets the queryString out of the queue but leaves it there for now. Then it sends the queryString to the getUrl method which attempts to send the queryString to our web server. If its successful, we can remove the queryString from the queue. If not, we leave the queryString in the queue and try to send it to the webserver again later. Why in the world do we have this complicated queue here? Im glad you asked. There may be times when you are receiving GPS data but are not actually in an area that has a cell phone connection. If we dont have a cell phone connection, we cant send our GPS data to our web server. So we stick our queryString in our queue and wait until we get back into an area with cell phone connectability. Can you hear me now? Well, weve spent a pretty fair bit of time explaining the phone code. Its a little complicated but its important to know whats going on if you want to take the code and make modifications to it to suit your needs. Heres a good article on the Sun website to let you know about more capabilities of the Location Based Services API. Right about now, our queryString should be arriving at our website, lets catch up to it and see what happens. Whats New in This Release: - Added comments to code.

Requirements: No special requirements
Platforms: Linux
Keyword: Cell Phone Data Gps Data Look At Method Phone Queue Qworker Take A Look Take A Look At Tracker Tracker Project Web Server When You
Users rating: 0/10

License: Freeware
USER REVIEWS
More Reviews or Write Review


GPS TRACKER RELATED
Communication Tools  -  Cell Phone Lookup Pro 1.0
Cell Phone Lookup Pro is a simple program designed to help you lookup cell and unlisted numbers. The search box searches a database of millions of numbers, and only takes a few seconds. It will give you all kinds of information about the owner...
770 KB  
MP3 Tools  -  ZC Video to Cell Phone Converter 4.2.1.1772
ZC Video to Cell Phone Converter convert most of key feature format video movies to cell phone, backberry phone, windows mobile phone, symbian phone, palm phone, pocket pc playable movie, and extract the movie audio to playable music. It supports...
12.6 MB  
Security Tools  -  track a cell phone 1.0
First and foremost as we have mentioned it is possible to track cell phone to any location, and in most cases right down to street level. The software will also show you the movements of the cellphone for the last 12 hours. Add to this fantastic...
274 KB  
Communication Tools  -  Cell phone reverse search 1.0
Cell Phone Reverse Search Lots of people lose track of those old colleagues or those best friends from college. Whether you have not tried that cell phone number in a long time, or you just could not find them on Facebook, cell phone reverse...
1.31 MB  
Network & Internet  -  mod_ldap_userdir 1.1.10
mod_ldap_userdir is a module that enables the Apache web server to look up user home directories (for /~user URLs) from an LDAP directory. Installation Instructions: gzip -dc mod_ldap_userdir-1.1.9.tar.gz | tar xf - cd mod_ldap_userdir-1.1.9...
39.94 KB  
Action Games  -  Cell Phone Love Letter 1.0
Two stories of two seperate, young girls: Hazuki, an artist struggling to find recognition or purpose, and Yamazaki, a hacker who inadvertantly falls in love with a girl. Their stories are seperate, but they are both connected by a single theme:...
36.97 MB  
Misc. Web Browser Tools  -  Reverse Cell Phone Lookup 1.0
Find out information such as name, address, line details and carrier information for people just from their phone number. This is best described as a search engine for reverse phone information, providing you with quality and informative info. You...
20.48 KB  
Terminals and Telnet Clients  -  Cell Phone Wallpaper Maker 2.0 b34
Cell Phone WallPaper Maker lets you enhance and personalize photos, properly resize them, and quickly transfer them to your cell phone, PDA, or any mobile device. Work with any image local, and use the wide selection of easy-to-use image...
1 MB  
Communication Tools  -  Reverse cell phone number directory 1.0
Reverse cell phone number directory The Mobile Phone Directory may be the one of the most extensive directory all-around where you are able to search by cell phone number as opposed to by name. Now whenever you get a call in your cellular phone...
1.31 MB  
Web Browsers  -  Cell Phone Repair 1.0
Cell phone repair toolbar for Internet Explorer. Find cell phone repair and iphone repair information. Easily reach everything you need for cell phone repair directly from your browser toolbar.
2.62 MB  
NEW DOWNLOADS IN LINUX SOFTWARE, NETWORK & INTERNET
Linux Software  -  EasyEDA PCB Designer for Linux 2.0.0
EasyEDA, a great web based EDA(Electronics Design Automation) tool, online PCB tool, online PCB software for electronics engineers, educators, students, makers and enthusiasts. Theres no need to install any software. Just open EasyEDA in any...
34.4 MB  
Linux Software  -  wpCache® WordPress HTTP Cache 1.9
wpCache® is a high-performance, distributed object, caching system application, generic in nature, but intended for use in speeding up dynamic web applications, by decreasing database load time. wpCache® decreases dramatically the page...
3.51 MB  
Linux Software  -  Polling Autodialer Software 3.4
ICTBroadcast Auto Dialer software has a survey campaign for telephone surveys and polls. This auto dialer software automatically dials a list of numbers and asks them a set of questions that they can respond to, by using their telephone keypad....
488 B  
Linux Software  -  Total Video Converter Mac Free 3.5.5
Total Video Converter Mac Free developed by EffectMatrix Ltd is the official legal version of Total Video Converter which was a globally recognized brand since 2006. Total Video Converter Mac Free is a free but powerful all-in-one video...
17.7 MB  
Linux Software  -  Skeith mod_log_sql Analyzer 2.10beta2
Skeith is a php based front end for analyzing logs for Apache using mod_log_sql.
47.5 KB  
Network & Internet  -  Free WiFi Hotspot 3.3.1
Free WiFi Hotspot is a super easy solution to turn your laptop or notebook into a portable Wi-Fi hotspot, wirelessly sharing your internet connections like DSL, Cable, Bluetooth, Mobile Broadband Card, Dial-Up, etc. through the built-in wireless...
1.04 MB  
Network & Internet  -  Easy Uploads 1.8
Easy uploads is a file storage media streaming application designed by Filestreamers that allows you to upload, store, and stream your files from their virtually unlimited file storage server. Easy Uploads can backup,share, and stream your files...
615.97 KB  
Network & Internet  -  PacketFence ZEN 3.1.0
PacketFence is a fully supported, trusted, Free and Open Source network access control (NAC) system. Boosting an impressive feature set including a captive-portal for registration and remediation, centralized wired and wireless management, 802.1X...
1024 MB  
Network & Internet  -  django-dbstorage 1.3
A Django file storage backend for files in the database.
10.24 KB  
Network & Internet  -  SQL Inject Me 0.4.5
SQL Inject Me is a Firefox extension used to test for SQL Injection vulnerabilities. The tool works by submitting your HTML forms and substituting the form value with strings that are representative of an SQL Injection attack.
133.12 KB