Book Image

Android 9 Development Cookbook - Third Edition

By : Rick Boyer
Book Image

Android 9 Development Cookbook - Third Edition

By: Rick Boyer

Overview of this book

The Android OS has the largest installation base of any operating system in the world. There has never been a better time to learn Android development to write your own applications, or to make your own contributions to the open source community! With this extensively updated cookbook, you'll find solutions for working with the user interfaces, multitouch gestures, location awareness, web services, and device features such as the phone, camera, and accelerometer. You also get useful steps on packaging your app for the Android Market. Each recipe provides a clear solution and sample code you can use in your project from the outset. Whether you are writing your first app or your hundredth, this is a book that you will come back to time and time again, with its many tips and tricks on the rich features of Android Pie.
Table of Contents (24 chapters)
Title Page
Copyright and Credits
Dedication
About Packt
Contributors
Preface
Index

Drawing shapes on GLSurfaceView


The previous recipe set up the activity to use OpenGL. This recipe will continue by showing how to draw on OpenGLSurfaceView.

First, we need to define the shape. With OpenGL, it is important to realize that the order in which the vertices of a shape are defined is very important, as they determine the front (face) and back of the shape. It's customary (and the default behavior) to define vertices counterclockwise. (Although this behavior can be changed, it requires additional code and is not standard practice.)

It's also important to understand the OpenGL screen coordinate system, as it differs from the Android canvas. The default coordinate system defines (0,0,0) as the center of the screen. The four edge points are as follows:

  • Top left: (-1.0, 1.0, 0)
  • Top right: (1.0, 1.0, 0)
  • Bottom left: (-1.0, -1.0, 0)
  • Bottom right: (1.0, -1.0, 0)

The Z axis comes straight out of the screen or straight behind.

We're going to create a Triangle class since it is the base shape...