Bruce Scharlau, University of Aberdeen, 2010 Android Storage & SMS Apps Mobile Computing Unless otherwise stated, images are from android sdk See Unlocking.

Slides:



Advertisements
Similar presentations
Google Android Introduction to Mobile Computing. Android is part of the build a better phone process Open Handset Alliance produces Android Comprises.
Advertisements

Bruce Scharlau, University of Aberdeen, 2012 SMS Apps Mobile Computing Unless otherwise stated, images are from android sdk.
Dealing with the chaos monkey
Introduction CS5011/CS4032: Mobile Computing Bruce Scharlau, University of Aberdeen, 2012.
Bruce Scharlau, University of Aberdeen, 2012 Data storage options for mobiles Mobile Computing.
Bruce Scharlau, University of Aberdeen, 2010 Android and Location Mobile Computing Unless otherwise stated, images are from android sdk.
Bruce Scharlau, University of Aberdeen, 2010 Android UI, and Networking Mobile Computing Based on android-sdk_2.2 Unless otherwise stated, images are from.
Facts about Welcome to this video from Ozeki. In this video I will present what makes Ozeki Phone System XE the Worlds best on-site software PBX for Windows.
Michal Bodlák. Referred to as mobile money, mobile money transfer, and mobile wallet generally refer to payment services operated under financial regulation.
OfficeTrack Mobile Employees Location Management Service.
OfficeTrack Mobile Employees Location Management Solution.
New Release Announcements and Product Roadmap Chris DiPierro, Director of Software Development April 9-11, 2014
1 Vodafone Text Centre Fast, flexible PC to mobile text messaging Date.
Objectives Overview Define an operating system
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
SQLLite and Java CS-328 Dick Steflik. SQLLite Embedded RDBMS ACID Compliant Size – about 257 Kbytes Not a client/server architecture –Accessed via function.
Platform as a Service (PaaS)
Take advantage of the SMS technology in your organization today!
Data Persistence in Android
Data Access Patterns. Motivation Most software systems require persistent data (i.e. data that persists between program executions). In general, distributing.
FIRST SCREEN In 1929, we were introduced to the “First Screen” Still today, Television advertising is a tremendously effective way to market.
Cross Platform Mobile Backend with Mobile Services James
Microsoft Windows 2003 Server. Client/Server Environment Many client computers connect to a server.
No Mobile App For Your Retail Business In 2013 Is Like Listening To The Radio To Watch The News! Mobile Marketing Made Easy!
By Mihir Joshi Nikhil Dixit Limaye Pallavi Bhide Payal Godse.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Content Providers & Services.
Lecture 7 Interaction. Topics Implementing data flows An internet solution Transactions in MySQL 4-tier systems – business rule/presentation separation.
Android SMIL Messenger Presented By: Alex Povkov Brad Gardner Jeremy Spitzig Santiago Jamriska.
DUE Hello World on the Android Platform.
CS378 - Mobile Computing Persistence. Saving State We have already seen saving app state into a Bundle on orientation changes or when an app is killed.
Explain the purpose of an operating system
M1G Introduction to Database Development 6. Building Applications.
Android Storage. There are several options for storage of data with Android We can put data into a preferences file. We can put data into a ‘normal’ file.
Nilesh Singh Local Data Storage option Android provides several options for you to save persistent application data. - Shared preferences - Creation.
Data persistence How to save data using SharedPreferences, Files, and SQLite database 1Data persistence.
9 Persistence - SQLite CSNB544 Mobile Application Development Thanks to Utexas Austin.
MIS 105 LECTURE 1 INTRODUCTION TO COMPUTER HARDWARE CHAPTER REFERENCE- CHP. 1.
CS378 - Mobile Computing Persistence. Saving State We have already seen saving app state into a Bundle on orientation changes or when an app is killed.
Persistence Dr. David Janzen Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution 2.5 License.
Mobile Software Development ISCG 7424 Department of Computing UNITEC John Casey and Richard Rabeder SQLite and Permissions.
FriendFinder Location-aware social networking on mobile phones.
| | Top 4 Benefits of Hybrid Mobile Apps.
SQLite DB Storing Data in Android RAVI GAURAV PANDEY 1.
Chapter 9 Operating Systems Discovering Computers Technology in a World of Computers, Mobile Devices, and the Internet.
Integrated Mobile Marketing Platform Emergic mConnector Integrated -Mobile Marketing Platform Presented By: Sales Person Name ID: Mobile:
© 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. Android Boot Camp.
Bulk SMS Gateway
CHAPTER 9 File Storage Shared Preferences SQLite.
Websms Offers Professional Messaging Solutions via Web, , Gateway or Directly Out of Excel (Online) on the Microsoft Office 365 Platform OFFICE 365.
By: Eliav Menachi.  On Android, all application data (including files) are private to that application  Android provides a standard way for an application.
Mobile Application Development Data Storage. Android provides several options for you to save persistent application data. The solution you choose depends.
Data Storage in Android Димитър Н. Димитров. Why talk about data? Why not 3D graphics or network connectivity? Data as fundamental term in computer science.
CHAPTER 7 Operating System Copyright © Cengage Learning. All rights reserved.
MOBILE TECHNOLOGY BY: AMANDA HANKS. SKYDRIVE VS. DROPBOX SkyDrive: More Free Storage Space (7 GB) Less Costly for more Storage Space $10,$25,$50 Less.
Google. Android What is Android ? -Android is Linux Based OS -Designed for use on cell phones, e-readers, tablet PCs. -Android provides easy access to.
DISCOVERING COMPUTERS 2018 Digital Technology, Data, and Devices
Platform as a Service (PaaS)
File Management in the Cloud
Platform as a Service (PaaS)
Android Application Data Storage 1.
The Client-Server Model
Mobile Application Development Chapter 5 [Persistent Data in Android]
PHP / MySQL Introduction
Android Storage.
The Application Lifecycle
Mobile Computing With Android ACST 4550 Android Database Storage
Instructions for tracking booth sales
Presentation transcript:

Bruce Scharlau, University of Aberdeen, 2010 Android Storage & SMS Apps Mobile Computing Unless otherwise stated, images are from android sdk See Unlocking Android (Ch 5) for more details

There are several options for storage of data with Android We can put data into a preferences file. We can put data into a normal file. We can send data across the network to a service. We can use a local database on the handset. Bruce Scharlau, University of Aberdeen, 2010

Preference files are a light-weight option Call Context.getSharedPreferences() to read and write values as key-value pairs. Use Activity.getPreferences() with no name to keep them private to the calling activity Bruce Scharlau, University of Aberdeen, 2010 These are not sharable across applications, unless you expose them as a content provider.

We can write larger data to file You can either write to a new file, or to a pre- included file under res/raw/mydata To can read data from a file, call Context.openFileInput() and pass it the local name and path of the file. It returns a standard Java FileInputStream object. To write to a file, call Context.openFileOutput() with the name and path. It returns a FileOutputStream object. Bruce Scharlau, University of Aberdeen, 2010 You can only access files available to the application

File writing is similar to what youve done before Bruce Scharlau, University of Aberdeen, 2010 Source: unlocking android, p 159

We can place data elsewhere on the network Use a web service to store data elsewhere – save photos to flickr, files to some other app in the cloud. Bruce Scharlau, University of Aberdeen, 2010 Can save files automatically, or at user discretion with time values, etc. (twitter, apps, or photo capture)

We can also persist data to a db Android API uses the built-in SQLite db. Each db is private to the application. In principle you could expose the data, if you expose the application as a content provider. All databases, SQLite and others, are stored on the device in /data/data/package_name/databases. Bruce Scharlau, University of Aberdeen, 2010

Android Notepad tutorial uses database Bruce Scharlau, University of Aberdeen, 2010 Useful db helper class for access and crud details

Context Menu is special Acquire context menu by holding down selection key (long press on touch), which then pops up context menu Bruce Scharlau, University of Aberdeen, 2010

Unlocking Android db example covers more complex example Bruce Scharlau, University of Aberdeen, 2010 Stores locations to database within application as objects

Unlocking Android app uses db helper classes with sql Bruce Scharlau, University of Aberdeen, 2010 public static class Location { public long id; public long lastalert; public int alertenabled; public String zip; // include city and region because geocode is expensive public String city; public String region; public Location() { } public Location(final long id, final long lastalert, final int alertenabled, final String zip, final String city, final String region) { this.id = id; this.lastalert = lastalert; this.alertenabled = alertenabled; this.zip = zip; this.city = city; this.region = region; } Source: unlocking android, code Part of DBHelper class showing Location object Class also holds crud details to map object to sql

Unlocking Android app maps objects to sql for ease Bruce Scharlau, University of Aberdeen, 2010 public void insert(final Location location) { ContentValues values = new ContentValues(); values.put("zip", location.zip); values.put("city", location.city); values.put("region", location.region); values.put("lastalert", location.lastalert); values.put("alertenabled", location.alertenabled); this.db.insert(DBHelper.DB_TABLE, null, values); } public void update(final Location location) { ContentValues values = new ContentValues(); values.put("zip", location.zip); values.put("city", location.city); values.put("region", location.region); values.put("lastalert", location.lastalert); values.put("alertenabled", location.alertenabled); this.db.update(DBHelper.DB_TABLE, values, "_id=" + location.id, null); } Source: unlocking android, code Mapping makes coding easier

SQLite provides advanced db features There is transaction support You can use prepared statements based on java.sql and set items as have done before – faster and more secure You have a cursor to keep track of location within a resultset Bruce Scharlau, University of Aberdeen, 2010

Can map objects to db Enables off network use and can sync later when connected Bruce Scharlau, University of Aberdeen, 2010 Might be pushing limits of device though with extra classes and memory usage Can read items from network as xml and convert to objects, which map to db

Storage Summary Can use preferences for each app Can write/read files as with Java Can persist/read items over network (when available) Can use SQLite one db per app Bruce Scharlau, University of Aberdeen, 2010

SMS applications should not be overlooked Cheaper and faster to develop than GUI apps Bruce Scharlau, University of Aberdeen, 2010 Available to all handsets for wider usage Faster to market for specific events

There are wide variety of SMS apps Notify customers that meal, prescription, etc is available for collection Medical, dentist, etc appointment reminders to prevent no-shows Order prescription refills, meals, special offers – Hilton Hotels even do this Also use SMS to drive traffic to mobile sites and increase customer sales Bruce Scharlau, University of Aberdeen,

Also other usual contests, etc SMS voting contests Send photo to win prizes contests Communicate with call centres via SMS Query and reserve products via SMS Scheduled SMS sending to coordinate with other actions for business and students Many more too Bruce Scharlau, University of Aberdeen,

SMS apps reach many people SMS is reliable and can be sent any time Supported by ALL mobile phones – can reach about 50% of population, ie 3.3 bn Supports reverse billing – thus customer pays for receiving new ringtone, etc that is sent from you to them Bruce Scharlau, University of Aberdeen,

SMS apps can be easy to build The components are free to set up and develop SMPPsim for simulating SMS center and responses Use SMPP API for communicating with SMS center provides an SMS gateway for WAP and SMS appshttp:// Bruce Scharlau, University of Aberdeen, 2010

Some examples are online Developers Home provides details about SMS and low level tutorial OReilly have Java tutorial too provide API to run SMS apps – free developer periodhttp:// Bruce Scharlau, University of Aberdeen, 2010

Txteagle outsources work to everyone Break work into useful chunks anyone can do via text SMS surveys with airtime compensation Train workers so know reliability Bruce Scharlau, University of Aberdeen,

Deconstruct tasks for greater speed and security Bruce Scharlau, University of Aberdeen,

Txteagle changes lives Bruce Scharlau, University of Aberdeen, short version – 6 minutes -long version – 40 minutes