Graphics. Lecture 16
|
|
- Nelson Richards
- 5 years ago
- Views:
Transcription
1 Graphics Lecture 16
2 Graph Library Draw a Graph, draw a chart, google Android Library draw graph/ chart GraphView library information can be found at Add it to your build.gradle: (build.gradle app, syn the gradle file) dependencies { compile com.jjoe64:graphview: Create a graph in your activity XML ( <com.jjoe64.graphview.graphview android:layout_width= android:layout_height= /> -- Note: full package name
3 Line Graph in GraphView Talk to a graph in Java GraphView graph = (GraphView) findviewbyid(r.id.graph); graph.settitle( title ); //set X bounds graph.getviewport().setxaxisboundsmanual(true); graph.getviewport().setminx(minx); graph.getviewport().setmaxx(maxx); // Y is the same idea graph.getviewport().setyaxisboundsmanual(true); graph.getviewport().setminy(miny); graph.getviewport().setmaxy(maxy);
4 Line Graph in GraphView Add a line to the graph LineGraphSeries<DataPoint> series = new LineGraphSeries<>(); DataPoint point = new DataPoint(x,y); // get the data from the database, every time make //a point series.appenddata(point, false, maxpoints); graph.removeallseries();// remove previous lines if there is any graph.addseries(series);
5 Android Screen Coordinates /how-do-android-screencoordinates-work
6 Getting the Size of your Window Display display = getwindowmanager().getdefaultdisplay(); Point size = new Point(); Display.getSize(size); int maxx = size.x; int maxy = size.y;
7 Drawing 2D Graphics To draw your own custom 2D graphics on screen, you will need to make a custom View subclass with the drawing code. If the app is animated (such as a game), you will also use a thread to periodically update the graphics and redraw them.
8 Custom View Template public class ClassName extends View { // required constructor public ClassName(Context context, AttributeSet attrs) { super(context, attrs); // this method draws on the protected void ondraw(canvas canvas) { super.ondraw(canvas); drawing code;
9 Using your custom view Insert your custom view into an activity s layout XML: <!-- res/layout/activity_main.xml --> <RelativeLayout... tools:context=".mainactivity"> <packagename.viewclassname android:layout_width="match_parent" android:layout_height="match_parent"... /> </RelativeLayout>
10 Another Way to use your custom view If your custom view takes up 100% of the activity screen, you can just add it to the activity in the Java code: //MainActivity.java public class MyActivity extends Activity public void oncreate (Bundle bundle) { super.oncreate(bundle); View myview = new ViewClassName(this, null); setcontentview(myview);
11 Canvas object methods c.drawargb(alpha, r, g, b); - fill window with color (rgb=0-255) c.drawarc(...); - draw a partial ellipse c.drawbitmap(bmp, x, y, null); - draw an image c.drawcircle(centerx, centery, r, paint); - draw a circle c.drawline(x1, y1, x2, y2, paint); - draw a line segment c.drawoval(x1, y1, x2, y2, paint); * (requires Android 5.0) c.drawoval(new RectF(x1, y1, x2, y2), paint); - draw oval/circle c.drawpoint(x, y, paint); - color a single pixel c.drawrect(x1, y1, x2, y2, paint); * (requires Android 5.0) c.drawrect(new RectF(x1, y1, x2, y2), paint); - draw rectangle c.drawroundrect(x1, y1, x2, y2, rx, ry, paint); * (requires Android 5.0) c.drawroundrect(new RectF(x1, y1, x2, y2), rx, ry, paint); c.drawtext("str", x, y, paint); - draw a text string c.getwidth(), c.getheight() - get dimensions of drawing area
12 Paint Many methods accept a Paint, a color to use for drawing. Create a Paint by specifying an alpha (opacity) value, and red/green/ blue (RGB) integer values, from 0 (none) to 255 (full). Paint name = new Paint(); name.setargb(alpha, red, green, blue); // example Paint purple = new Paint(); purple.setargb(255, 255, 0, 255); purple.setstyle(style.fill_and_stroke); // FILL, STROKE Paint has other useful methods like: gettextbounds, measuretext, setalpha, setantialias, setstrokewidth, setstyle, settextalign, settextsize, settypeface
13 Typeface In Android, a font is called a Typeface. Set a font inside a Paint. You can create a Typeface based on a specific font name: Typeface.create("font name", Typeface.STYLE) styles: NORMAL, BOLD, ITALIC, BOLD_ITALIC Or based on a general "font family": Typeface.create(Typeface.FAMILY_NAME, Typeface.STYLE) family names: DEFAULT, MONOSPACE, SERIF, SANS_SERIF Or from a file in your src/main/assets/ directory: Typeface.createFromAsset(getAssets(), "filename") // example: use a 40-point monospaced blue font Paint p = new Paint(); p.settypeface( Typeface.create(Typeface.MONOSPACE, Typeface.BOLD)); p.settextsize(40); // font size is set by paint p.setargb(255, 0, 0, 255); canvas.drawtext( hello,200,400,p);
14 Bitmap Image Draw an image (such as.png or.jpg) using the Bitmap class. Bitmap name = BitmapFactory.decodeResource( getresources(), R.drawable.ID); // example: draw heart.png on screen at (0, 0) Bitmap bmp = BitmapFactory.decodeResource( getresources(), R.drawable.heart); canvas.drawbitmap(bmp, 0, 0, null); // null is the Paint // you can also read a Bitmap from an input stream URL url = new URL(" Bitmap bmp = BitmapFactory.decodeStream( url.openstream());
15 Make a BitMap
16 Draw a Target public class TargetView extends View { public TargetView(Context context, AttributeSet attrs) { protected void ondraw(canvas canvas) { super.ondraw(canvas); Paint red = new Paint(); red.setargb(255,255,0,0); Paint white = new Paint(); white.setargb(255,255,255,255); int w = canvas.getwidth(); int h = canvas.getheight(); for (int i = 0; i < 5; i++) { canvas.drawoval(new RectF(w*i/10, h*i/10, w*(10-i)/10, h*(10-i)/10, i%2=0?red:white);
17 @Marty Stepp Smiley Face Example
18 @Marty Stepp Smiley Face Solution
19 Animation via redrawing To animate a view, you must redraw it at regular intervals. On each redraw, change variables/positions of shapes Force a view to redraw itself by calling its postinvalidate method
20 Example 1 public class FaceActivity extends AppCompatActivity protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_face); public void moveclick(view view) { FaceView faceview = (FaceView) findviewbyid(r.id.myfaceview); faceview.postinvalidate(); // tell it to redraw itself
21 Animation In FaceView.java file (custom view), define a method public void dotheanimation() { while(true) { try { Thread.sleep(20); catch(interuptexception e) { break; // if terminate the app, then out the loop postinvalidate();
22 Wanted to click button, then do the animation public class FaceActivity extends AppCompatActivity protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_face); public void moveclick(view view) { FaceView faceview =(FaceView) findviewbyid(r.id.myfaceview); faceview.dotheanimation(); // DID NOT WORK
23 Animation via redrawing Force a view to redraw itself by calling its invalidate method: But you can't just do this in a loop; this will lock up the app's UI and lead to poor performance You must instead do it in another thread of execution
24 Correct Version public class FaceActivity extends AppCompatActivity protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_face); public void moveclick(view view) { final FaceView faceview =(FaceView) findviewbyid(r.id.myfaceview); Thread thread = new Thread ( new Runnable() { public void run() { faceview.dotheanimation(); ); thread.start();
25 Basic Animation Loop The code to animate a view must do the following: Tell the view to redraw itself Pause for some number of milliseconds Repeat, in a loop (possibly forever) // in custom view java file public void myanimationloop() { while(true) { try { Thread.sleep(20); catch(interuptexception e) { break; // if terminate the app, then out the loop postinvalidate();
26 Android Thread
27 Bouncing Ball Example Demo MyBouncingBall App BouncingBallView.java MainActivity.java
28 BouncingBallView.java public class BouncingBallView extends View { private static final float BALL_SIZE = 30; private float ballx = 10; private float bally = 10; private float velocityx = 5; private float velocityy = 3; public BouncingBallView(Context context, AttributeSet attrs) { protected void ondraw(canvas canvas) { super.ondraw(canvas); drawbouncingball(canvas);
29 BouncingBallView.java private void drawbouncingball(canvas canvas) { Paint red = new Paint(); red.setargb(255,255,0,0); red.setstyle(paint.style.fill); float w = canvas.getwidth(); float h = canvas.getheight(); //draw the ball canvas.drawoval(new RectF(ballX,ballY, ballx + BALL_SIZE, bally+ BALL_SIZE), red); //update x, y for ondraw next time ballx += velocityx; bally += velocityy; //bounce if needed if(ballx + BALL_SIZE >= w ballx <=0 ) { velocityx = -velocityx; if(bally + BALL_SIZE >= h bally <=0 ) { velocityy = -velocityy;
30 Android Game Libraries Unity: popular cross-platform game library Comprehensive, deploys to many platforms Libgdx: another cross-platform game lib based on OpenGL Google Play Games Services: set of libraries made by Google for social gaming features
31 Pros/cons of game frameworks You don t even code in Java Cocos2d-x: C++, JavaScript Unity: C# and others Skia: Python Xamarin: C# Have their own editing software (not Android Studio) Many are cross-platform and deploy(mostly) the same game code to multiple platforms Code game once and deploy it on web, Android, ios, etc.
32 Sprite Drawing Code Sprites can contain code to draw themselves Game s ondraw tells each sprite to draw itself in a loop public class Sprite { float x, y, w, h; float dx, dy; Paint paint; public void draw(canvas canvas) { canvas.drawrect(x,y,x+w,y+h, paint);
33 Canvas is the one under it public class ClassName extends View { // required constructor public ClassName(Context context, AttributeSet attrs) { super(context, attrs); // this method draws on the protected void ondraw(canvas canvas) { super.ondraw(canvas); drawing code;
34 Moving Sprites One Way to do the movement: have each sprite stores a velocity dx/dy pair, or write a simple 2D Vector class Usually write a simple method to tell the sprite to move/update itself This method is called once each frame in your game s animation loop public class Sprite { float x, y, w, h; float dx, dy; public void move() { x += dx; y += dy;
35 Acceleration Move advanced: you may want to apply acceleration to movement Could be a single value(scale up/down), separate ax/ay, or another 2D vector Updates velocity when object moves Need to watch out for sign issues if velocity components are negative public class Sprite { float x, y, w, h; float dx, dy; float ax, ay; public void move() { x += dx; y += dy; dx *= (1.0 +ax); //accelerate dy *= (1.0+ay);
36 Mouse (Touch) Events Old mouse events: a physical mouse attached to a device Types: button press, release, cursor moved, drag, enter/exit, hover New touch events: a finger touching the screen Type: button press, release, drag Mouse movement, hovering largely absent Multi-touch input now possible
37 Mouse Touch Events
38 Keyboard Events
GATAV 5. Animations Using a Game Loop
GATAV 5. Animations Using a Game Loop TOC 1. The basic principle. 2. Creating bubbles. 3. Making the bubbles more look alive. 4. The appearent look. 5. Making the audiance impressed. 6. Now it up to you:
More informationCustom Views in Android Tutorial
Custom Views in Android Tutorial The Android platform provides an extensive range of user interface items that are sufficient for the needs of most apps. However, there may be occasions on which you feel
More informationIntroduction to Android Development
Introduction to Android Development What is Android? Android is the customizable, easy to use operating system that powers more than a billion devices across the globe - from phones and tablets to watches,
More informationAndroid 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 informationAndroid Apps Development for Mobile Game Lesson Create a simple paint brush that allows user to draw something (Page 11 13)
Workshop 1. Create a simple Canvas view with simple drawing (Page 1 5) Hide Action Bar and Status Bar Create Canvas View Create Simple Drawing 2. Create a simple animation (Page 6 10) Load a simple image
More informationINTRODUCTION 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 informationProgramming of Mobile Services, Spring 2012
Programming of Mobile Services, Spring 2012 HI1017 Lecturer: Anders Lindström, anders.lindstrom@sth.kth.se Lecture 6 Today s topics Android graphics - Views, Canvas, Drawables, Paint - Double buffering,
More informationMobile Application (Design and) Development
Mobile Application (Design and) Development 7 th class Prof. Stephen Intille s.intille@neu.edu Northeastern University 1 Q&A Workspace setup in lab. Anyone try it? Anyone looking for a partner? Boggle
More informationCS260 Intro to Java & Android 09.AndroidAdvUI (Part I)
CS260 Intro to Java & Android 09.AndroidAdvUI (Part I) Winter 2015 Winter 2015 CS260 - Intro to Java & Android 1 Creating TicTacToe for Android We are going to begin to use everything we ve learned thus
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 informationBouncing and Actor Class Directions Part 2: Drawing Graphics, Adding Touch Event Data, and Adding Accelerometer
Bouncing and Actor Class Directions Part 2: Drawing Graphics, Adding Touch Event Data, and Adding Accelerometer Description: Now that we have an App base where we can create Actors that move, bounce, and
More informationA Crash Course to Android Mobile Platform
Enterprise Application Development using J2EE Shmulik London Lecture #2 A Crash Course to Android Mobile Platform Enterprise Application Development Using J2EE / Shmulik London 2004 Interdisciplinary Center
More informationIntroduction to Mobile Application Development Using Android Week Three Video Lectures
Introduction to Mobile Application Development Using Android Week Three Video Lectures Week Three: Lecture 1: Unit 1: 2D Graphics Colors, Styles, Themes and Graphics Colors, Styles, Themes and Graphics
More informationOPTIMIZING ANDROID UI PRO TIPS FOR CREATING SMOOTH AND RESPONSIVE APPS
OPTIMIZING ANDROID UI PRO TIPS FOR CREATING SMOOTH AND RESPONSIVE APPS @CYRILMOTTIER GET TO KNOW JAVA DON T USE BOXED TYPES UNNECESSARILY HashMap hashmap = new HashMap();
More informationUser 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 informationComputer Games 2014 Selected Game Engines
Computer Games 2014 Selected Game Engines Dr. Mathias Lux Klagenfurt University This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 pixi.js Web based rendering engine
More informationSmoother Graphics Taking Control of Painting the Screen
It is very likely that by now you ve tried something that made your game run rather slow. Perhaps you tried to use an image with a transparent background, or had a gazillion objects moving on the window
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 informationpackage import import import import import import import public class extends public void super new this class extends public super public void new
Android 2-D Drawing Android uses a Canvas object to host its 2-D drawing methods. The program below draws a blue circle on a white canvas. It does not make use of the main.xml layout but draws directly
More informationEmbedded 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 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 informationANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL II)
ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL II) Media Playback Engine Android provides a media playback engine at the native level called Stagefright that comes built-in with software-based
More informationIT101. Graphical User Interface
IT101 Graphical User Interface Foundation Swing is a platform-independent set of Java classes used for user Graphical User Interface (GUI) programming. Abstract Window Toolkit (AWT) is an older Java GUI
More informationCMSC434. Introduction to Human-Computer Interaction. Week 10 Lecture 17 Mar 31, 2016 Engineering Interfaces III. Jon
CMSC434 Introduction to Human-Computer Interaction Week 10 Lecture 17 Mar 31, 2016 Engineering Interfaces III Jon Froehlich @jonfroehlich Human Computer Interaction Laboratory COMPUTER SCIENCE UNIVERSITY
More informationText 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 informationWe will start our journey into Processing with creating static images using commands available in Processing:
Processing Notes Chapter 1: Starting Out We will start our journey into Processing with creating static images using commands available in Processing: rect( ) line ( ) ellipse() triangle() NOTE: to find
More informationCOMP Summer 2015 (A01) Jim (James) Young jimyoung.ca
COMP 1010- Summer 2015 (A01) Jim (James) Young young@cs.umanitoba.ca jimyoung.ca final float MAX_SPEED = 10; final float BALL_SIZE = 5; void setup() { size(500, 500); void draw() { stroke(255); fill(255);
More information+ Inheritance. Sometimes we need to create new more specialized types that are similar to types we have already created.
+ Inheritance + Inheritance Classes that we design in Java can be used to model some concept in our program. For example: Pokemon a = new Pokemon(); Pokemon b = new Pokemon() Sometimes we need to create
More informationApplied 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 informationELET4133: Embedded Systems. Topic 15 Sensors
ELET4133: Embedded Systems Topic 15 Sensors Agenda What is a sensor? Different types of sensors Detecting sensors Example application of the accelerometer 2 What is a sensor? Piece of hardware that collects
More informationMotionEvents Touch Handling Gestures
MotionEvents Touch Handling Gestures Represents a movement in an input device reading pen, trackball, mouse, finger Action Code State change that occurred Action Values Position and movement properties,
More informationANDROID (4) 2D Graphics and Animation, Handling Screen Rotation. Marek Piasecki
ANDROID (4) 2D Graphics and Animation, Handling Screen Rotation Marek Piasecki Outline 2D graphics drawing Color / Paint / Canvas XML drawable (from resources) direct to a Canvas / View.onDraw() 2D animation
More information5.1. Examples: Going beyond Sequence
Chapter 5. Selection In Chapter 1 we saw that algorithms deploy sequence, selection and repetition statements in combination to specify computations. Since that time, however, the computations that we
More informationAndroid. YÉÇàá. Victor Matos Cleveland State University
Lesson 9 Android YÉÇàá Victor Matos Cleveland State University Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons
More informationMastering Android Drawables
Cyril Mottier Mastering Android Drawables Drawable are powerful so use them! Global note 2 Introduction Drawables 101 3 Introduction What s a Drawable? 4 Introduction What s a Drawable? Entity that can
More informationServices. service: A background task used by an app.
CS 193A Services This document is copyright (C) Marty Stepp and Stanford Computer Science. Licensed under Creative Commons Attribution 2.5 License. All rights reserved. Services service: A background task
More informationGame Programming with. presented by Nathan Baur
Game Programming with presented by Nathan Baur What is libgdx? Free, open source cross-platform game library Supports Desktop, Android, HTML5, and experimental ios support available with MonoTouch license
More information05. 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 informationScreen 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 informationBlackBerry Java Application UI and Navigation Version: 5.0. Development Guide
BlackBerry Java Application UI and Navigation Version: 5.0 Development Guide Published: 2010-08-20 SWD-810476-0820021303-001 Contents 1 Creating a UI that is consistent with standard BlackBerry UIs...
More informationAndroid Development Tutorial
Android Development Tutorial Part II Human-Computer Interaction (COMP 4020) Winter 2013 2 Canvas Example public class CanvasApp extends Activity @Override protected void oncreate(bundle savedinstancestate)
More informationMobile 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 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 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 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 informationProgramming Mobile Applications with Android Lab2
Programming Mobile Applications Lab2 22-26 September, Albacete, Spain Jesus Martínez-Gómez .- Create, compile and execute an Android application to understand the Android life cycle Follow the instructions
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 information(SSOL) Simple Shape Oriented Language
(SSOL) Simple Shape Oriented Language Madeleine Tipp Jeevan Farias Daniel Mesko mrt2148 jtf2126 dpm2153 Description: SSOL is a programming language that simplifies the process of drawing shapes to SVG
More informationMaking a maze with Scratch
Making a maze with Scratch Can you make it to the end? Student guide An activity by the Australian Computing Academy Let s go! Step 0: Get started Go to www.scratch.mit.edu Sign in with the username and
More informationFragments. Lecture 10
Fragments Lecture 10 Situa2onal layouts Your app can use different layouts in different situa2ons Different device type (tablet vs. phone vs. watch) Different screen size Different orienta2on (portrait
More informationPENGEMBANGAN APLIKASI PERANGKAT BERGERAK (MOBILE)
PENGEMBANGAN APLIKASI PERANGKAT BERGERAK (MOBILE) Network Connection Web Service K Candra Brata andra.course@gmail.com Mobille App Lab 2015-2016 Network Connection http://developer.android.com/training/basics/network-ops/connecting.html
More informationINKSCAPE BASICS. 125 S. Prospect Avenue, Elmhurst, IL (630) elmhurstpubliclibrary.org. Create, Make, and Build
INKSCAPE BASICS Inkscape is a free, open-source vector graphics editor. It can be used to create or edit vector graphics like illustrations, diagrams, line arts, charts, logos and more. Inkscape uses Scalable
More informationDiving 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 informationAcknowledgments...xvii. Introduction... Chapter 1: Getting Started Chapter 2: Build a Hi-Lo Guessing Game App!... 19
Brief Contents Acknowledgments...xvii Introduction... xix Chapter 1: Getting Started... 1 Chapter 2: Build a Hi-Lo Guessing Game App!... 19 Chapter 3: Creating a GUI for Our Guessing Game... 43 Chapter
More informationMobile Programming Lecture 1. Getting Started
Mobile Programming Lecture 1 Getting Started Today's Agenda About the Android Studio IDE Hello, World! Project Android Project Structure Introduction to Activities, Layouts, and Widgets Editing Files in
More informationAndroid 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 informationAndroid Tutorial: Part 3
Android Tutorial: Part 3 Adding Client TCP/IP software to the Rapid Prototype GUI Project 5.2 1 Step 1: Copying the TCP/IP Client Source Code Quit Android Studio Copy the entire Android Studio project
More informationJava Programming Lecture 6
Java Programming Lecture 6 Alice E. Fischer Feb 15, 2013 Java Programming - L6... 1/32 Dialog Boxes Class Derivation The First Swing Programs: Snow and Moving The Second Swing Program: Smile Swing Components
More informationCS371m - Mobile Computing. Responsiveness
CS371m - Mobile Computing Responsiveness An App Idea From Nifty Assignments Draw a picture use randomness Pick an equation at random Operators in the equation have the following property: Given an input
More informationEMBEDDED 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 informationHave a development environment in 256 or 255 Be familiar with the application lifecycle
Upcoming Assignments Readings: Chapter 4 by today Horizontal Prototype due Friday, January 22 Quiz 2 today at 2:40pm Lab Quiz next Friday during lecture time (2:10-3pm) Have a development environment in
More informationAPI Guide for Gesture Recognition Engine. Version 2.0
API Guide for Gesture Recognition Engine Version 2.0 Table of Contents Gesture Recognition API... 3 API URI... 3 Communication Protocol... 3 Getting Started... 4 Protobuf... 4 WebSocket Library... 4 Project
More informationAndroid 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 informationCOMP Summer 2015 (A01) Jim (James) Young jimyoung.ca
COMP 1010- Summer 2015 (A01) Jim (James) Young young@cs.umanitoba.ca jimyoung.ca order of operations with the explicit cast! int integervariable = (int)0.5*3.0; Casts happen first! the cast converts the
More informationDarkBASIC Pro: Counters and Timers Copyright 2011 A. Stewart 1
DarkBASIC Pro: Counters and Timers Copyright 2011 A. Stewart 1 Counters and Timers Introduction Many games need to display either counters, or timers, or both. We need to count how many points you ve accumulated
More informationMobile App Design Project Doodle App. Description:
Mobile App Design Project Doodle App Description: This App takes user touch input and allows the user to draw colored lines on the screen with touch gestures. There will be a menu to allow the user to
More informationCS 160: Lecture 10. Professor John Canny Spring 2004 Feb 25 2/25/2004 1
CS 160: Lecture 10 Professor John Canny Spring 2004 Feb 25 2/25/2004 1 Administrivia In-class midterm on Friday * Closed book (no calcs or laptops) * Material up to last Friday Lo-Fi Prototype assignment
More informationProduced 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 informationOrientation & Localization
Orientation & Localization Overview Lecture: Open Up Your My Pet App Handling Rotations Serializable Landscape Layouts Localization Alert Dialogs 1 Handling Rotations When the device is rotated, the device
More informationCSE 331 Software Design & Implementation
CSE 331 Software Design & Implementation Kevin Zatloukal Summer 2017 Java Graphics and GUIs (Based on slides by Mike Ernst, Dan Grossman, David Notkin, Hal Perkins, Zach Tatlock) Review: how to create
More informationECE 480 Application Note. By: Jacob Hersha 4/3/15. Creating a Sequence of Media with Visual Studio
ECE 480 Application Note By: Jacob Hersha 4/3/15 Creating a Sequence of Media with Visual Studio Executive Summary Microsoft Visual Studio can be used to perform a wide variety of media processing techniques.
More informationUsing Libraries, Text-to-Speech, Camera. Lecture 12
Using Libraries, Text-to-Speech, Camera Lecture 12 Libraries Many Android developers have produced useful libraries. There is a Maven repository to store various libraries This makes it easy to add them
More informationArtOfTest Inc. Automation Design Canvas 2.0 Beta Quick-Start Guide
Automation Design Canvas 2.0 Beta Quick-Start Guide Contents Creating and Running Your First Test... 3 Adding Quick Verification Steps... 10 Creating Advanced Test Verifications... 13 Creating a Data Driven
More informationJava Basics A Simple Hit the Zombies Game
Lecture #3 Introduction Java Basics A Simple Hit the Zombies Game The previous lecture provided a guided tour to explore the basics of Android Studio and how to use it to create a project to build an Android
More informationGetting 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 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 informationACS-1805 Introduction to Programming (with App Inventor)
ACS-1805 Introduction to Programming (with App Inventor) Chapter 8 Creating Animated Apps 10/25/2018 1 What We Will Learn The methods for creating apps with simple animations objects that move Including
More informationCreating and Editing Images in Paint Shop Pro Version XI. File Types
Creating and Editing Images in Paint Shop Pro Version XI Paint Shop Pro (PSP) from JASC software (http://www.jasc.com) is an imageediting and creation program. You can download a 30-day trial version from
More informationUI Toolkits. HCID 520 User Interface Software & Technology
UI Toolkits HCID 520 User Interface Software & Technology http://www.cryptonomicon.com/beginning.html Xerox Alto 1973 Evolution of User Interfaces Command Line (UNIX shell, DOS prompt) Interaction driven
More informationUpcoming Assignments Quiz Friday? Lab 5 due today Alpha Version due Friday, February 26
Upcoming Assignments Quiz Friday? Lab 5 due today Alpha Version due Friday, February 26 Inject one subtle defect (fault seeding) To be reviewed by a few class members Usability study by CPE 484 students
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 informationClick the buttons in the interactive below to become familiar with the drawing tool's commands.
Google Documents Inserting Text Boxes and Shapes Introduction Page 1 Google Documents has a drawing tool designed for inserting text boxes and shapes into your document. Although not necessary for every
More informationDeveloping Android Applications
Developing Android Applications SEG2105 - Introduction to Software Engineering Fall 2016 Presented by: Felipe M. Modesto TA & PhD Candidate Faculty of Engineering Faculté de Génie uottawa.ca Additional
More informationGUI Output. Adapted from slides by Michelle Strout with some slides from Rick Mercer. CSc 210
GUI Output Adapted from slides by Michelle Strout with some slides from Rick Mercer CSc 210 GUI (Graphical User Interface) We all use GUI s every day Text interfaces great for testing and debugging Infants
More informationGetting Started With Android Feature Flags
Guide Getting Started With Android Feature Flags INTRO When it comes to getting started with feature flags (Android feature flags or just in general), you have to understand that there are degrees of feature
More informationMobile 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 informationTablets have larger displays than phones do They can support multiple UI panes / user behaviors at the same time
Tablets have larger displays than phones do They can support multiple UI panes / user behaviors at the same time The 1 activity 1 thing the user can do heuristic may not make sense for larger devices Application
More informationG51PRG: Introduction to Programming Second semester Applets and graphics
G51PRG: Introduction to Programming Second semester Applets and graphics Natasha Alechina School of Computer Science & IT nza@cs.nott.ac.uk Previous two lectures AWT and Swing Creating components and putting
More informationCISC 1600, Lab 2.3: Processing animation, objects, and arrays
CISC 1600, Lab 2.3: Processing animation, objects, and arrays Prof Michael Mandel 1 Getting set up For this lab, we will again be using Sketchpad. sketchpad.cc in your browser and log in. Go to http://cisc1600.
More information1. Multimedia authoring is the process of creating a multimedia production:
Chapter 8 1. Multimedia authoring is the process of creating a multimedia production: Creating/assembling/sequencing media elements Adding interactivity Testing (Alpha/Beta) Packaging Distributing to end
More informationA Tour of Android. and some of it s APIs. Bryan Noll
A Tour of Android and some of it s APIs Bryan Noll Me professionally A good starting point http://neidetcher.blogspot.com/2009/07/android-presentation-from-denver-open.html The OS The VM Basic Views Basic
More informationCISC 1600 Lecture 3.1 Introduction to Processing
CISC 1600 Lecture 3.1 Introduction to Processing Topics: Example sketches Drawing functions in Processing Colors in Processing General Processing syntax Processing is for sketching Designed to allow artists
More informationEMBEDDED 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 informationHTML Exercise 21 Making Simple Rectangular Buttons
HTML Exercise 21 Making Simple Rectangular Buttons Buttons are extremely popular and found on virtually all Web sites with multiple pages. Buttons are graphical elements that help visitors move through
More informationJASCO CANVAS PROGRAM OPERATION MANUAL
JASCO CANVAS PROGRAM OPERATION MANUAL P/N: 0302-1840A April 1999 Contents 1. What is JASCO Canvas?...1 1.1 Features...1 1.2 About this Manual...1 2. Installation...1 3. Operating Procedure - Tutorial...2
More informationAndroid Exam AND-401 Android Application Development Version: 7.0 [ Total Questions: 129 ]
s@lm@n Android Exam AND-401 Android Application Development Version: 7.0 [ Total Questions: 129 ] Android AND-401 : Practice Test Question No : 1 Which of the following is required to allow the Android
More informationLecture 13 Mobile Programming. Google Maps Android API
Lecture 13 Mobile Programming Google Maps Android API Agenda Generating MD5 Fingerprint Signing up for API Key (as developer) Permissions MapView and MapActivity Layers MyLocation Important!!! These lecture
More informationAPI Guide for Gesture Recognition Engine. Version 1.3
API Guide for Gesture Recognition Engine Version 1.3 Table of Contents Table of Contents...2 Gesture Recognition API...3 API URI... 3 Communication Protocol... 3 Getting Started...4 Protobuf... 4 WebSocket
More informationKidspiration 3 Basics Website:
Website: http://etc.usf.edu/te/ Kidspiration is the visual learning tool for K-5 learners from the makers of Inspiration. With Kidspiration, students can build graphic organizers such as webs, concept
More informationBlock I Unit 2. Basic Constructs in Java. AOU Beirut Computer Science M301 Block I, unit 2 1
Block I Unit 2 Basic Constructs in Java M301 Block I, unit 2 1 Developing a Simple Java Program Objectives: Create a simple object using a constructor. Create and display a window frame. Paint a message
More information