Open Lecture Mobile Programming. Intro to Material Design

Size: px
Start display at page:

Download "Open Lecture Mobile Programming. Intro to Material Design"

Transcription

1 Open Lecture Mobile Programming Intro to Material Design

2 Agenda Introduction to Material Design Applying a Material Theme Toolbar/Action Bar Navigation Drawer RecyclerView CardView Support Design Widgets/Tools

3 What is Material Design A comprehensive guide for visual, motion, and interaction design across platforms and devices

4 Using Material Design Follow the guidelines defined in the design specifications Use the new components and functionality made available in Android 5.0+ (API level 21+) The following elements are provided to build apps with material design New widgets for complex views New APIs for custom shadows and animations

5 Goals of Material Design Create a visual language that Synthesizes good design principles with innovation Allows unified experience across platforms and varying device sizes

6 Physical Properties in Material Design Views have varying x and y dimensions and uniform thickness (1dp) Views cast shadows Updated widgets allow you to specify: Color palette Default animations for touch feedback and activity transitions

7 Creating An App With Material Design Apply the material theme to the app Create layouts using material design guidelines Specify the elevation of the views to cast shadows Use system widgets for lists and cards Customize animations

8 Material Theme Jdnc/whatismaterial_3d_elevation3.png

9 Apply The Material Theme Specify a style that inherits from android:theme.material <!-- res/values/styles.xml --> <resources> <!-- Inherit from the material theme --> <style name= MaterialDemo parent= Theme.AppCompat.Light.NoActionBar > <item name= colorprimary >@color/colorprimary</item> <item name= colorprimarydark >@color/colorprimarydark</item> <item name= coloraccent >@color/coloraccent</item> </style> </resources>

10 Apply The Material Theme <resources> The MaterialDemo theme will applied to the application. <!-- Inherit from the material theme --> <style name= MaterialDemo parent= Theme.AppCompat.Light.NoActionBar > <item name= colorprimary <item name= colorprimarydark </item> <item name= coloraccent </style> </resources>

11 Material Design Colors There are five color attributes that control the material design theme colorprimarydark - the darkest primary color of the app applied mainly to the notification bar colorprimary - the primary color used as the toolbar background navigationbarcolor - the primary color of the footer navigation bar textcolorprimary - the primary color of text (Toolbar) windowbackground - background color of application windows

12 Setting View Elevation Views can cast shadows The size of the shadow is determined by the View s elevation To set elevation, specify a value for the android:elevation attribute <TextView android:layout_width= wrap_content android:layout_height= wrap_content android:elevation= 5dp />

13 Animate View Elevation Changes Temporary View elevation changes can be animated Achieved by setting the android:translationz attribute <TextView android:layout_width= wrap_content android:layout_height= wrap_content android:translationz= 5dp />

14 View Shadows X0dVeGM/whatismaterial_3d_elevation1.png

15 Custom Animations Android 5.0+ includes new APIs to create custom animations Activity Transitions Exit Transitions

16 Custom Animations public class MyActivity extends Activity protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // enable transitions getwindow().requestfeature(window.feature_content_transitions); setcontentview(r.layout.activity_my); public void onsomebuttonclicked(view view) { getwindow().setexittransition(new Explode()); Intent intent = new Intent(this, MyOtherActivity.class); startactivity(intent, ActivityOptions.makeSceneTransitionAnimation(this).toBundle());

17 Custom Animations public class MyActivity extends Activity protected void oncreate(bundle savedinstancestate) { Sets a flag requesting content super.oncreate(savedinstancestate); changes be animated // enable transitions getwindow().requestfeature(window.feature_content_transitions); setcontentview(r.layout.activity_my); public void onsomebuttonclicked(view view) { getwindow().setexittransition(new Explode()); Intent intent = new Intent(this, MyOtherActivity.class); startactivity(intent, ActivityOptions.makeSceneTransitionAnimation(this).toBundle());

18 Custom Animations public class MyActivity extends Activity protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // enable transitions getwindow().requestfeature(window.feature_content_transitions); setcontentview(r.layout.activity_my); Sets the transition to use to move Views out of the scene public void onsomebuttonclicked(view when starting a new Activity view) { getwindow().setexittransition(new Explode()); Intent intent = new Intent(this, MyOtherActivity.class); startactivity(intent, ActivityOptions.makeSceneTransitionAnimation(this).toBundle());

19 Custom Animations public class MyActivity extends Activity protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // enable transitions getwindow().requestfeature(window.feature_content_transitions); setcontentview(r.layout.activity_my); public void onsomebuttonclicked(view view) { getwindow().setexittransition(new Explode()); Intent intent = new Intent(this, Start the new MyOtherActivity.class); startactivity(intent, ActivityOptions.makeSceneTransitionAnimation(this).toBundle());

20 Custom Animations public class MyActivity extends Activity protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // enable transitions getwindow().requestfeature(window.feature_content_transitions); setcontentview(r.layout.activity_my); public void onsomebuttonclicked(view view) { Specify the intent representing getwindow().setexittransition(new Explode()); the Activity to be started Intent intent = new Intent(this, MyOtherActivity.class); startactivity(intent, ActivityOptions.makeSceneTransitionAnimation(this).toBundle());

21 Custom Animations public class MyActivity extends Activity protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // enable transitions getwindow().requestfeature(window.feature_content_transitions); setcontentview(r.layout.activity_my); public void onsomebuttonclicked(view view) { getwindow().setexittransition(new Explode()); Intent intent = new Intent(this, Sets a flag MyOtherActivity.class); requesting content changes be animated startactivity(intent, ActivityOptions.makeSceneTransitionAnimation(this).toBundle());

22 Custom Animations public class MyActivity extends Activity protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // enable transitions getwindow().requestfeature(window.feature_content_transitions); setcontentview(r.layout.activity_my); public void onsomebuttonclicked(view view) { getwindow().setexittransition(new Explode()); Intent intent = Helper new Intent(this, class for specifying MyOtherActivity.class); options for the new activity startactivity(intent, ActivityOptions.makeSceneTransitionAnimation(this).toBundle());

23 Custom Animations public class MyActivity extends Activity protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // enable transitions getwindow().requestfeature(window.feature_content_transitions); setcontentview(r.layout.activity_my); public void onsomebuttonclicked(view view) { getwindow().setexittransition(new Explode()); Create an ActivityOptions to Intent intent = new Intent(this, transition between MyOtherActivity.class); activities startactivity(intent, and generate a bundle for it ActivityOptions.makeSceneTransitionAnimation(this).toBundle());

24 Adding a Material Design Theme to an App Start by creating an Android app with a minimum required SDK or Android 5.1 or higher For now choose either to create a Blank Activity Or. Add the Activities after the project is created

25 Creating The Color Scheme Modify or create the colors.xml file in the res/values directory <!-- colors.xml --> <resources> <color name="colorprimary">#512da8</color> <color name="colorprimarydark">#311b92</color> <color name="coloraccent">#ff4081</color> <color name="navigationbarcolor">#673ab7</color> <color name="textcolorprimary">#ffffff</color> <color name="windowbackground">#ffffff</color> </resources>

26 Creating The Color Scheme An excellent resource when creating a color scheme for your app is the color palette provided as part of the Google design specifications

27 Applying The Theme to Your App Add a custom style to your styles.xml file You can also modify the AppTheme style which is the default theme applied to your app This file is used by devices running a version of Android less than v21 If you intend to use a Toolbar as an app bar, inherit from one of the NoActionBar themes

28 Applying The Theme to Your App <!-- styles.xml --> style name="materialdemo" parent="theme.appcompat.light.noactionbar"> <item <item </item> <item </style> You can also add any custom style attributes in this file e.g <item name="android:windownotitle">true</item>

29 Applying The Theme to Your App The AppTheme style can be modified to inherit from your custom style This is done because by default your app has the theme set to AppTheme Set the parent attribute of the style (AppTheme) <style name="apptheme" parent="materialdemo"> </style>

30 Applying The Theme to Your App For devices running Android v21+ Create a res/values-v21 directory Add a styles.xml file to this directory Implement your style This should have the same name as the original styles.xml - AppTheme) Ensure you also inherit from the material base style Add any v21+ specific attributes to this file

31 Applying The Theme to Your App <!-- res/values-v21/styles.xml --> <style name="apptheme" parent="materialdemo"> <item name="android:windowcontenttransitions">true</item> <item <item </style>

32 Applying The Theme to Your App You can specify the application theme in AndroidManifest.xml by setting the android:theme attribute of the <application> tag <application... </application>

33 Applying the Theme to Your App Activities added to your app will now automatically have the theme applied

34 Adding a Toolbar (Action Bar) Ensure your app has the v7 appcompat support library added Create an Activity that extends AppCompatActivity Create a layout resource file for the Toolbar This can also be embedded directly in the main layout The root entry for your layout file should be <android.support.v7.widget.toolbar> Configure the attributes as necessary

35 Adding a Toolbar (Action Bar) <android.support.v7.widget.toolbar xmlns:android=" xmlns:app=" android:id="@+id/action_bar" android:layout_width="match_parent" android:layout_height="?attr/actionbarsize" android:background="?attr/colorprimary" android:elevation="4dp" android:theme="@style/themeoverlay.appcompat.actionbar" app:popuptheme="@style/themeoverlay.appcompat.light" />

36 Adding a Toolbar In your Activity s layout XML resource file, include the Toolbar We include an existing layout by using the <include> tag <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignparenttop="true" android:orientation="vertical"> <include android:id="@+id/action_bar" layout="@layout/action_bar" /> </LinearLayout>...

37 Associating the Toolbar with your Activity Inside the Activity s oncreate() method Call the setsupportactionbar(toolbar) method passing in your Toolbar as the argument You can also take this opportunity to configure any other action bar parameters (using the utility methods) as necessary

38 Associating the Toolbar with your Activity public class MainActivity extends AppCompatActivity { private Toolbar public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main);... mtoolbar = (Toolbar) findviewbyid(r.id.action_bar); setsupportactionbar(mtoolbar); getsupportactionbar().setdisplayshowhomeenabled(true);...

39 Associating the Toolbar with your Activity public class MainActivity extends AppCompatActivity { private Toolbar public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); Obtain a reference to the Toolbar created in the layout... XML file mtoolbar = (Toolbar) findviewbyid(r.id.action_bar); setsupportactionbar(mtoolbar); getsupportactionbar().setdisplayshowhomeenabled(true);...

40 Associating the Toolbar with your Activity public class MainActivity extends AppCompatActivity { private Toolbar public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main);... mtoolbar = Set (Toolbar) this as the Toolbar findviewbyid(r.id.action_bar); for the current Activity setsupportactionbar(mtoolbar); getsupportactionbar().setdisplayshowhomeenabled(true);...

41 Associating the Toolbar with your Activity public class MainActivity extends AppCompatActivity { private Toolbar public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main);... mtoolbar = (Toolbar) findviewbyid(r.id.action_bar); The setdisplayshowhomeenabled(bool) utility method indicates whether or not the home action is displayed in the Toolbar setsupportactionbar(mtoolbar); getsupportactionbar().setdisplayshowhomeenabled(true);...

42 Associating the Toolbar with your Activity For a comprehensive list of options, you can view the Action Bar documentation

43 Adding Actions to the Toolbar Action buttons and other menu items are defined in an XML menu resource file Add an <item> entry for each desired item in the Toolbar The app:showasaction attribute determines if the item should be shown as a button on the app bar ifroom - show as an action if there is adequate space never - show the item only in the overflow menu

44 Adding Actions to the Toolbar <menu xmlns:android=" xmlns:app=" xmlns:tools=" tools:context=".mainactivity"> <item android:orderincategory="100" app:showasaction="ifroom" /> <item android:orderincategory="100" app:showasaction="never" /> </menu>

45 Adding Actions to the Toolbar You can find many useful icons on the Material Icons page

46 Adding Actions to The Toolbar The items are added to the Toolbar by overriding the oncreateoptionsmenu() method of the public boolean oncreateoptionsmenu(menu menu) { getmenuinflater().inflate(r.menu.menu, menu); return true;

47 Handling Toolbar Actions Essentially identical to dealing with menu items in older versions of Android Override the onoptionsitemselected() method of the Activity Determine which option was selected using the getitemid() method of the MenuItem Perform the appropriate action based on the selected item

48 Handling Toolbar public boolean onoptionsitemselected (MenuItem item) { int id = item.getitemid(); switch (id) { case R.id.action_search: return true; case R.id.action_exit: finish(); return true; default: return super.onoptionsitemselected (item);

49 Adding An Up Action If your app has a main Activity, you can add an Up button to the Toolbar The Up button makes it easy for users to navigate to the main Activity from child activities You will need to specify the parent Activity for each child Activity in the AndroidManifest.xml file

50 Adding An Up Action... <activity android:name=".mainactivity">... </activity> <activity android:name=".secondactivity" android:parentactivityname=".mainactivity"> <meta-data </activity>... android:name="android.support.parent_activity" android:value=".mainactivity" />

51 Adding An Up Action... <activity android:name=".mainactivity">... </activity> <activity android:name=".secondactivity" android:parentactivityname=".mainactivity"> <meta-data </activity>... Set the android:parentactivityname attribute of each child Activity android:name="android.support.parent_activity" android:value=".mainactivity" />

52 Adding An Up Action... <activity android:name=".mainactivity">... </activity> <activity android:name=".secondactivity" android:parentactivityname=".mainactivity"> <meta-data </activity>... Allow support for older versions of Android android:name="android.support.parent_activity" android:value=".mainactivity" />

53 Enable The Up Function In Child Activities To enable the functionality in the child Activity Setup the Toolbar in the oncreate() method Use the setdisplayhomeasupenabled() utility method to allow navigation to the parent public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.second_activity); Toolbar action_bar = (Toolbar) findviewbyid(r.id.action_bar); setsupportactionbar(action_bar); getsupportactionbar().setdisplayhomeasupenabled(true);

54 What is a Navigation Drawer A panel that displays the main navigation options Typically positioned at the starting edge of the activity The drawer is normally hidden but revealed when the user swipes right from the left edge of the screen Also triggered if the user touches the app icon in the Toolbar (from the top level activity)

55 Creating A Drawer Layout Create an XML layout file with a DrawerLayout as its root view Add two views to the DrawerLayout Your main content layout A View containing the contents of the navigation drawer

56 Creating A Drawer Layout <android.support.v4.widget.drawerlayout xmlns:android=" android:id="@+id/drawer" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout... android:layout_width="match_parent" android:layout_height="match_parent"> </LinearLayout> <ListView... android:layout_width="240dp" android:layout_height="match_parent"... /> </android.support.v4.widget.drawerlayout>

57 Creating A Drawer Layout The content View must be the first child of the DrawerLayout The content View should match the parent View s height and width The drawer View must specify a horizontal gravity using the android:layout_gravity attribute The drawer View s width should be specified in dp and should be no more than 320dp

58 Initialize The Navigation List You can initialize the drawer content by populating the list in the Activity s oncreate() public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout. third_activity);... mdrawerlist = (ListView) findviewbyid(r.id. left_drawer); // populate the listview using an adapter mdrawerlist.setadapter( new ArrayAdapter<String>( this, android.r.layout. simple_list_item_1, fragment_list));...

59 Handling Navigation Click Events To handle navigation click events Implement an appropriate onclick listener for the drawer list e.g. implement onitemclicklistener for a ListView

60 Handling Navigation Click Events // set the onitemclicklistener for the listview mdrawerlist.setonitemclicklistener(new AdapterView.OnItemClickListener() public void onitemclick(adapterview<?> parent, View view, int position, long id) { if (position == 0) { Fragment fragment = new FragmentOne(); FragmentManager fm = getsupportfragmentmanager(); fm.begintransaction().replace(r.id.content_layout, fragment).commit(); getactionbar().settitle("fragment One");... ); mdrawerlist.setitemchecked(position, true); mdrawerlayout.closedrawer(mdrawerlist);

61 Lists And Cards RecyclerView Supports different layout types Offers performance improvements over ListView CardView Allows showing information inside cards Consistent appearance across applications

62 RecyclerView Lists

63 RecyclerView More advanced and flexible version of ListView Efficient scrolling Maintains a limited number of Views Should be used for dynamic data collections Provides Layout managers to position items Default animations for common item operations (removal, addition, etc) We will not discuss RecyclerView in-depth

64 Using RecyclerView Create an adapter that extends the RecyclerView.Adapter class Use a layout manager Positions items inside the RecyclerView Decides when to reuse item views that are no longer visible Built in layout managers are available LinearLayoutManager, GridLayoutManager, StaggeredGridLayoutManager Custom layout manager can be created by extending RecyclerView.LayoutManager Ensure the correct gradle dependencies are included in the project compile 'com.android.support:recyclerview-v7:21.0.+'

65 Using RecyclerView To add a RecyclerView to your layout <android.support.v7.widget.recyclerview android:id="@+id/recycler_view" android:scrollbars="vertical" android:layout_width="match_parent" android:layout_height="match_parent" />

66 CardView

67 CardView Extension of FrameLayout class Displays content in cards with consistent appearance across the platform

68 Customizing CardView s appearance A CardView s appearance can be customized using the following attributes card_view:cardcornerradius Sets the corner radius in layouts card_view:cardbackgroundcolor Sets the background color of a card

69 Using CardView Add the CardView to your layout Add a single child View to the CardView containing content to be displayed Ensure the correct gradle dependencies are included in the project compile 'com.android.support:cardview-v7:21.0.+'

70 Using CardView <android.support.v7.widget.cardview xmlns:app=" android:layout_gravity="center" android:layout_width="240dp" android:layout_height="240dp" app:cardcornerradius="5dp" app:cardbackgroundcolor="#00ff00"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" /> </android.support.v7.widget.cardview>

71 Floating Labels for EditText Introduced in the Android design support library Floating labels display a floating (duh) label over an EditText The label acts as a hint when the EditText is empty Moves to a floating position when the user begins entering text

72 Floating Labels for EditText The functionality is obtained using a TextInputLayout The EditText must be the child of the TextInputLayout Error messages can be set/displayed using either the seterrorenabled() or seterror() methods Requires the following line in your build.gradle file compile 'com.android.support:design:21.0.+'

73 Floating Labels for EditText Add the TextInputLayout and EditText to your activity s layout XML resource file... <android.support.design.widget.textinputlayout android:id="@+id/input_layout_fname" android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:id="@+id/fname" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="first Name"/> </android.support.design.widget.textinputlayout>...

74 Floating Labels for EditText final TextInputLayout inputlayoutfname = (TextInputLayout) root.findviewbyid(r.id. input_layout_fname); final EditText fname = (EditText) root.findviewbyid(r.id. fname); Button submit = (Button) root.findviewbyid(r.id. btn_submit); submit.setonclicklistener( new View.OnClickListener() public void onclick(view v) { if (fname.gettext().tostring().isempty()) { inputlayoutfname.seterror("please enter your first name"); else { inputlayoutfname.seterrorenabled( false); );

75 Floating Labels for EditText final TextInputLayout inputlayoutfname = (TextInputLayout) root.findviewbyid(r.id. input_layout_fname); final EditText fname = (EditText) root.findviewbyid(r.id. fname); Button submit = (Button) root.findviewbyid(r.id. btn_submit); submit.setonclicklistener( new View.OnClickListener() Set the error to be displayed for public void onclick(view the EditText v) { if (fname.gettext().tostring().isempty()) { inputlayoutfname.seterror("please enter your first name"); else { inputlayoutfname.seterrorenabled( false); );

76 Floating Labels for EditText final TextInputLayout inputlayoutfname = (TextInputLayout) root.findviewbyid(r.id. input_layout_fname); final EditText fname = (EditText) root.findviewbyid(r.id. fname); Button submit = (Button) root.findviewbyid(r.id. btn_submit); submit.setonclicklistener( new View.OnClickListener() public void onclick(view v) { if (fname.gettext().tostring().isempty()) { inputlayoutfname.seterror("please Clear any existing errors enter your first name"); else { inputlayoutfname.seterrorenabled(false); );

77 Floating Action Button Floats on the UI in a circular shape The button has an attached action The android:layout_gravity attribute controls position of the button <android.support.design.widget.floatingactionbutton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="start bottom" android:layout_margin="10dp" android:src="@android:drawable/ic_delete" />

78 Floating Action Button The onclick action of a Floating Action Button is handled in the same way as a normal Button FloatingActionButton fab = (FloatingActionButton) findviewbyid(r.id.fab); fab.setonclicklistener(new View.OnClickListener() { Public void onclick(view v) { // Perform some action here );

79 Snackbar A Snackbar is similar to a Toast but facilitates user interaction Snackbars are displayed at the bottom of the screen (phones) or at the lower left (larger devices) Snackbars can only be displayed one at a time and disappears after a period of time Snackbars are also dismissed after the user interacts with them or another part of the screen

80 Creating a Snackbar To create an instance of a Snackbar we use the class s make() method make() accepts 3 parameters: A View Using a CoordinatorLayout is recommended as it allows features such as swiping to dismiss the Snackbar A display message A Duration LENGTH_SHORT LENGTH_LONG LENGTH_INDEFINITE To display the Snackbar, call the show() instance method

81 Creating a Snackbar <android.support.design.widget.coordinatorlayout xmlns:android=" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center"> <Button android:id="@+id/click_me" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="click Me!"/> </android.support.design.widget.coordinatorlayout>

82 Creating a Snackbar Ensure the calling activity has a CoordinatorLayout as the root View <android.support.design.widget.coordinatorlayout xmlns:android=" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center"> <Button android:id="@+id/click_me" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="click Me!"/> </android.support.design.widget.coordinatorlayout>

83 Creating a Snackbar Snackbar snackbar = Snackbar.make(coordinatorLayout, "Hello From the Dark Side", Snackbar.LENGTH_LONG); snackbar.show();

84 Creating a Snackbar make() creates an instance of Snackbar Snackbar snackbar = Snackbar.make(coordinatorLayout, "Hello From the Dark Side", Snackbar.LENGTH_LONG); snackbar.show();

85 Creating a Snackbar Snackbar snackbar = Snackbar.make(coordinatorLayout, The show() method displays the Snackbar "Hello From the Dark Side", Snackbar.LENGTH_LONG); snackbar.show();

86 Snackbar - Adding Action Callback An action callback can be added to a Snackbar using the setaction() method setaction() accepts two parameters A label for the action A View.OnClickListener() the describe the actions that should be performed when the user interacts with the Snackbar

87 Snackbar - Adding Action Callback Snackbar snackbar = Snackbar.make(coordinatorLayout, "Hello From the Dark Side", Snackbar.LENGTH_LONG); snackbar.setaction("say Hi!", new View.OnClickListener() public void onclick(view v) { Snackbar replysnackbar = Snackbar.make(coordinatorLayout, "(blow raspberry)", Snackbar.LENGTH_LONG); replysnackbar.show(); ); snackbar.show();

88 References Android Developer Site Mobile

05. RecyclerView and Styles

05. RecyclerView and Styles 05. RecyclerView and Styles 08.03.2018 1 Agenda Intents Creating Lists with RecyclerView Creating Cards with CardView Application Bar Menu Styles and Themes 2 Intents 3 What is Intent? An Intent is an

More information

Android Navigation Drawer for Sliding Menu / Sidebar

Android Navigation Drawer for Sliding Menu / Sidebar Android Navigation Drawer for Sliding Menu / Sidebar by Kapil - Tuesday, December 15, 2015 http://www.androidtutorialpoint.com/material-design/android-navigation-drawer-for-sliding-menusidebar/ YouTube

More information

Android Development Community. Let s do Material Design

Android Development Community. Let s do Material Design Let s do Material Design Agenda Introduction to Material Design Toolbar Navigation Drawer SwipeRefreshLayout RecyclerView Floating Action Button CardView Toolbar - Lives in package android.support.v7.widget

More information

MATERIAL DESIGN. Android Elective Course 4th Semester. June 2016 Teacher: Anders Kristian Børjesson. Ovidiu Floca

MATERIAL DESIGN. Android Elective Course 4th Semester. June 2016 Teacher: Anders Kristian Børjesson. Ovidiu Floca MATERIAL DESIGN Android Elective Course 4th Semester June 2016 Teacher: Anders Kristian Børjesson Ovidiu Floca 1 CONTENTS 2 Introduction... 2 3 Problem Definition... 2 4 Method... 2 5 Planning... 3 6 Watching

More information

Text Properties Data Validation Styles/Themes Material Design

Text Properties Data Validation Styles/Themes Material Design Text Properties Data Validation Styles/Themes Material Design Sisoft Technologies Pvt Ltd SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad Website: Email:info@sisoft.in Phone: +91-9999-283-283

More information

Android CardView Tutorial

Android CardView Tutorial Android CardView Tutorial by Kapil - Wednesday, April 13, 2016 http://www.androidtutorialpoint.com/material-design/android-cardview-tutorial/ YouTube Video We have already discussed about RecyclerView

More information

Android App Development. Mr. Michaud ICE Programs Georgia Institute of Technology

Android App Development. Mr. Michaud ICE Programs Georgia Institute of Technology Android App Development Mr. Michaud ICE Programs Georgia Institute of Technology Android Operating System Created by Android, Inc. Bought by Google in 2005. First Android Device released in 2008 Based

More information

Styles, Themes, and Material Design

Styles, Themes, and Material Design Styles, Themes, and Material Design CS 236503 Dr. Oren Mishali Based on the Official Android Development Guide Outline Styles & Themes Material Design Lists Floating Action Button Cards To be continued

More information

Action Bar. Action bar: Top navigation bar at each screen The action bar is split into four different functional areas that apply to most apps.

Action Bar. Action bar: Top navigation bar at each screen The action bar is split into four different functional areas that apply to most apps. 1 Action Bar Action bar: Top navigation bar at each screen The action bar is split into four different functional areas that apply to most apps. 1) App Icon 3) Action Buttons 2)View Control 4) Action Overflows

More information

EMBEDDED SYSTEMS PROGRAMMING Application Tip: Managing Screen Orientation

EMBEDDED SYSTEMS PROGRAMMING Application Tip: Managing Screen Orientation EMBEDDED SYSTEMS PROGRAMMING 2016-17 Application Tip: Managing Screen Orientation ORIENTATIONS Portrait Landscape Reverse portrait Reverse landscape ON REVERSE PORTRAIT Android: all four orientations are

More information

Getting Started. Dr. Miguel A. Labrador Department of Computer Science & Engineering

Getting Started. Dr. Miguel A. Labrador Department of Computer Science & Engineering Getting Started Dr. Miguel A. Labrador Department of Computer Science & Engineering labrador@csee.usf.edu http://www.csee.usf.edu/~labrador 1 Goals Setting up your development environment Android Framework

More information

Style, Themes, and Introduction to Material Design

Style, Themes, and Introduction to Material Design Style, Themes, and Introduction to Material Design http://developer.android.com/guide/topics/ui/themes.html http://developer.android.com/training/material/index.html Dr. Oren Mishali What is a style in

More information

Action Bar. (c) 2010 Haim Michael. All Rights Reserv ed.

Action Bar. (c) 2010 Haim Michael. All Rights Reserv ed. Action Bar Introduction The Action Bar is a widget that is shown on top of the screen. It includes the application logo on its left side together with items available from the options menu on the right.

More information

Material Design. +Ran Nachmany

Material Design. +Ran Nachmany Material Design +Ran Nachmany MATERIAL DESIGN A coherent cross-platform experience A coherent cross-platform experience A more flexible design system for Android A coherent cross-platform experience A

More information

Accelerating Information Technology Innovation

Accelerating Information Technology Innovation Accelerating Information Technology Innovation http://aiti.mit.edu India Summer 2012 Review Session Android and Web Working with Views Working with Views Create a new Android project. The app name should

More information

Mobile Application Development Android

Mobile Application Development Android Mobile Application Development Android Lecture 2 MTAT.03.262 Satish Srirama satish.srirama@ut.ee Android Lecture 1 -recap What is Android How to develop Android applications Run & debug the applications

More information

Android development. Outline. Android Studio. Setting up Android Studio. 1. Set up Android Studio. Tiberiu Vilcu. 2.

Android development. Outline. Android Studio. Setting up Android Studio. 1. Set up Android Studio. Tiberiu Vilcu. 2. Outline 1. Set up Android Studio Android development Tiberiu Vilcu Prepared for EECS 411 Sugih Jamin 15 September 2017 2. Create sample app 3. Add UI to see how the design interface works 4. Add some code

More information

ListView Containers. Resources. Creating a ListView

ListView 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 information

Our First Android Application

Our First Android Application Mobile Application Development Lecture 04 Imran Ihsan Our First Android Application Even though the HelloWorld program is trivial in introduces a wealth of new ideas the framework, activities, manifest,

More information

Intents. Your first app assignment

Intents. Your first app assignment Intents Your first app assignment We will make this. Decidedly lackluster. Java Code Java Code XML XML Preview XML Java Code Java Code XML Buttons that work

More information

Mobile Software Development for Android - I397

Mobile Software Development for Android - I397 1 Mobile Software Development for Android - I397 IT COLLEGE, ANDRES KÄVER, 2015-2016 EMAIL: AKAVER@ITCOLLEGE.EE WEB: HTTP://ENOS.ITCOLLEGE.EE/~AKAVER/2015-2016/DISTANCE/ANDROID SKYPE: AKAVER Timetable

More information

Arrays of Buttons. Inside Android

Arrays of Buttons. Inside Android Arrays of Buttons Inside Android The Complete Code Listing. Be careful about cutting and pasting.

More information

Mobile Programming Lecture 5. Composite Views, Activities, Intents and Filters

Mobile Programming Lecture 5. Composite Views, Activities, Intents and Filters Mobile Programming Lecture 5 Composite Views, Activities, Intents and Filters Lecture 4 Review How do you get the value of a string in the strings.xml file? What are the steps to populate a Spinner or

More information

Android Programs Day 5

Android Programs Day 5 Android Programs Day 5 //Android Program to demonstrate the working of Options Menu. 1. Create a New Project. 2. Write the necessary codes in the MainActivity.java to create OptionMenu. 3. Add the oncreateoptionsmenu()

More information

android-espresso #androidespresso

android-espresso #androidespresso android-espresso #androidespresso Table of Contents About 1 Chapter 1: Getting started with android-espresso 2 Remarks 2 Examples 2 Espresso setup instructions 2 Checking an Options Menu items (using Spoon

More information

CSE 660 Lab 3 Khoi Pham Thanh Ho April 19 th, 2015

CSE 660 Lab 3 Khoi Pham Thanh Ho April 19 th, 2015 CSE 660 Lab 3 Khoi Pham Thanh Ho April 19 th, 2015 Comment and Evaluation: This lab introduces us about Android SDK and how to write a program for Android platform. The calculator is pretty easy, everything

More information

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar Mobile Application Development Higher Diploma in Science in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology

More information

Mobile Application Development Lab [] Simple Android Application for Native Calculator. To develop a Simple Android Application for Native Calculator.

Mobile Application Development Lab [] Simple Android Application for Native Calculator. To develop a Simple Android Application for Native Calculator. Simple Android Application for Native Calculator Aim: To develop a Simple Android Application for Native Calculator. Procedure: Creating a New project: Open Android Stdio and then click on File -> New

More information

Adapter.

Adapter. 1 Adapter An Adapter object acts as a bridge between an AdapterView and the underlying data for that view The Adapter provides access to the data items The Adapter is also responsible for making a View

More information

User Interface Development. CSE 5236: Mobile Application Development Instructor: Adam C. Champion Course Coordinator: Dr.

User Interface Development. CSE 5236: Mobile Application Development Instructor: Adam C. Champion Course Coordinator: Dr. User Interface Development CSE 5236: Mobile Application Development Instructor: Adam C. Champion Course Coordinator: Dr. Rajiv Ramnath 1 Outline UI Support in Android Fragments 2 UI Support in the Android

More information

Mobile Programming Lecture 2. Layouts, Widgets, Toasts, and Event Handling

Mobile Programming Lecture 2. Layouts, Widgets, Toasts, and Event Handling Mobile Programming Lecture 2 Layouts, Widgets, Toasts, and Event Handling Lecture 1 Review How to edit XML files in Android Studio? What holds all elements (Views) that appear to the user in an Activity?

More information

Mobile and Ubiquitous Computing: Android Programming (part 3)

Mobile and Ubiquitous Computing: Android Programming (part 3) Mobile and Ubiquitous Computing: Android Programming (part 3) Master studies, Winter 2015/2016 Dr Veljko Pejović Veljko.Pejovic@fri.uni-lj.si Based on Programming Handheld Systems, Adam Porter, University

More information

Android 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. 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 information

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar Mobile Application Development Higher Diploma in Science in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology

More information

INTRODUCTION TO ANDROID

INTRODUCTION TO ANDROID INTRODUCTION TO ANDROID 1 Niv Voskoboynik Ben-Gurion University Electrical and Computer Engineering Advanced computer lab 2015 2 Contents Introduction Prior learning Download and install Thread Android

More information

Android Application Development

Android Application Development Android Application Development Octav Chipara What is Android A free, open source mobile platform A Linux-based, multiprocess, multithreaded OS Android is not a device or a product It s not even limited

More information

Overview. What are layouts Creating and using layouts Common layouts and examples Layout parameters Types of views Event listeners

Overview. What are layouts Creating and using layouts Common layouts and examples Layout parameters Types of views Event listeners Layouts and Views http://developer.android.com/guide/topics/ui/declaring-layout.html http://developer.android.com/reference/android/view/view.html Repo: https://github.com/karlmorris/viewsandlayouts Overview

More information

ANDROID USER INTERFACE

ANDROID USER INTERFACE 1 ANDROID USER INTERFACE Views FUNDAMENTAL UI DESIGN Visual interface element (controls or widgets) ViewGroup Contains multiple widgets. Layouts inherit the ViewGroup class Activities Screen being displayed

More information

Chapter 8 Positioning with Layouts

Chapter 8 Positioning with Layouts Introduction to Android Application Development, Android Essentials, Fifth Edition Chapter 8 Positioning with Layouts Chapter 8 Overview Create user interfaces in Android by defining resource files or

More information

Fragments. Lecture 11

Fragments. 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 information

Fragment Example Create the following files and test the application on emulator or device.

Fragment Example Create the following files and test the application on emulator or device. Fragment Example Create the following files and test the application on emulator or device. File: AndroidManifest.xml

More information

Produced by. Mobile Application Development. Eamonn de Leastar

Produced by. Mobile Application Development. Eamonn de Leastar Mobile Application Development 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 A First

More information

Android Apps Development for Mobile and Tablet Device (Level I) Lesson 2

Android Apps Development for Mobile and Tablet Device (Level I) Lesson 2 Workshop 1. Compare different layout by using Change Layout button (Page 1 5) Relative Layout Linear Layout (Horizontal) Linear Layout (Vertical) Frame Layout 2. Revision on basic programming skill - control

More information

MAD ASSIGNMENT NO 2. Submitted by: Rehan Asghar BSSE AUGUST 25, SUBMITTED TO: SIR WAQAS ASGHAR Superior CS&IT Dept.

MAD ASSIGNMENT NO 2. Submitted by: Rehan Asghar BSSE AUGUST 25, SUBMITTED TO: SIR WAQAS ASGHAR Superior CS&IT Dept. MAD ASSIGNMENT NO 2 Submitted by: Rehan Asghar BSSE 7 15126 AUGUST 25, 2017 SUBMITTED TO: SIR WAQAS ASGHAR Superior CS&IT Dept. Android Widgets There are given a lot of android widgets with simplified

More information

CS 4330/5390: Mobile Application Development Exam 1

CS 4330/5390: Mobile Application Development Exam 1 1 Spring 2017 (Thursday, March 9) Name: CS 4330/5390: Mobile Application Development Exam 1 This test has 8 questions and pages numbered 1 through 7. Reminders This test is closed-notes and closed-book.

More information

Android Using Menus. Victor Matos Cleveland State University

Android Using Menus. Victor Matos Cleveland State University Lesson 8 Notes are based on: The Busy Coder's Guide to Android Development by Mark L. Murphy Copyright 2008-2009 CommonsWare, LLC. ISBN: 978-0-9816780-0-9 & Android Developers http://developer.android.com/index.html

More information

When 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:

When 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 information

Chapter 5 Flashing Neon FrameLayout

Chapter 5 Flashing Neon FrameLayout 5.1 Case Overview This case mainly introduced the usages of FrameLayout; we can use FrameLayout to realize the effect, the superposition of multiple widgets. This example is combined with Timer and Handler

More information

Android Apps Development for Mobile and Tablet Device (Level I) Lesson 4. Workshop

Android Apps Development for Mobile and Tablet Device (Level I) Lesson 4. Workshop Workshop 1. Create an Option Menu, and convert it into Action Bar (Page 1 8) Create an simple Option Menu Convert Option Menu into Action Bar Create Event Listener for Menu and Action Bar Add System Icon

More information

Screen Slides. The Android Studio wizard adds a TextView to the fragment1.xml layout file and the necessary code to Fragment1.java.

Screen Slides. The Android Studio wizard adds a TextView to the fragment1.xml layout file and the necessary code to Fragment1.java. Screen Slides References https://developer.android.com/training/animation/screen-slide.html https://developer.android.com/guide/components/fragments.html Overview A fragment can be defined by a class and

More information

Applied Cognitive Computing Fall 2016 Android Application + IBM Bluemix (Cloudant NoSQL DB)

Applied Cognitive Computing Fall 2016 Android Application + IBM Bluemix (Cloudant NoSQL DB) Applied Cognitive Computing Fall 2016 Android Application + IBM Bluemix (Cloudant NoSQL DB) In this exercise, we will create a simple Android application that uses IBM Bluemix Cloudant NoSQL DB. The application

More information

Graphical User Interfaces

Graphical User Interfaces Graphical User Interfaces Some suggestions Avoid displaying too many things Well-known anti-patterns Display useful content on your start screen Use action bars to provide consistent navigation Keep your

More information

Android Application Model I

Android 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 information

Android UI Development

Android UI Development Android UI Development Android UI Studio Widget Layout Android UI 1 Building Applications A typical application will include: Activities - MainActivity as your entry point - Possibly other activities (corresponding

More information

EMBEDDED SYSTEMS PROGRAMMING UI and Android

EMBEDDED 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 information

Adaptation of materials: dr Tomasz Xięski. Based on presentations made available by Victor Matos, Cleveland State University.

Adaptation of materials: dr Tomasz Xięski. Based on presentations made available by Victor Matos, Cleveland State University. Creating dialogs Adaptation of materials: dr Tomasz Xięski. Based on presentations made available by Victor Matos, Cleveland State University. Portions of this page are reproduced from work created and

More information

EMBEDDED SYSTEMS PROGRAMMING Application Tip: Saving State

EMBEDDED SYSTEMS PROGRAMMING Application Tip: Saving State EMBEDDED SYSTEMS PROGRAMMING 2016-17 Application Tip: Saving State THE PROBLEM How to save the state (of a UI, for instance) so that it survives even when the application is closed/killed The state should

More information

Creating a Custom ListView

Creating 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 information

Hello World. Lesson 1. Android Developer Fundamentals. Android Developer Fundamentals. Layouts, and. NonCommercial

Hello World. Lesson 1. Android Developer Fundamentals. Android Developer Fundamentals. Layouts, and. NonCommercial Hello World Lesson 1 This work is licensed This under work a Creative is is licensed Commons under a a Attribution-NonCommercial Creative 4.0 Commons International Attribution- License 1 NonCommercial

More information

Software Practice 3 Before we start Today s lecture Today s Task Team organization

Software Practice 3 Before we start Today s lecture Today s Task Team organization 1 Software Practice 3 Before we start Today s lecture Today s Task Team organization Prof. Hwansoo Han T.A. Jeonghwan Park 43 2 Lecture Schedule Spring 2017 (Monday) This schedule can be changed M A R

More information

Android User Interface

Android User Interface Android Smartphone Programming Matthias Keil Institute for Computer Science Faculty of Engineering 20. Oktober 2014 Outline 1 Android User Interface 2 Multi-Language Support 3 Summary Matthias Keil Android

More information

Starting Another Activity Preferences

Starting Another Activity Preferences Starting Another Activity Preferences Android Application Development Training Xorsat Pvt. Ltd www.xorsat.net fb.com/xorsat.education Outline Starting Another Activity Respond to the Button Create the

More information

Mobile Programming Lecture 3. Resources, Selection, Activities, Intents

Mobile Programming Lecture 3. Resources, Selection, Activities, Intents Mobile Programming Lecture 3 Resources, Selection, Activities, Intents Lecture 2 Review What widget would you use to allow the user to enter a yes/no value a range of values from 1 to 100 What's the benefit

More information

Create Parent Activity and pass its information to Child Activity using Intents.

Create Parent Activity and pass its information to Child Activity using Intents. Create Parent Activity and pass its information to Child Activity using Intents. /* MainActivity.java */ package com.example.first; import android.os.bundle; import android.app.activity; import android.view.menu;

More information

ActionBar. import android.support.v7.app.actionbaractivity; public class MyAppBarActivity extends ActionBarActivity { }

ActionBar. import android.support.v7.app.actionbaractivity; public class MyAppBarActivity extends ActionBarActivity { } Android ActionBar import android.support.v7.app.actionbaractivity; public class MyAppBarActivity extends ActionBarActivity { Layout, activity.xml

More information

Android Application Development. By : Shibaji Debnath

Android Application Development. By : Shibaji Debnath Android Application Development By : Shibaji Debnath About Me I have over 10 years experience in IT Industry. I have started my career as Java Software Developer. I worked in various multinational company.

More information

CS371m - Mobile Computing. More UI Action Bar, Navigation, and Fragments

CS371m - 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 information

Designing and Implementing Android UIs for Phones and Tablets

Designing and Implementing Android UIs for Phones and Tablets Designing and Implementing Android UIs for Phones and Tablets Matias Duarte Rich Fulcher Roman Nurik Adam Powell Christian Robertson #io2011 #Android 2 Ask questions Give feedback http://goo.gl/mod/zdyr

More information

EMBEDDED SYSTEMS PROGRAMMING Android Services

EMBEDDED SYSTEMS PROGRAMMING Android Services EMBEDDED SYSTEMS PROGRAMMING 2016-17 Android Services APP COMPONENTS Activity: a single screen with a user interface Broadcast receiver: responds to system-wide broadcast events. No user interface Service:

More information

CHAPTER 4. Fragments ActionBar Menus

CHAPTER 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 information

Android User Interface Android Smartphone Programming. Outline University of Freiburg

Android User Interface Android Smartphone Programming. Outline University of Freiburg Android Smartphone Programming Matthias Keil Institute for Computer Science Faculty of Engineering 20. Oktober 2014 Outline 1 2 Multi-Language Support 3 Summary Matthias Keil 20. Oktober 2014 2 / 19 From

More information

CS371m - Mobile Computing. More UI Navigation, Fragments, and App / Action Bars

CS371m - 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 information

Using Eclipse for Android Development

Using Eclipse for Android Development 3 Using Eclipse for Android Development This chapter is an introduction to building a complete Android app. The chapter includes creating a new app project, exploring the components of an Android app,

More information

Mobile Programming Lecture 7. Dialogs, Menus, and SharedPreferences

Mobile Programming Lecture 7. Dialogs, Menus, and SharedPreferences Mobile Programming Lecture 7 Dialogs, Menus, and SharedPreferences Agenda Dialogs Menus SharedPreferences Android Application Components 1. Activity 2. Broadcast Receiver 3. Content Provider 4. Service

More information

Fragments were added to the Android API in Honeycomb, API 11. The primary classes related to fragments are: android.app.fragment

Fragments 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 information

Topics of Discussion

Topics of Discussion Reference CPET 565 Mobile Computing Systems CPET/ITC 499 Mobile Computing Fragments, ActionBar and Menus Part 3 of 5 Android Programming Concepts, by Trish Cornez and Richard Cornez, pubslihed by Jones

More information

Mobile Application Development MyRent Settings

Mobile Application Development MyRent Settings Mobile Application Development MyRent Settings Waterford Institute of Technology October 13, 2016 John Fitzgerald Waterford Institute of Technology, Mobile Application Development MyRent Settings 1/19

More information

EMBEDDED SYSTEMS PROGRAMMING Application Tip: Switching UIs

EMBEDDED SYSTEMS PROGRAMMING Application Tip: Switching UIs EMBEDDED SYSTEMS PROGRAMMING 2015-16 Application Tip: Switching UIs THE PROBLEM How to switch from one UI to another Each UI is associated with a distinct class that controls it Solution shown: two UIs,

More information

Vienos veiklos būsena. Theory

Vienos veiklos būsena. Theory Vienos veiklos būsena Theory While application is running, we create new Activities and close old ones, hide the application and open it again and so on, and Activity can process all these events. It is

More information

Software Engineering Large Practical: Storage, Settings and Layouts. Stephen Gilmore School of Informatics October 27, 2017

Software Engineering Large Practical: Storage, Settings and Layouts. Stephen Gilmore School of Informatics October 27, 2017 Software Engineering Large Practical: Storage, Settings and Layouts Stephen Gilmore School of Informatics October 27, 2017 Contents 1. Storing information 2. Settings 3. Layouts 1 Storing information Storage

More information

Programming with Android: Introduction. Layouts. Luca Bedogni. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna

Programming with Android: Introduction. Layouts. Luca Bedogni. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna Programming with Android: Introduction Layouts Luca Bedogni Dipartimento di Informatica: Scienza e Ingegneria Uniersità di Bologna Views: outline Main difference between a Drawable and a View is reaction

More information

Notification mechanism

Notification mechanism Notification mechanism Adaptation of materials: dr Tomasz Xięski. Based on presentations made available by Victor Matos, Cleveland State University. Portions of this page are reproduced from work created

More information

Developing Android Applications Introduction to Software Engineering Fall Updated 1st November 2015

Developing 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 information

Android DP SDK Integration Guide

Android DP SDK Integration Guide Android DP SDK Integration Guide Requirements Minimum Android Version : Android 4.1 'Jelly Bean' (API level 16) instant Run Removal. (Preferences -> Instant Run -> Unlock to Enable Instant Run) Step 1.

More information

Introduction To JAVA Programming Language

Introduction To JAVA Programming Language Introduction To JAVA Programming Language JAVA is a programming language which is used in Android App Development. It is class based and object oriented programming whose syntax is influenced by C++. The

More information

Mobile User Interfaces

Mobile User Interfaces Mobile User Interfaces CS 2046 Mobile Application Development Fall 2010 Announcements Next class = Lab session: Upson B7 Office Hours (starting 10/25): Me: MW 1:15-2:15 PM, Upson 360 Jae (TA): F 11:00

More information

MVC Apps Basic Widget Lifecycle Logging Debugging Dialogs

MVC Apps Basic Widget Lifecycle Logging Debugging Dialogs Overview MVC Apps Basic Widget Lifecycle Logging Debugging Dialogs Lecture: MVC Model View Controller What is an App? Android Activity Lifecycle Android Debugging Fixing Rotations & Landscape Layouts Localization

More information

Android Specifics. Jonathan Diehl (Informatik 10) Hendrik Thüs (Informatik 9)

Android Specifics. Jonathan Diehl (Informatik 10) Hendrik Thüs (Informatik 9) Android Specifics Jonathan Diehl (Informatik 10) Hendrik Thüs (Informatik 9) Android Specifics ArrayAdapter Preferences Widgets Jonathan Diehl, Hendrik Thüs 2 ArrayAdapter Jonathan Diehl, Hendrik Thüs

More information

ANDROID PROGRAMS DAY 3

ANDROID PROGRAMS DAY 3 ANDROID PROGRAMS DAY 3 //Android project to navigate from first page to second page using Intent Step 1: Create a new project Step 2: Enter necessary details while creating project. Step 3: Drag and drop

More information

Agenda. Overview of Xamarin and Xamarin.Android Xamarin.Android fundamentals Creating a detail screen

Agenda. 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 information

Android HelloWorld - Example. Tushar B. Kute,

Android HelloWorld - Example. Tushar B. Kute, Android HelloWorld - Example Tushar B. Kute, http://tusharkute.com Anatomy of Android Application Anatomy of Android Application Java This contains the.java source files for your project. By default, it

More information

Programming with Android: Introduction. Layouts. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna

Programming with Android: Introduction. Layouts. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna Programming with Android: Introduction Layouts Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna Views: outline Main difference between a Drawable and

More information

Lab 1 - Setting up the User s Profile UI

Lab 1 - Setting up the User s Profile UI Lab 1 - Setting up the User s Profile UI Getting started This is the first in a series of labs that allow you to develop the MyRuns App. The goal of the app is to capture and display (using maps) walks

More information

TextView. A label is called a TextView. TextViews are typically used to display a caption TextViews are not editable, therefore they take no input

TextView. A label is called a TextView. TextViews are typically used to display a caption TextViews are not editable, therefore they take no input 1 UI Components 2 UI Components 3 A label is called a TextView. TextView TextViews are typically used to display a caption TextViews are not editable, therefore they take no input - - - - - - -

More information

Mobile Computing Practice # 2c Android Applications - Interface

Mobile Computing Practice # 2c Android Applications - Interface Mobile Computing Practice # 2c Android Applications - Interface One more step in the restaurants application. 1. Design an alternative layout for showing up in landscape mode. Our current layout is not

More information

Diving into Android. By Jeroen Tietema. Jeroen Tietema,

Diving into Android. By Jeroen Tietema. Jeroen Tietema, Diving into Android By Jeroen Tietema Jeroen Tietema, 2015 1 Requirements 4 Android SDK 1 4 Android Studio (or your IDE / editor of choice) 4 Emulator (Genymotion) or a real device. 1 See https://developer.android.com

More information

Meniu. Create a project:

Meniu. Create a project: Meniu Create a project: Project name: P0131_MenuSimple Build Target: Android 2.3.3 Application name: MenuSimple Package name: ru.startandroid.develop.menusimple Create Activity: MainActivity Open MainActivity.java.

More information

Embedded Systems Programming - PA8001

Embedded Systems Programming - PA8001 Embedded Systems Programming - PA8001 http://goo.gl/ydeczu Lecture 9 Mohammad Mousavi m.r.mousavi@hh.se Center for Research on Embedded Systems School of Information Science, Computer and Electrical Engineering

More information

UI (User Interface) overview Supporting Multiple Screens Touch events and listeners

UI (User Interface) overview Supporting Multiple Screens Touch events and listeners http://www.android.com/ UI (User Interface) overview Supporting Multiple Screens Touch events and listeners User Interface Layout The Android user interface (UI) consists of screen views (one or more viewgroups

More information

University of Stirling Computing Science Telecommunications Systems and Services CSCU9YH: Android Practical 1 Hello World

University of Stirling Computing Science Telecommunications Systems and Services CSCU9YH: Android Practical 1 Hello World University of Stirling Computing Science Telecommunications Systems and Services CSCU9YH: Android Practical 1 Hello World Before you do anything read all of the following red paragraph! For this lab you

More information