Document Plan. Social Media Geolocation App. Robert McCaffrey, Matt Feld, Taylor Neal, David Kwon BLIPME
|
|
- Darlene Simpson
- 5 years ago
- Views:
Transcription
1 BLIPME Document Plan Social Media Geolocation App Robert McCaffrey, Matt Feld, Taylor Neal, David Kwon Blip is a social app aimed at combining new technology and design in a simple way to make going out more fun for college kids
2 BLIPME INTRODUCTION: PROJECT CONCEPT: Blip is a social networking phone application that focuses on the sharing of geolocation data between peers. Our project will encompass the development of an Android version of the application. Upon opening the application, the user will be prompted to either log-in or register. The user will required to be logged-in with an authorised identity in order to use the application s features. Once logged in, a map of the nearby area will be presented to the user. Overlapping this map will be icons representing people who have chosen to share real-time location data with the user for a specified amount of time. The icons will be placed on the map according to the current location of the corresponding user s phone. At the bottom of the screen is a button that may be employed by the user to likewise post his or her current location for a specified amount of time. The user will choose from a list of the user names of friends with whom he or she would like to share the location information. These friends will be able to see the user s real time location on their map until the specified amount of time concludes, at which time the information will no longer be available until the user decides to share it with these friends again. Upon pressing a virtual button on the top right-hand corner of the screen, the user will be brought to a friends list screen, where the user may peruse his or her list of friends. It is at this screen that the user will be able to add user names to his/her friends list. The user may only share location information with the accounts listed in the user s friends list.
3 BLIPME 1.ARCHITECTURE: 2.DECOMPOSITIONS: MODULES MVC Architecture:
4 WEBMANAGER: The Web Manger communicates with the backed provided by the Client. The Node.Js server communicates via JSON through HTTP POST and GET requests. The Web Manager uses String and JSON parser in order to interpret and create HTTP requests Model: Model layer communicates with our Web Manager. Which defines 1. User: A User defines a friend by Name, , phone, unique id and bliprequested( asked for a blip from you) 2. FriendManager: which retrieves friend list using the WebManager 3. BlipModel: Defines a Blip i.e. Geo-location, Timer, Message, Sender, Recipients etc. 4. BlipManager: Manages incoming and outgoing Blips with WebManager 5. Authenticator: provides user authorisation token after login/registration 6. BlipSampler interacts with authenticator, user, BlipManager and FriendManager VIEW: Layouts define the visual structure of the user interface for our activity s. The system declares UI elements in XML. Android provides a straightforward XML vocabulary which quickly designs UI layouts and screen elements similar to way we create web pages in HTML. LAYOUTS: 1. activity_login.xml 2. activity_main.xml 3. cutom_marker.xml 4. footer_repeat.xml 5. fragment_item_grid.xml 6. fragment_item_list.xml 7. fragment_map.xml 8. friends.xml 9. friends_row.xml 10. friends_section.xml 11. header_gradient.xml
5 12. list_header.xml 13. list_row.xml 14. login.xml 15. register.xml 5-7: Map and Blip fragment view for viewing incoming and sending outgoing blips. 8-10: Friend List view 14-15: Login and register view for user login and new user registration respectively. 1-4, 11-13: Sub xml views for the main views described above. CONTROLLER: FriendList: FriendListActivity o Activity for selecting friends when sending a Blip FriendsListAdapter o Corresponds Friends data to the views BlipFeedAdapter o Adapter for the BlipFeed View BlipFeedFragment o Generates the List MainBlipArray o Class holding our array list of BlipModels that is used throughout the app SmartFragmentStatePagerAdapter o Stores the MapFragment and the BlipFeed Fragment. ViewPagerAdapter o In charge of putting the fragments onto the containers Map:
6 MapFrament o Creates Map with Blip markers, user location communicates with BlipFeed LoginAndRegistrations: LoginActivity o RegistrationActivty o Processes: Multiple Threads: Creates login screen, login user via Authenticator Creates registration screen, registers user via Authenticator Worker Threads. Android is a single thread model, therefore anytime we preform operation that are not instantaneous we must back a separate thread: UI Thread New Blip data is one of these data points. New incoming Blips are handled by creating a UI thread in order to handle adding in a new Blip marker on the map AsyncTask Allows for asynchronous work on our Login and Registration views. It performs blocking operations in a worker thread and then publishes the results on the UI thread. It performs the work in doinbackground() and runs in the UI thread, so we can safely provide helper Dialogs and retrieve user information. Server Communication All server communication is done asynchronous connection by using HTTP requests. Data The Data for this project was provided by the Client. Therefore all backend data was handled by the client. For our project we interpreted and applied this data to the application. This data came in the form of what we have defined as a Blip: Description: A Blip is user and geolocation tag that contains longitude, latitude, user information, and a self destruct timer. Functionality: Users send Blip to each other. The application interrupts the blips sent between friends and produces a map labelled with marker showing a friends location as shown in the screenshot. Relationship: Blips are related to each other only by the user who has sent or received the
7 3.MODULE DESCRIPTION: Name: WebManager Type: Access Form Node: Article Manager Processor Description: The Web Manger communicates with the backed provided by the Client. Attributes: Author Name, Reviewer Name Resources: None Name: newpostrequest() Arguments: String url,string[] names, Object[] values,string auth_token. Returns: HTTPResponse Description: Sends a new POST request., returns HTTP response Exceptions: getstacktrace() if anything goes wrong server side. Flow of Events: 1. Create HTTP client 2. Create HTTP Post 3. Execute HTTP request. Name: newgetrequest() Arguments: String url, String[] names, String[] values, String auth_token. Returns: response, which is a JSON response from the server. Description: Sends a new GET request. Pre-condition: None Post-condition: None Exceptions: RuntimeException(). Flow of Events: 1. Create HTTP client 2. Create HTTP Post 3. Execute HTTP request. Name: getjsonbody() Arguments: (HttpResponse response) Returns: JSON Object Description: Parse HTTP response to JSON object Pre-condition: None
8 Post-condition: None Exceptions: Exception(). Name: getstringbody() Arguments: (HttpResponse response) Returns: String Description: Parse HTTP response to JSON object Pre-condition: None Post-condition: None Exceptions: Exception(). MODEL: Name: User Description: Creates a User (friend) Attributes: String name, String , String phone, String id Resources: None Name: isbliprequested() Arguments: None Returns: Boolean Description: If this user has requested a blip from you Name: User() Arguments: 1. String name, String 2 String name 3 String name,string id,boolean requested 4 String name, double phone
9 Description: Four separate setters. Pre-condition: None Post-condition: None. Name: getname(),get ,getid Arguments: None Returns: name. ,id respectively Description: Three separate getters. Pre-condition: None Post-condition: None. Name: FriendManager Description: retrieves friend list using the WebManager Attributes: Author Name,Reviewer Name Resources:None Name: getfriends() Arguments: None Returns: HTTPResponse Description: Returns an array of Users(friends) Exceptions: Server Response Error. Flow of Events: 1. Create GET request 2. Execute GET request sending to WebManager 3. Interrupt response 4. Create friend list and return. Name: BlipModel Type: - Node: - Description: Defines a Blip i.e. Geo-location, Timer, Message, Sender, Recipients etc Attributes:
10 1. String name 2. String type, String sender, boolean isstory,datetime time,user[] recipients, double latitude, double longitude, String message Resources: None Name: getsender(),getrecipients(),getisgroupheader(),getendtime(),gettype(),isstory(),getlatitude(),getlongitude)_ Arguments: None Returns: sender,recipients,isgroupheader,endtime.getmillis,type,isstory,latitude,longitude,message respectively Description: Getter functions. Name: BlipManager Node: - Description: Manages incoming and outgoing Blips with WebManager Attributes: None Resources: None Name: getincomingblips(),getoutgoingblips(),getallblips(), Arguments: None Returns: BlipModel array Description: Getter functions Exceptions: Server Response Error. Flow of Events: 1. Calls getblips with incoming, outgoing, respectively 2. Returns Response Name: getblips Arguments: String type Returns: BlipModel array Description: Given input type incoming, outgoing or both communicate with return response. WebManager and
11 Exceptions: Server Response Error. Flow of Events: 1. Create Type for HTTP request 2. Communicate with WebManager 3. Create JSON response and parse into a Blip Array Name: AESPassEncryptor Type: AES encryption scheme Node: - Description: Encryption and Decryption of byte, cipher respectively with default key of 32 byte length Attributes: None Resources: AES encryption scheme, Key = "ZhketJNHrmGC5upwYckG4Ky1fhHJyZAD" Name: encrypt() Type: byte Arguments: byte[] ivbytes, byte[] keybytes, byte[] textbytes Returns: cipher Description: Creates Cipher. Name: decrypt() Type: byte Arguments: byte[] ivbytes, byte[] keybytes, byte[] textbytes Returns: byte array Description: Decrypts Cipher.
12 Name: encrypt() Type: String Arguments: String text Returns: String Description: Concatenates String with zeros with 32 Byte length Exceptions: getstacktrace(). Name: decrypt() Type: String Arguments: String Text Returns: byte array Description: Removes concatenation of String with zeros with 32 Byte length back to original form. Exceptions: Exception. CONTROLLER: Name: FriendsListActivity Description: Activity for selecting friends when sending a Blip Attributes: None Resources: HashMap, List Name: oncreateoptionsmenu Type: Boolean Arguments: Menu menu Returns: true Description: Inflates Top Menu Pre-condition: Layout menu_friends_list must be initialised. Exceptions:None Flow of Events: 1. Create Menu Inflate object
13 Name: oncreate Type: void Arguments: Bundle savedinstancestate Description: Setting up scrolled view for friends list Exceptions:None Flow of Events: 1. Create The Gestures 2. Create View Name: ontouchevent Type: boolean Arguments: MotionEvent event Returns: Boolean Description: Event handler for Gesture Detector Exceptions:None Name: updatelist Type: void Arguments: None Description: Updates view to correspond to new data Pre-condition: View must already be create. Exceptions:None Flow of Events: 1. Wipe current data 2. Recreate List with new data 3. Recreates a new view Name: displaylistitem() Type: void Arguments: None
14 Description: helper function to display list to the views Name: populatelist() Type: List<String> Arguments:None Returns: List of Friends Description: Pulls User(friends)data from model Name: getrecent() Type: List<String> Arguments:None Returns: List Friends Description: Pulls recent Blip data from model Name: getrequests() Type: List<String> Arguments:None Returns: List of Blip request Description: Pulls requested Blip data from model Name: SideIndexGestureListener extends GestureDector.SimpleOnGestureListener Arguments: None Returns: BlipModel array Description: Getter functions
15 Exceptions: Server Response Error. Flow of Events: 1. Calls getblips with incoming, outgoing, respectively 2. Returns Response Name: FriendsListAdapater Description: Corresponds Friends data to the views Attributes: None Resources:None Name:getRows(),getCount(),getItem(),getItemId(),getViewTypeCount()getItemViewType() Arguments: None Returns: int Description: Getter functions. Name: getview extends GestureDector.SimpleOnGestureListener Arguments: int position, View convertview, ViewGroup parent Returns: View Description: Returns View of Friend List Activity Name: BlipFeedAdapter Node: - Description: Adapter for the BlipFeed View Attributes: Context context Resources: ArrayList
16 Name: addsentblip Type: Void Arguments: BlipModel Description: Add outgoing blip to the list Name: addincomingblip Type: Void Arguments: BlipModel Description: Add incoming blip to the list Name: addstoryblip Type: Void Arguments: BlipModel Description: Add story blip to the list Name: removesentblips Type: Void Arguments: BlipModel Description: Remove outgoing blip from the list
17 Name: removeincomingblips Type: Void Arguments: BlipModel Description: Remove incoming blip from the list Name: removestoryblips Type: Void Arguments: BlipModel Description: Remove story blip from the list Name: getitemviewtype,getviewtypecount,getcount(),getitem(),getview() Type: - Arguments:None Returns:- Description: Getter Functions Subclasses of BlipFeedAdapter Name: ViewHolder Node: - Description: Container for the view for each row Attributes: None Resources:None None
18 Name: BlipFeedFragment Node: - Description: Generates the List Attributes: int page Resources: Array List Name: OnBlipSelectedListener Type: Interface Description: Allows the fragment to deliver messages from the list to the main activity. Name: oncreateview() Arguments: LayoutInflater inflater,viewgroup container, Bundle savedinstancestate Returns: View Description: This method is called when the view is created and android starts Name: onactivitycreated() Arguments: Bundle savedinstancestate Description: This is what happens when the activity is created Name: onlistitemclick() Type: void Arguments:ListView l, View v, int position, long id Returns: View Description: This is method is called when item on the list is clicked
19 Name: onattach() Type: void Arguments:None Returns: View Description: This makes sure that the container activity has implemented the callback interface Name: cancelsentblips(),removeincomingblips(),removestoryblips() Arguments:None Description:Functions used by getblips to remove all sent Blips Name: getblips() Type: void Arguments:None Description: Connects to the adapter method that removes all Sent Blips To items then adds most update blips Name: MainBlipArray Description: Class holding our array list of BlipModels that is used throughout the app Attributes:None Resources: Array List Name: addblips() Type: void Arguments: BlipModel
20 Description: Add to the array list Name: addblips Type: void Arguments: BlipModel Description: Overloaded method to adapt to BlipManager Name: SmartFragmentStatePagerAdapter Extends:FragmentStatePagerAdapter Description: Stores the MapFragment and the BlipFeed Fragment. Attributes: Fragment Manager Resources: None Name: instantiateitem() Type: Object Arguments: ViewGroup container, int position Returns: Object Type Fragment Description: Registers the fragment when the item is instantiated Name: destroyitem() Type: Void Arguments: ViewGroup container, int position, Object object() Description: Unregister when the item is inactive
21 Name: getregisterfragment() Type: Void Arguments: int position Returns: Fragment Description: Returns the fragment for the position Pre-condition: if instantiated. Name: ViewPagerAdapter Extends:SmartFragmentStatePagerAdapter Node: - Description: In charge of putting the fragments onto the containers Attributes: FragmentManager fm,charsequence mtitles[], int mnumboftabsumb Resources: None Name: getitem() Type: Fragment Arguments:position Returns:Fragment Description: Return the fragment for the every position in the View Pager Name: getpagetitle() Arguments:position Returns: CharSequence Description: Returns the titles for the Tabs in the Tab Strip
22 Name: getcount() Arguments:None Returns: int Description: return the Number of tabs for the tabs Strip LoginAndRegistrations: Name: LoginActivity Node: - Description: AsyncTask used for login of a user Attributes: savedinstancestate Resources: AsyncTask Name: oncreate() Type: void Arguments: Bundle savedinstancestate Description: Sets up login views with event handlers for buttons Name: onclick() Arguments: View Description: Event handler for button clicks Name: AttemptLogin() Extends: AsyncTask Arguments: None
23 Description: Create an asynchronous login for the application. Communicates with the server via the authenticator Pre-condition: Views must be set up. Exceptions: Throws Dialog handler if authenticator throw exception. Name: RegisterActivity Node: - Description: AsyncTask used for registration of a user Attributes: savedinstancestate Resources: AsyncTask Name: oncreate() Type: void Arguments: Bundle savedinstancestate Description: Sets up registration views with event handlers for buttons Name: onclick() Arguments: View Description: Event handler for button clicks Name: AttemptRegister() Extends: AsyncTask Arguments: None Description: Create an asynchronous registration for the application. Communicates with the server via the authenticator. Pre-condition: Views must be set up.
24 Exceptions: Throws Dialog handler if authenticator throw exception. MAP: Name: MapFragment Extends:SmartFragmentStatePagerAdapter Description:? Attributes: int page Resources: Array List, BitMap Name: oncreateview() Arguments: layoutinflater inflater, ViewGroup container, Bundle savedinstancestate Description: Create the Views of the Map Fragment Name: onlocationchanged() Arguments: Location Description: Method callback when the user moves Name: pointcamerato() Arguments: BlipModel Description: Points the map camera to location of the Blip Name: lookatcurrentposition() Arguments: None Description: Look at current position on the map
25 Name: createdrawablefromview() Arguments: Context, View Returns: BitMap Description: Helper function for making custom marker on the map
26 4.DESIGN RATIONALE: DESIGN DECISIONS Decision that effected overall design of System: The client expressed interest from the begin in having the design of the application to be similar to that of Snapchat. They felt that this would provide a smaller learning curve for new users that were already familiar to the popular application Snapchat. This affected our own creative view of the application and restricted us from using design techniques that we were already familiar with. As the client already had an ios version of the project in production most of our design was copied from that. Due to the fact the Client already had a working product ton another platform we were provided with a backend and were not allowed to change any of the existing code which meant we had to conform to the specifications of the backend server.l Dependencies applications has and reasons the for dependencies: Include in our project are external jar that were not in the standard java library: JodaTime : How we managed expiration dates for blips. JUnit : Unit testing. Apache Commons IO: Used to parse input stream into json and strings. TCE security certification for allowing AES keys to be 32 bytes instead of 16 bytes. Android SDK version 21: provides the best compromise adaption due to, 85 percent of android users having support on there phone and providing enough support for implementation of our fragment architecture. Decisions about what was important to do and what was not: As this was a minimal viable project or a start up our emphases was on design and correct functionality. This meant we focused on getting that which was supported on the server working in our application. This meant the product didn't have to be immediately deployed to market and more the foundation for further production. Therefore although functional work cases works really well, however testing of edge cases was not an immediate priority. There were also complications where some methods weren't supported in the server yet meant we weren't apply implement. For next develop: The code has been distributed on Github under a private repository and would be provided on request. The source code along with the Document Plan will serve as a comprehensive design of our implementation. The code will be provided as an android studio application.
27
Fragments and the Maps API
Fragments and the Maps API Alexander Nelson October 6, 2017 University of Arkansas - Department of Computer Science and Computer Engineering Fragments Fragments Fragment A behavior or a portion of a user
More informationEMBEDDED SYSTEMS PROGRAMMING UI and Android
EMBEDDED SYSTEMS PROGRAMMING 2016-17 UI and Android STANDARD GESTURES (1/2) UI classes inheriting from View allow to set listeners that respond to basic gestures. Listeners are defined by suitable interfaces.
More informationProduced by. Mobile Application Development. David Drohan Department of Computing & Mathematics Waterford Institute of Technology
Mobile Application Development Produced by David Drohan (ddrohan@wit.ie) Department of Computing & Mathematics Waterford Institute of Technology http://www.wit.ie User Interface Design" & Development -
More informationMARS AREA SCHOOL DISTRICT Curriculum TECHNOLOGY EDUCATION
Course Title: Java Technologies Grades: 10-12 Prepared by: Rob Case Course Unit: What is Java? Learn about the history of Java. Learn about compilation & Syntax. Discuss the principles of Java. Discuss
More informationListView Containers. Resources. Creating a ListView
ListView Containers Resources https://developer.android.com/guide/topics/ui/layout/listview.html https://developer.android.com/reference/android/widget/listview.html Creating a ListView A ListView is a
More informationAndroid Application Model I
Android Application Model I CSE 5236: Mobile Application Development Instructor: Adam C. Champion, Ph.D. Course Coordinator: Dr. Rajiv Ramnath Reading: Big Nerd Ranch Guide, Chapters 3, 5 (Activities);
More informationUpon completion of the second part of the lab the students will have:
ETSN05, Fall 2017, Version 2.0 Software Development of Large Systems Lab 2 1. INTRODUCTION The goal of lab 2 is to introduce students to the basics of Android development and help them to create a starting
More informationAndroid Application Model I. CSE 5236: Mobile Application Development Instructor: Adam C. Champion, Ph.D. Course Coordinator: Dr.
Android Application Model I CSE 5236: Mobile Application Development Instructor: Adam C. Champion, Ph.D. Course Coordinator: Dr. Rajiv Ramnath 1 Framework Support (e.g. Android) 2 Framework Capabilities
More informationUnderstand applications and their components. activity service broadcast receiver content provider intent AndroidManifest.xml
Understand applications and their components activity service broadcast receiver content provider intent AndroidManifest.xml Android Application Written in Java (it s possible to write native code) Good
More informationUI Fragment.
UI Fragment 1 Contents Fragments Overviews Lifecycle of Fragments Creating Fragments Fragment Manager and Transactions Adding Fragment to Activity Fragment-to-Fragment Communication Fragment SubClasses
More informationProduced by. Design Patterns. MSc in Computer Science. Eamonn de Leastar
Design Patterns MSc in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie)! Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie
More informationMobile Development Lecture 10: Fragments
Mobile Development Lecture 10: Fragments Mahmoud El-Gayyar elgayyar@ci.suez.edu.eg Elgayyar.weebly.com Situational Layouts Your app can use different layout in different situations: different device type
More informationgetcount getitem getitemid getview com.taxi Class MainActivity drawerlayout drawerleft drawerright...
Contents com.taxi.ui Class CallDialog... 3 CallDialog... 4 show... 4 build... 5 com.taxi.custom Class CustomActivity... 5 TOUCH... 6 CustomActivity... 6 onoptionsitemselected... 6 onclick... 6 com.taxi.model
More informationProduced by. Design Patterns. MSc in Computer Science. Eamonn de Leastar
Design Patterns MSc in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie
More informationAndroid Basics Nanodegree Syllabus
Android Basics Nanodegree Syllabus Before You Start This is an entry-level program. No prior programming experience required. Project 1: Build a Single Screen App Design and implement a single screen app
More informationAndroid" Application Development SAMS. Sams Teach Yourself. Shane Conder. Lauren Darcey. Second Edition
Lauren Darcey Shane Conder Sams Teach Yourself Android" Application Development Second Edition SAMS 800 East 96th Street, Indianapolis, Indiana, 46240 USA Table of Contents Introduction 1 Who Should Read
More informationACTIVITY, FRAGMENT, NAVIGATION. Roberto Beraldi
ACTIVITY, FRAGMENT, NAVIGATION Roberto Beraldi Introduction An application is composed of at least one Activity GUI It is a software component that stays behind a GUI (screen) Activity It runs inside the
More informationBuilding User Interface for Android Mobile Applications II
Building User Interface for Android Mobile Applications II Mobile App Development 1 MVC 2 MVC 1 MVC 2 MVC Android redraw View invalidate Controller tap, key pressed update Model MVC MVC in Android View
More informationCE881: Mobile & Social Application Programming
CE881: Mobile & Social Application Programming, s, s and s Jialin Liu Senior Research Officer Univerisity of Essex 6 Feb 2017 Recall of lecture 3 and lab 3 :) Please download Kahoot or open a bowser and
More informationCONVERTIGO SDK THE ULTIMATE CLIENT MOBILE API FOR CONVERTIGO MBAAS
CONVERTIGO SDK THE ULTIMATE CLIENT MOBILE API FOR CONVERTIGO MBAAS WHY CONVERTIGO SDK? Abstracts Mobile app developer from protocol complexity Gives simple cross-platform API to access Convertigo MBaaS
More informationANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)
ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) Lecture 3: Android Life Cycle and Permission Entire Lifetime An activity begins its lifecycle when entering the oncreate() state If not interrupted
More informationCourse Learning Outcomes (CLO): Student Outcomes (SO):
Course Coverage Course Learning Outcomes (CLO): 1. Understand the technical limitations and challenges posed by current mobile devices and wireless communications; be able to evaluate and select appropriate
More informationFragments were added to the Android API in Honeycomb, API 11. The primary classes related to fragments are: android.app.fragment
FRAGMENTS Fragments An activity is a container for views When you have a larger screen device than a phone like a tablet it can look too simple to use phone interface here. Fragments Mini-activities, each
More informationCreating a Custom ListView
Creating a Custom ListView References https://developer.android.com/guide/topics/ui/declaring-layout.html#adapterviews Overview The ListView in the previous tutorial creates a TextView object for each
More informationANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)
ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) Lecture 3: Android Life Cycle and Permission Android Lifecycle An activity begins its lifecycle when entering the oncreate() state If not
More informationLTBP INDUSTRIAL TRAINING INSTITUTE
Java SE Introduction to Java JDK JRE Discussion of Java features and OOPS Concepts Installation of Netbeans IDE Datatypes primitive data types non-primitive data types Variable declaration Operators Control
More informationCHAPTER 4. Fragments ActionBar Menus
CHAPTER 4 Fragments ActionBar Menus Explore how to build applications that use an ActionBar and Fragments Understand the Fragment lifecycle Learn to configure the ActionBar Implement Fragments with Responsive
More informationAndroid Essentials with Java
Android Essentials with Java Before You Program o Exercise in algorithm generation Getting Started o Using IntelliJ CE Using Variables and Values o Store data in typed variables Static Methods o Write
More informationFrequently Asked Questions
Frequently Asked Questions This PowerTools FAQ answers many frequently asked questions regarding the functionality of the various parts of the PowerTools suite. The questions are organized in the following
More informationSyllabus- Java + Android. Java Fundamentals
Introducing the Java Technology Syllabus- Java + Android Java Fundamentals Key features of the technology and the advantages of using Java Using an Integrated Development Environment (IDE) Introducing
More informationMultiple devices. Use wrap_content and match_parent Use RelativeLayout/ConstraintLayout Use configuration qualifiers
Multiple devices Multiple devices Use wrap_content and match_parent Use RelativeLayout/ConstraintLayout Use configuration qualifiers Create a new directory in your project's res/ and name it using the
More informationCS371m - Mobile Computing. Persistence - Web Based Storage CHECK OUT g/sync-adapters/index.
CS371m - Mobile Computing Persistence - Web Based Storage CHECK OUT https://developer.android.com/trainin g/sync-adapters/index.html The Cloud. 2 Backend No clear definition of backend front end - user
More informationCS 4518 Mobile and Ubiquitous Computing Lecture 5: Rotating Device, Saving Data, Intents and Fragments Emmanuel Agu
CS 4518 Mobile and Ubiquitous Computing Lecture 5: Rotating Device, Saving Data, Intents and Fragments Emmanuel Agu Administrivia Moved back deadlines for projects 2, 3 and final project See updated schedule
More informationMobile Computing Fragments
Fragments APM@FEUP 1 Fragments (1) Activities are used to define a full screen interface and its functionality That s right for small screen devices (smartphones) In bigger devices we can have more interface
More informationDeveloping Android Applications Introduction to Software Engineering Fall Updated 1st November 2015
Developing Android Applications Introduction to Software Engineering Fall 2015 Updated 1st November 2015 Android Lab 3 & Midterm Additional Concepts No Class Assignment 2 Class Plan Android : Additional
More informationAndroid Basics Nanodegree Syllabus
Android Basics Nanodegree Syllabus Before You Start This is an entry-level, single term Nanodegree program with no prior programming experience required. Support Options We are here to support you every
More informationAssignment #3 CSCI 201 Spring % of course grade Title Weathermeister Back-End API Integration
Assignment #3 CSCI 201 4.5% of course grade Title Weathermeister Back-End API Integration Topics Covered Java Classes HTML CSS Basic Java Topics Java Servlets JSP JavaScript AJAX Databases SQL JDBC Overview
More informationBLACKBERRY SPARK COMMUNICATIONS PLATFORM. Getting Started Workbook
1 BLACKBERRY SPARK COMMUNICATIONS PLATFORM Getting Started Workbook 2 2018 BlackBerry. All rights reserved. BlackBerry and related trademarks, names and logos are the property of BlackBerry
More informationHydrogen Car Mobile Display
Hydrogen Car Mobile Display Andrew Schulze Course Instructor: Dr. Guilherme DeSouza, PhD ECE 4220 Project Report Department of Electrical and Computer Engineering University of Missouri Columbia December
More informationClasses and Objects 3/28/2017. How can multiple methods within a Java class read and write the same variable?
Peer Instruction 8 Classes and Objects How can multiple methods within a Java class read and write the same variable? A. Allow one method to reference a local variable of the other B. Declare a variable
More informationAuthor: Group 03 Yuly Suvorov, Luke Harvey, Ben Holland, Jordan Cook, Michael Higdon. All Completed SRS2 Steps
Software Requirements Document for Graffiti Author: Group 03 Yuly Suvorov, Luke Harvey, Ben Holland, Jordan Cook, Michael Higdon Version Date Author Change 0.1 09/13/ SM Initial Document 07 0.2 09/22/
More informationMC Android Programming
MC1921 - Android Programming Duration: 5 days Course Price: $3,395 Course Description Android is an open source platform for mobile computing. Applications are developed using familiar Java and Eclipse
More informationFragments. Lecture 11
Fragments Lecture 11 Situational layouts Your app can use different layouts in different situations Different device type (tablet vs. phone vs. watch) Different screen size Different orientation (portrait
More informationCS260 Intro to Java & Android 05.Android UI(Part I)
CS260 Intro to Java & Android 05.Android UI(Part I) Winter 2018 Winter 2018 CS250 - Intro to Java & Android 1 User Interface UIs in Android are built using View and ViewGroup objects A View is the base
More informationAndroid User Guide. for version 5.3
Android User Guide for version 5.3 Contents 1. Installation... 3 1.1. How to install Babelnet... 3 1.2. Enter Babelnet in the search field.... 3 1.3. Safety precautions when using Babelnet on your Android...
More informationCS 528 Mobile and Ubiquitous Computing Lecture 4a: Fragments, Camera Emmanuel Agu
CS 528 Mobile and Ubiquitous Computing Lecture 4a: Fragments, Camera Emmanuel Agu Fragments Recall: Fragments Sub-components of an Activity (screen) An activity can contain multiple fragments, organized
More informationCS371m - Mobile Computing. More UI Action Bar, Navigation, and Fragments
CS371m - Mobile Computing More UI Action Bar, Navigation, and Fragments ACTION BAR 2 Options Menu and Action Bar prior to Android 3.0 / API level 11 Android devices required a dedicated menu button Pressing
More informationCS 403X Mobile and Ubiquitous Computing Lecture 5: Web Services, Broadcast Receivers, Tracking Location, SQLite Databases Emmanuel Agu
CS 403X Mobile and Ubiquitous Computing Lecture 5: Web Services, Broadcast Receivers, Tracking Location, SQLite Databases Emmanuel Agu Web Services What are Web Services? Means to call a remote method
More informationActive Monitoring System for Android Devices using Cloud 1 Sagar Bhalodia, 2 K. Navin 1 Student, 2 Assistant Professor
Active Monitoring System for Android Devices using Cloud 1 Sagar Bhalodia, 2 K. Navin 1 Student, 2 Assistant Professor Department of Information Technology, Faculty of Engineering and Technology, SRM University,
More informationMobile Development Lecture 9: Android & RESTFUL Services
Mobile Development Lecture 9: Android & RESTFUL Services Mahmoud El-Gayyar elgayyar@ci.suez.edu.eg Elgayyar.weebly.com What is a RESTFUL Web Service REST stands for REpresentational State Transfer. In
More informationAndroid Online Training
Android Online Training IQ training facility offers Android Online Training. Our Android trainers come with vast work experience and teaching skills. Our Android training online is regarded as the one
More informationJumble for Microsoft Outlook
Jumble for Microsoft Outlook Jumble provides truly usable and secure email encryption by integrating with existing email clients. Users can easily and securely communicate from their email client simply
More informationCommunicating with a Server
Communicating with a Server Client and Server Most mobile applications are no longer stand-alone Many of them now have a Cloud backend The Cloud Client-server communication Server Backend Database HTTP
More informationCS371m - Mobile Computing. More UI Navigation, Fragments, and App / Action Bars
CS371m - Mobile Computing More UI Navigation, Fragments, and App / Action Bars EFFECTIVE ANDROID NAVIGATION 2 Clicker Question Have you heard of the terms Back and Up in the context of Android Navigation?
More informationWorkspace Secure Container for Mobile Devices
Workspace Secure Container for Mobile Devices Version 1.1 Last Updated: April 24, 2014 2014 Verizon. All Rights Reserved. The Verizon name and logo and all other names, logos, and slogans identifying Verizon
More informationLogin with Amazon. Getting Started Guide for Android apps
Login with Amazon Getting Started Guide for Android apps Login with Amazon: Getting Started Guide for Android Copyright 2017 Amazon.com, Inc., or its affiliates. All rights reserved. Amazon and the Amazon
More informationEnterprise Smart Outlet: Android Development
Enterprise Smart Outlet: Android Development Aaron Koeppel Advisor: Professor Aaron Keen California Polytechnic State University Computer Science Department June 9, 2015 Abstract This project consists
More informationANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL II)
ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL II) Lecture 6: Notification and Web Services Notification A notification is a user interface element that you display outside your app's normal
More informationSingle Sign-on Overview Guide
Single Sign-on Overview Guide 1/24/2017 Blackbaud NetCommunity 7.1 Single Sign-on Overview US 2016 Blackbaud, Inc. This publication, or any part thereof, may not be reproduced or transmitted in any form
More informationHOW TO CONFIGURE SOCIAL MEDIA PRIVACY SETTINGS
HOW TO CONFIGURE SOCIAL MEDIA PRIVACY SETTINGS The right settings are critical when it comes to keeping your kids safe on social media. Here s a quick guide to safe settings for some of the most popular
More informationANDROID DEVELOPMENT. Course Details
ANDROID DEVELOPMENT Course Details centers@acadgild.com www.acadgild.com 90360 10796 01 Brief About the Course Android s share of the global smartphone is 81%. The Google Certified Android development
More informationOracle Exam 1z0-441 Oracle Mobile Development 2015 Essentials Version: 6.0 [ Total Questions: 85 ]
s@lm@n Oracle Exam 1z0-441 Oracle Mobile Development 2015 Essentials Version: 6.0 [ Total Questions: 85 ] Question No : 1 You have been asked to select the appropriate security policy to apply to a SOAP
More informationProduced by. Mobile Application Development. David Drohan Department of Computing & Mathematics Waterford Institute of Technology
Mobile Application Development Produced by David Drohan (ddrohan@wit.ie) Department of Computing & Mathematics Waterford Institute of Technology http://www.wit.ie The image cannot be displayed. Your computer
More informationMobile Application Development
Android Native Application Development Mobile Application Development 1. Android Framework and Android Studio b. Android Software Layers c. Android Libraries d. Components of an Android Application e.
More informationAnswers to Exercises
Answers to Exercises CHAPTER 1 ANSWERS 1. What is an AVD? Ans: An AVD is an Android Virtual Device. It represents an Android emulator, which emulates a particular configuration of an actual Android device.
More information1. Implementation of Inheritance with objects, methods. 2. Implementing Interface in a simple java class. 3. To create java class with polymorphism
ANDROID TRAINING COURSE CONTENT SECTION 1 : INTRODUCTION Android What it is? History of Android Importance of Java language for Android Apps Other mobile OS-es Android Versions & different development
More informationMumbai Android Bootcamp -Course Content
Mumbai Android Bootcamp -Course Content Dear Learners, The Mumbai Android Bootcamp course is floated with an aim to empower aspiring minds to be fluent in computer programming and use that to take a leap
More informationReportPlus Embedded Web SDK Guide
ReportPlus Embedded Web SDK Guide ReportPlus Web Embedding Guide 1.4 Disclaimer THE INFORMATION CONTAINED IN THIS DOCUMENT IS PROVIDED AS IS WITHOUT ANY EXPRESS REPRESENTATIONS OF WARRANTIES. IN ADDITION,
More informationWireless Vehicle Bus Adapter (WVA) Android Library Tutorial
Wireless Vehicle Bus Adapter (WVA) Android Library Tutorial Revision history 90001431-13 Revision Date Description A October 2014 Original release. B October 2017 Rebranded the document. Edited the document.
More informationUser Interface: Layout. Asst. Prof. Dr. Kanda Runapongsa Saikaew Computer Engineering Khon Kaen University
User Interface: Layout Asst. Prof. Dr. Kanda Runapongsa Saikaew Computer Engineering Khon Kaen University http://twitter.com/krunapon Agenda User Interface Declaring Layout Common Layouts User Interface
More informationFamily Map Server Specification
Family Map Server Specification Acknowledgements The Family Map project was created by Jordan Wild. Thanks to Jordan for this significant contribution. Family Map Introduction Family Map is an application
More informationCreate new Android project in Android Studio Add Button and TextView to layout Learn how to use buttons to call methods. Modify strings.
Hello World Lab Objectives: Create new Android project in Android Studio Add Button and TextView to layout Learn how to use buttons to call methods. Modify strings.xml What to Turn in: The lab evaluation
More information14FC Works Geotagging Mobile app Telangana Guidelines
14FC Works Geotagging Mobile app Telangana Guidelines DOWNLOAD Directions: Go to CDMA portal www.cdma.telangana.gov.in and go to section 14FC Geo Tagging app Download. You will be redirected to below screen
More informationSystem and Software Architecture Description (SSAD)
System and Software Architecture Description (SSAD) Perfecto Coffee Xpress Consistent Perfection Team 5 Chloe Good Yekaterina Glazko Edwards Hays Yucheng Hsieh Atreya Lahiri Jaimin Patel Yun Shen Andrew
More informationANDROID MOCK TEST ANDROID MOCK TEST IV
http://www.tutorialspoint.com ANDROID MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Android. You can download these sample mock tests at your local
More informationJAVA+ANDROID CURRICULUM 6 WEEKS. INTRODUCTION TO JAVA Understanding Requirement: Why Java Why Java is important to the Internet JAVA on LINUX Platform
JAVA+ANDROID CURRICULUM 6 WEEKS INTRODUCTION TO JAVA Understanding Requirement: Why Java Why Java is important to the Internet JAVA on LINUX Platform INTRODUCTION TO JAVA VIRTUAL MACHINE Java Virtual Machine
More information32. And this is an example on how to retrieve the messages received through NFC.
4. In Android applications the User Interface (UI) thread is the main thread. This thread is very important because it is responsible with displaying/drawing and updating UI elements and handling/dispatching
More informationJumble Encryption for Microsoft Outlook
Jumble Email Encryption for Microsoft Outlook Jumble provides truly usable and secure email encryption by integrating with existing email clients. Users can easily and securely communicate from their email
More informationCS 370 Android Basics D R. M I C H A E L J. R E A L E F A L L
CS 370 Android Basics D R. M I C H A E L J. R E A L E F A L L 2 0 1 5 Activity Basics Manifest File AndroidManifest.xml Central configuration of Android application Defines: Name of application Icon for
More informationCOLLEGE OF ENGINEERING, NASHIK-4
Pune Vidyarthi Griha s COLLEGE OF ENGINEERING, NASHIK-4 DEPARTMENT OF COMPUTER ENGINEERING 1) What is Android? Important Android Questions It is an open-sourced operating system that is used primarily
More informationAndroid Programming (5 Days)
www.peaklearningllc.com Android Programming (5 Days) Course Description Android is an open source platform for mobile computing. Applications are developed using familiar Java and Eclipse tools. This Android
More informationSTUDYHIVE ANDROID APPLICATION. A Project. Presented to the faculty of the Department of Computer Engineering. California State University, Sacramento
STUDYHIVE ANDROID APPLICATION A Project Presented to the faculty of the Department of Computer Engineering California State University, Sacramento Submitted in partial satisfaction of the requirements
More informationSpring Lecture 7 Lecturer: Omid Jafarinezhad
Mobile Programming Sharif University of Technology Spring 2016 - Lecture 7 Lecturer: Omid Jafarinezhad Grid View GridView is a ViewGroup that displays items in a two-dimensional, scrollable grid. The grid
More informationLibelium Cloud Hive. Technical Guide
Libelium Cloud Hive Technical Guide Index Document version: v7.0-12/2018 Libelium Comunicaciones Distribuidas S.L. INDEX 1. General and information... 4 1.1. Introduction...4 1.1.1. Overview...4 1.2. Data
More informationHigh School PLTW Computer Science A Curriculum
Grade 9th - 12th, 1 Credit Elective Course Prerequisites: PLTW Computer Science and Software Engineering High School PLTW Computer Science A Curriculum Course Description: Computer Science A (CSA) builds
More informationGroup Name: Team Epsilon Max Hinson Jhon Faghih Nassiri
Software Design Document for UCSB 360 Version 1.0 Prepared by Group Name: Team Epsilon Max Hinson 4426771 maxwellhinson@gmail.com Jhon Faghih Nassiri 4111274 jfaghihnassiri@gmail.com Luke Buckland 4060893
More informationApplication Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started
Application Development in JAVA Duration Lecture: Specialization x Hours Core Java (J2SE) & Advance Java (J2EE) Detailed Module Part I: Core Java (J2SE) Getting Started What is Java all about? Features
More informationAgenda. Overview of Xamarin and Xamarin.Android Xamarin.Android fundamentals Creating a detail screen
Gill Cleeren Agenda Overview of Xamarin and Xamarin.Android Xamarin.Android fundamentals Creating a detail screen Lists and navigation Navigating from master to detail Optimizing the application Preparing
More informationBlackBerry Developer Summit. A02: Rapid Development Leveraging BEMS Services and the AppKinetics Framework
BlackBerry Developer Summit A02: Rapid Development Leveraging BEMS Services and the AppKinetics Framework Page 2 of 21 Table of Contents 1. Workbook Scope... 4 2. Compatibility... 4 3. Source code download
More informationIntroductory Mobile App Development
Introductory Mobile App Development 152-160 Quick Links & Text References Overview Pages ListView Pages ArrayAdaper Pages Filling a ListView Pages Sensing Click Pages Selected Item Info Pages Configuring
More informationCS260 Intro to Java & Android 05.Android UI(Part I)
CS260 Intro to Java & Android 05.Android UI(Part I) Winter 2015 Winter 2015 CS250 - Intro to Java & Android 1 User Interface UIs in Android are built using View and ViewGroup objects A View is the base
More informationHomework 8: Ajax, JSON and Responsive Design Travel and Entertainment Search (Bootstrap/Angular/AJAX/JSON/jQuery /Cloud Exercise)
Homework 8: Ajax, JSON and Responsive Design Travel and Entertainment Search (Bootstrap/Angular/AJAX/JSON/jQuery /Cloud Exercise) 1. Objectives Get familiar with the AJAX and JSON technologies Use a combination
More informationChapter 2 Setting Up for Development
Introduction to Android Application Development, Android Essentials, Fifth Edition Chapter 2 Setting Up for Development Chapter 2 Overview Learn how to set up our Android development environment Look at
More informationTomTom Mobile SDK QuickStart Guide
TomTom Mobile SDK QuickStart Guide Table of Contents Introduction... 3 Migrate to TomTom ios... 4 Prerequisites...4 Initializing a map...4 Displaying a marker...4 Displaying traffic...5 Displaying a route/directions...5
More informationProgramming Android UI. J. Serrat Software Design December 2017
Programming Android UI J. Serrat Software Design December 2017 Preliminaries : Goals Introduce basic programming Android concepts Examine code for some simple examples Limited to those relevant for the
More informationWhen programming in groups of people, it s essential to version the code. One of the most popular versioning tools is git. Some benefits of git are:
ETSN05, Fall 2017, Version 1.0 Software Development of Large Systems Lab 2 preparations Read through this document carefully. In order to pass lab 2, you will need to understand the topics presented in
More informationProgressive Authentication in ios
Progressive Authentication in ios Genghis Chau, Denis Plotnikov, Edwin Zhang December 12 th, 2014 1 Overview In today s increasingly mobile-centric world, more people are beginning to use their smartphones
More informationSAS Event Stream Processing 4.3: Visualizing Event Streams with Streamviewer
SAS Event Stream Processing 4.3: Visualizing Event Streams with Streamviewer Overview Streamviewer provides a user interface that enables you to subscribe to window event streams from one or more event
More informationFamily Map Server Specification
Family Map Server Specification Acknowledgements The Family Map project was created by Jordan Wild. Thanks to Jordan for this significant contribution. Family Map Introduction Family Map is an application
More informationIf you re a Facebook marketer, you re likely always looking for ways to
Chapter 1: Custom Apps for Fan Page Timelines In This Chapter Using apps for Facebook marketing Extending the Facebook experience Discovering iframes, Application Pages, and Canvas Pages Finding out what
More information