0% found this document useful (0 votes)
2 views

Pro Android Web Apps Develop for Android Using HTML5 CSS3 JavaScript 1st Edition Damon Oehlman pdf download

The document is about the book 'Pro Android Web Apps: Develop for Android Using HTML5, CSS3 & JavaScript' by Damon Oehlman and Sébastien Blanc, which provides a comprehensive guide to developing web applications for the Android platform. It covers various topics including building mobile HTML forms, synchronizing with the cloud, and integrating with social APIs. The book is available for digital download and includes detailed chapters on different aspects of Android web app development.

Uploaded by

xabibamonese
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Pro Android Web Apps Develop for Android Using HTML5 CSS3 JavaScript 1st Edition Damon Oehlman pdf download

The document is about the book 'Pro Android Web Apps: Develop for Android Using HTML5, CSS3 & JavaScript' by Damon Oehlman and Sébastien Blanc, which provides a comprehensive guide to developing web applications for the Android platform. It covers various topics including building mobile HTML forms, synchronizing with the cloud, and integrating with social APIs. The book is available for digital download and includes detailed chapters on different aspects of Android web app development.

Uploaded by

xabibamonese
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

Pro Android Web Apps Develop for Android Using

HTML5 CSS3 JavaScript 1st Edition Damon Oehlman


download

https://ebookultra.com/download/pro-android-web-apps-develop-for-
android-using-html5-css3-javascript-1st-edition-damon-oehlman/

Explore and download more ebooks or textbooks


at ebookultra.com
Here are some recommended products for you. Click the link to
download, or explore more at ebookultra.com

Beginning Android Web Apps Development 1st ed. Edition Jon


Westfall

https://ebookultra.com/download/beginning-android-web-apps-
development-1st-ed-edition-jon-westfall/

Beginning Android 5th edition Get started building apps


for the Android platform Grant Allen

https://ebookultra.com/download/beginning-android-5th-edition-get-
started-building-apps-for-the-android-platform-grant-allen/

Amazing Android Apps For Dummies 1st Edition Daniel A.


Begun

https://ebookultra.com/download/amazing-android-apps-for-dummies-1st-
edition-daniel-a-begun/

Pro Android Media Developing Graphics Music Video and Rich


Media Apps for Smartphones and Tablets 1st Edition Shawn
Van Every
https://ebookultra.com/download/pro-android-media-developing-graphics-
music-video-and-rich-media-apps-for-smartphones-and-tablets-1st-
edition-shawn-van-every/
Sencha touch 1 0 mobile JavaScript framework build web
applications for Apple iOS and Google Android touchscreen
devices with this first HTML5 mobile framework 1st Edition
Narasimha Rao
https://ebookultra.com/download/sencha-touch-1-0-mobile-javascript-
framework-build-web-applications-for-apple-ios-and-google-android-
touchscreen-devices-with-this-first-html5-mobile-framework-1st-
edition-narasimha-rao/

Decompiling Android Discover how Android Apps are Compiled


and Built to Secure Your Data and Build Better Apps 1st
ed. Edition Godfrey Nolan
https://ebookultra.com/download/decompiling-android-discover-how-
android-apps-are-compiled-and-built-to-secure-your-data-and-build-
better-apps-1st-ed-edition-godfrey-nolan/

The Business of Android Apps Development 1st Edition Mark


Rollins

https://ebookultra.com/download/the-business-of-android-apps-
development-1st-edition-mark-rollins/

Pro Web Gadgets Across iPhone Android Windows Mac iGoogle


and More 1st Edition Sterling Udell (Auth.)

https://ebookultra.com/download/pro-web-gadgets-across-iphone-android-
windows-mac-igoogle-and-more-1st-edition-sterling-udell-auth/

Responsive Web Design with HTML5 and CSS3 2nd Edition Ben
Frain

https://ebookultra.com/download/responsive-web-design-with-html5-and-
css3-2nd-edition-ben-frain/
Pro Android Web Apps Develop for Android Using
HTML5 CSS3 JavaScript 1st Edition Damon Oehlman
Digital Instant Download
Author(s): Damon Oehlman, Sébastien Blanc (auth.)
ISBN(s): 9781430232773, 1430232773
Edition: 1
File Details: PDF, 10.94 MB
Year: 2011
Language: english
Pro Android Web Apps
Develop for Android Using
HTML5, CSS3 & JavaScript

■■■

Damon Oehlman
and
Sébastien Blanc

i
Pro Android Web Apps: Develop for Android Using HTML5, CSS3 & JavaScript
Copyright © 2011 by Damon Oehlman and Sébastien Blanc
All rights reserved. No part of this work may be reproduced or transmitted in any form or by any
means, electronic or mechanical, including photocopying, recording, or by any information
storage or retrieval system, without the prior written permission of the copyright owner and the
publisher.
ISBN 978-1-4302-3276-6
ISBN 978-1-4302-3277-3 (eBook)
Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1
Trademarked names, logos, and images may appear in this book. Rather than use a trademark
symbol with every occurrence of a trademarked name, logo, or image we use the names, logos,
and images only in an editorial fashion and to the benefit of the trademark owner, with no
intention of infringement of the trademark.
The use in this publication of trade names, trademarks, service marks, and similar terms, even if
they are not identified as such, is not to be taken as an expression of opinion as to whether or not
they are subject to proprietary rights.
President and Publisher: Paul Manning
Lead Editors: Steve Anglin and Douglas Pundick
Technical Reviewer: Kunal Mittal
Editorial Board: Clay Andres, Steve Anglin, Mark Beckner, Ewan Buckingham, Gary Cornell,
Jonathan Gennick, Jonathan Hassell, Michelle Lowman, Matthew Moodie, Duncan
Parkes, Jeffrey Pepper, Frank Pohlmann, Douglas Pundick, Ben Renow-Clarke, Dominic
Shakeshaft, Matt Wade, Tom Welsh
Coordinating Editor: Mary Tobin
Copy Editor: Damon Larson
Compositor: MacPS, LLC
Indexer: BIM Indexing & Proofreading Services
Artist: April Milne
Cover Designer: Anna Ishchenko
Distributed to the book trade worldwide by Springer Science+Business Media, LLC., 233 Spring
Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail
orders-ny@springer-sbm.com, or visit www.springeronline.com.
For information on translations, please e-mail rights@apress.com, or visit www.apress.com.
Apress and friends of ED books may be purchased in bulk for academic, corporate, or
promotional use. eBook versions and licenses are also available for most titles. For more
information, reference our Special Bulk Sales–eBook Licensing web page at
www.apress.com/info/bulksales.
The information in this book is distributed on an “as is” basis, without warranty. Although every
precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall
have any liability to any person or entity with respect to any loss or damage caused or alleged to
be caused directly or indirectly by the information contained in this work.
The source code for this book is available to readers at www.apress.com.

ii
Contents at a Glance

■Contents .......................................................................................................... v
■About the Authors ........................................................................................... x
■About the Technical Reviewer ........................................................................ xi
■Acknowledgments ......................................................................................... xii
■Introduction .................................................................................................. xiii
■Chapter 1: Getting Started ............................................................................... 1
■Chapter 2: Building a Mobile HTML Entry Form............................................. 21
■Chapter 3: HTML5 Storage APIs..................................................................... 47
■Chapter 4: Constructing a Multipage App ..................................................... 65
■Chapter 5: Synchronizing with the Cloud ...................................................... 95
■Chapter 6: Competing with Native Apps ...................................................... 111
■Chapter 7: Exploring Interactivity ............................................................... 129
■Chapter 8: Location-Based Services and Mobile Mapping .......................... 161
■Chapter 9: Native Bridging with PhoneGap ................................................. 193
■Chapter 10: Integrating with Social APIs .................................................... 221
■Chapter 11: Mobile UI Frameworks Compared ............................................ 255
■Chapter 12: Polishing and Packaging an App for Release .......................... 299
■Chapter 13: The Future of Mobile Computing .............................................. 337
■Appendix: Debugging Android Web Apps .................................................... 351
■Index ............................................................................................................ 359

iii
Contents

■Contents at a Glance....................................................................................... iv


■About the Authors ........................................................................................... x
■About the Technical Reviewer ........................................................................ xi
■Acknowledgments ......................................................................................... xii
■Introduction .................................................................................................. xiii

■Chapter 1: Getting Started ............................................................................... 1


Understanding Android Platform Capabilities .........................................................................................................1
Device Connectivity............................................................................................................................................2
Touch .................................................................................................................................................................3
Geolocation ........................................................................................................................................................3
Hardware Sensors .............................................................................................................................................4
Local Databases and Storage ............................................................................................................................5
Camera Support .................................................................................................................................................5
Messaging and Push Notifications .....................................................................................................................5
WebKit Web Browser .........................................................................................................................................6
Process Management ........................................................................................................................................6
Android OS Feature Summary ...........................................................................................................................7
Preparing the Development Environment ...............................................................................................................8
Text Editors and Working Directories ................................................................................................................8
Web Server ........................................................................................................................................................9
Emulator ..........................................................................................................................................................11
Hello World............................................................................................................................................................16
Summary ..............................................................................................................................................................19


v
■ CONTENTS

■Chapter 2: Building a Mobile HTML Entry Form............................................. 21


HTML for the Mobile Web .....................................................................................................................................21
Mobile-Ready Web Pages ................................................................................................................................21
Adding Form Elements .....................................................................................................................................26
Adding Some Style ................................................................................................................................................27
Form Styles with a Splash of CSS3..................................................................................................................30
Improving the Page Title Appearance ..............................................................................................................33
Coding for Different Screen Sizes ....................................................................................................................34
Handling Device Orientation Changes ..............................................................................................................35
Adding Form Validation .........................................................................................................................................39
Providing Feedback with Limited Screen Space .............................................................................................40
Summary ..............................................................................................................................................................46
■Chapter 3: HTML5 Storage APIs..................................................................... 47
The Web Storage API ............................................................................................................................................48
Saving Objects to Web Storage Using JSON ....................................................................................................49
Local vs. Session Storage ................................................................................................................................54
The Web SQL Database .........................................................................................................................................54
Saving To-Do List Items with a Client-Side Database .....................................................................................56
Database Versioning and Upgrades .................................................................................................................62
Summary ..............................................................................................................................................................63
■Chapter 4: Constructing a Multipage App ..................................................... 65
Single HTML File, Multiple App Pages ..................................................................................................................65
Creating a View Manager .................................................................................................................................68
Implementing View Actions .............................................................................................................................70
Building the Application’s Main Screen ................................................................................................................73
Tweaking ViewManager Functionality .............................................................................................................77
Home Screen Storage Requirements ...............................................................................................................78
Wiring Up the Home Screen .............................................................................................................................82
Building the All Tasks Screen ...............................................................................................................................85
Implementing the View Stack ...............................................................................................................................91
Summary ..............................................................................................................................................................94
■Chapter 5: Synchronizing with the Cloud ...................................................... 95
Exploring Online Storage Options .........................................................................................................................95
Online Synchronization Store Requirements ...................................................................................................96
Avoiding a Three-Tier Architecture ..................................................................................................................96
User Authentication .........................................................................................................................................96
A JavaScript Synchronization Library ..............................................................................................................97
Possible Synchronization Solutions .................................................................................................................97
Getting Started with Google App Engine ...............................................................................................................98
Deploying jsonengine Locally ..........................................................................................................................99
Choosing a Suitable Synchronization Mode ...................................................................................................100
Sending Your Offline Data to jsonengine .......................................................................................................101
Updating the User Interface for Online Synchronization .....................................................................................103
Making a Desktop Interface ................................................................................................................................106
Querying a jsonengine Instance .....................................................................................................................107
Deploying Your Application on the Cloud .......................................................................................................109
Summary ............................................................................................................................................................110
vi
■ CONTENTS

■Chapter 6: Competing with Native Apps ...................................................... 111


Adding Lightweight Animations and Native-Like Layouts ..................................................................................111
Adding a Simple Loading Spinner ..................................................................................................................112
Adding Scrollable Content .............................................................................................................................115
Sprucing Up the Action Bar ............................................................................................................................116
Making Your Application Location-Aware ...........................................................................................................118
The W3C Geolocation API Specification .........................................................................................................118
Running Your Application Offline ........................................................................................................................122
The Offline Cache Manifest File .....................................................................................................................122
Exploring Hidden Offline-Caching Features ...................................................................................................124
Detecting Your Connection Status .................................................................................................................126
Summary ............................................................................................................................................................127
■Chapter 7: Exploring Interactivity ............................................................... 129
Introduction to the HTML5 Canvas ......................................................................................................................129
Drawing Interactively to the Canvas ...................................................................................................................132
Interactivity: The Way of the Mouse...............................................................................................................132
Interactivity: The Way of Touch......................................................................................................................134
Implementing Canvas Animation ........................................................................................................................137
Creating an Animation Loop ...........................................................................................................................137
Drawing a Frame of Animation ......................................................................................................................138
Drawing Images: Accounting for Device DPI .................................................................................................142
Advanced Animation Techniques ........................................................................................................................149
Creating Realistic Movement in Animations ..................................................................................................149
Canvas Transformations and Animation ........................................................................................................153
Transformations and Our Car Animation ........................................................................................................156
Summary ............................................................................................................................................................160
■Chapter 8: Location-Based Services and Mobile Mapping .......................... 161
Location-Based Services ....................................................................................................................................161
Geosocial Networking .........................................................................................................................................163
Mobile Mapping ..................................................................................................................................................164
Displaying a Map with Google Maps ..............................................................................................................165
Tile5: An Alternative HTML5 Mapping API......................................................................................................167
Adding Markers to a Google Map ...................................................................................................................169
Showing Marker Detail ..................................................................................................................................171
A Mobile-Optimized Mapping UI .........................................................................................................................173
A Mapping UI Mockup ....................................................................................................................................173
Coding a Boilerplate Mobile Mapping UI ........................................................................................................175
Implementing UI Navigation in the Boilerplate ..............................................................................................180
Selecting Markers with the Navigation Bar ...................................................................................................184
Summary ............................................................................................................................................................192
■Chapter 9: Native Bridging with PhoneGap ................................................. 193
Introducing Bridging Frameworks ......................................................................................................................193
When to Use PhoneGap ..................................................................................................................................194
Downloading PhoneGap .................................................................................................................................194
A Sample PhoneGap Application .........................................................................................................................195
Building the Sample Application ....................................................................................................................197
Investigating the Sample Application ............................................................................................................204
vii
■ CONTENTS

A Simple PhoneGap Mapping App ......................................................................................................................209


Tweaking the Sample PhoneGap Project .......................................................................................................209
Transferring Existing Code into a PhoneGap App ..........................................................................................214
Summary ............................................................................................................................................................219
■Chapter 10: Integrating with Social APIs .................................................... 221
Connecting to Web APIs ......................................................................................................................................221
What Is JSONP? .............................................................................................................................................222
Dealing with APIs That Lack JSONP Support .................................................................................................228
Introducing the Geominer API ........................................................................................................................230
Locating Resources in Moundz ...........................................................................................................................232
Finding Nearby Resources with the Geominer API ........................................................................................234
Using Geolocation to Track Your Position ......................................................................................................238
Implementing a User Login .................................................................................................................................241
Constructing the Welcome and Login Screen ................................................................................................242
Twitter Anywhere and the Login Process ......................................................................................................245
Alternative Twitter Authentication via Geominer ...........................................................................................250
Summary ............................................................................................................................................................253
■Chapter 11: Mobile UI Frameworks Compared ............................................ 255
Mobile UI Frameworks Overview ........................................................................................................................255
Similarities and Differences Between Frameworks .......................................................................................256
Setting Up for the Framework Comparison ...................................................................................................257
Jo ........................................................................................................................................................................261
Getting Started with Jo ..................................................................................................................................262
Moundz, Meet Jo ...........................................................................................................................................264
jQTouch ...............................................................................................................................................................269
Getting Started with jQTouch .........................................................................................................................270
Applying Some jQTouch-Ups to Moundz ........................................................................................................273
jQuery Mobile ......................................................................................................................................................278
Getting Started with jQuery Mobile ................................................................................................................279
Moundz and jQuery Mobile ............................................................................................................................281
Sencha Touch .....................................................................................................................................................287
Getting Started with Sencha Touch ...............................................................................................................288
Moundz and Sencha Touch ............................................................................................................................290
Summary ............................................................................................................................................................298
■Chapter 12: Polishing and Packaging an App for Release .......................... 299
Continuing on with jQuery Mobile .......................................................................................................................299
Reinstating the Login Screen .........................................................................................................................299
Improving Navigation Layout .........................................................................................................................305
Gathering Resources ...........................................................................................................................................307
Building the Resource Details Screen ............................................................................................................307
Using Geominer for Resource Tracking .........................................................................................................314
Packaging Moundz As a Native Application ........................................................................................................316
Bundling for PhoneGap ..................................................................................................................................316
Tweaking Application Permissions ................................................................................................................321
PhoneGap, Authentication, and Intents ...............................................................................................................323
Our Previous Web Authentication Flow ..........................................................................................................323
An Overview of Android Intents .....................................................................................................................324

viii
■ CONTENTS

Using PhoneGap Plug-Ins to Handle Intents ..................................................................................................326


Packaging Our Application for Release ...............................................................................................................331
Summary ............................................................................................................................................................336
■Chapter 13: The Future of Mobile Computing .............................................. 337
The Era of Mobile Computing ..............................................................................................................................337
A Worldwide Phenomenon .............................................................................................................................338
Death of the Desktop? ...................................................................................................................................339
Embracing Progressive Enhancement ...........................................................................................................339
Mobile Technology Predictions ...........................................................................................................................342
Improvements in Tools and Libraries .............................................................................................................342
Changes in Device Architecture .....................................................................................................................344
Coding for Future Architectures .....................................................................................................................346
The Internet of Things .........................................................................................................................................346
Hardware Sensor Networks ...........................................................................................................................347
The Human Sensor.........................................................................................................................................349
Summary ............................................................................................................................................................350
■Appendix: Debugging Android Web Apps .................................................... 351
JSLint: Prevention Is Better Than Cure ...............................................................................................................351
Debugging with the Google Chrome Developer Tools .........................................................................................352
Catching Messages and Errors in the Console ..............................................................................................352
Script Debugging ...........................................................................................................................................354
Inspecting the DOM with the Elements Tab ...................................................................................................356
Debugging with the Android Debug Bridge .........................................................................................................357
■Index ............................................................................................................ 359

ix
■ ACKNOWLEDGMENTS

About the Authors

Damon Oehlman is an experienced software developer and technical manager


who currently lives in Brisbane, Australia. Having developed for a variety of
platforms, from Windows to web development and now mobile, Damon has a
unique perspective which fuels his passion for the “write once, run anywhere”
promise of mobile web app development.
Seeing the growing trend toward mobile development, Damon left the
stable environment of the corporate world and co-founded mobile
development company Sidelab (www.sidelab.com). Sidelab offers professional
development services for mobile web apps with particular expertise in
mapping, location-based services and data visualization. Damon also
maintains a technical blog, Distractable (www.distractable.net) and created the HTML5 mobile
mapping JavaScript library Tile5 (www.tile5.org).
When not coding or writing, Damon enjoys spending time with his wife and kids, who help
him to remember that there is more to life than writing software.

Sébastien Blanc is a senior JEE software engineer. He works for E-id


(www.e-id.nl), a Dutch IT company. Additionally, Sébastien spends a lot of time
providing expertise for mobile web apps. He is a regular conference speaker
and really believes in the success of web-based mobile applications. Like
Damon, when not coding, Seb enjoys spending time with his family.

x
■ CONTENTS

About the Technical


Reviewer

Kunal Mittal serves as an Executive Director of Technology at Sony Pictures


Entertainment, where he is responsible for the SOA, Identity Management,
and Content Management programs. He provides a centralized
engineering service to different lines of business, and he leads efforts to
introduce new platforms and technologies into the Sony Pictures
Enterprise IT environment.
Kunal is an entrepreneur who helps startups defining their technology
strategy, product roadmap, and development plans. With his strong
relations with several development partners worldwide, he is able to help
startups and even large companies build appropriate development
partnerships. He generally works in an Advisor or Consulting CTO capacity,
and he serves actively in the Project Management and Technical Architect
functions. He has authored and edited several books and articles on J2EE, cloud computing, and
mobile technologies. He holds a Master’s degree in Software Engineering and is an instrument-
rated private pilot.

xi
■ ACKNOWLEDGMENTS

Acknowledgments

Firstly, my thanks go to my awesome wife and kids. 2010 was a massive year, filled with so many
opportunities, and you not only supported me with all the work I had to do, but also reminded
me that taking time to spend with family was just as important. I love you all so much.
Secondly, I want to thank the team at Apress for both the opportunity to write this book and
for the support and advice along the journey of writing it. I’ve certainly learned a great deal
through the process, and have appreciated your patience and professionalism from start to finish.

Damon

To Mathilde, my kids, Damon, Douglas, Mary, Kunal, and Steve.


Sébastien

xii
■ CONTENTS

Introduction

As we move into a world where mobile devices are becoming the primary mechanism for people
to connect with the Internet, it should come as no surprise that the ability to develop applications
for mobile devices is becoming a sought after skill. We also have very strong vendor competition
in the space, resulting in a marketplace filled with a variety of devices.
We see vendors promoting development tools and marketplaces for their own devices,
attempting to create software ecosystems around their products. For the most part, the strategy is
working too (for some vendors more than others). Developers are using those tools and creating
“native” applications for a particular device, and then having to rebuild large portions of their
applications to target each different device.
For some companies building mobile applications, this is an acceptable approach. It is,
however, one that is entirely unsustainable for the longer term. Consider that each company with
a web product will be expected to provide both a desktop web application and suitable mobile
clients for multiple devices in the next few years (if not months). Then consider the number of
software developers - people like you and me, that there are in the world. Do we have the
required resources to meet this demand? I would venture not. There must be a better way. And
there is.
Building mobile web apps is this better way. It is an approach to mobile app development
that when done right, will have you rewriting a lot less code to target the variety of devices that
exist in the marketplace. This book focuses on writing mobile web apps for Android, but in reality
many of the concepts can be easily ported across to other mobile devices (which is the whole
point).

What’s a Mobile Web App?


A mobile web app is an application that is built with the core client web technologies of HTML,
CSS, and JavaScript, and is specifically designed for mobile devices. Helping mobile web apps get
a bit of attention are the trends toward HTML5 and CSS3—the latest “versions” of two of the
technologies. We explore both HTML5 and CSS3 in detail in the book, along with a lot of
JavaScript.
JavaScript is the language that many developers love to hate. Some don’t even regard it as a
programming language at all. However, JavaScript is here for the long haul, and is likely to be one
of the most in demand skillsets for the next five years.

Which Technologies Are Used in This Book?


In the book, we work through lots (and lots) of JavaScript code. There’s obviously quite a bit of
HTML and CSS there too, but JavaScript really is the language of mobile web app development.
If you haven’t worked with JavaScript in the past, we don’t completely drop you in at the
deep end, but we would recommend getting hold of some learning materials, as this isn’t a

xiii
■ INTRODUCTION

JavaScript fundamentals book. We also make extensive use of the excellent jQuery JavaScript
library to make life generally easier during development. If that is something that is new to you,
we recommend having a jQuery tutorial or two handy as well. If you have experience with
Prototype, MooTools, or another of jQuery’s “competitors,” then you should be able to adapt the
sample code in the book with relative ease.
In terms of mobile web apps (and other JavaScript-rich web apps), learning how to structure
your applications for readability and maintainability is important. This is one of the reasons that
we have chosen to work through a couple of small application-sized projects in the book rather
than small code-snippets showing particular functionality. This will allow you to become familiar
with the different technical aspects of mobile web app development, and also gain an
understanding of how you might effectively put a real-world mobile web application together.
If you are already familiar with web application development, this book should make the
transition to mobile web app development simple. If, however, you are coming from a mobile
application development perspective, and are looking to explore the web app approach, having
those extra learning materials will make a big difference.

What’s in This Book


This book is structured around two application samples that will teach you the various aspects of
mobile web app development. Chapters 2–6 deal with the first mini application of a simple “To
Do List”, and Chapters 8–12 guide you through the beginnings of building a simple location-
aware game.
In and around these two “main meals” we have three “snack” chapters. Chapter 1 is focused
on getting you up and running with the basic concepts for writing Android web apps. Chapter 7 is
a short look at working with interactivity and the HTML5 canvas. And finally, Chapter 13 takes a
look at some of the things that might be coming our way in the world of mobile apps.

xiv
1

Chapter 1
Getting Started
Welcome to the wonderful world of web app development for Android. Over the course
of the book we will walk through the process of building mobile web apps. While
targeted primarily at Android, most (if not all) of the code will work just as well on
Chrome OS. Actually, the reusability of the application code will go beyond Chrome
OS—the code from this book should be able to run on any device that provides a
WebKit-based browser. If you aren’t familiar with WebKit or Chrome OS at this stage,
don’t worry—you will be by the end of the book.
In this chapter, we will go through a few topics at a high level so you can start building
applications as quickly as possible:
 An overview of the platform capabilities of Android
 Which of those capabilities we can access through the web browser
(either by default or by using bridging frameworks such as PhoneGap)
 Configuring a development environment for coding the samples in this
book and your own applications
 An overview of the tools that come with the Android development kit,
and some supporting tools to assist you in building web apps

Understanding Android Platform Capabilities


The Android operating system (OS) was designed as a generic OS for mobile devices
(including smartphones and tablet PCs). The plan was that Android would serve multiple
device manufacturers as their device OS, which the manufacturers could then customize
and build upon. For the most part this vision has been realized, and a number of
manufacturers have built devices that ship with Android installed and have also become
part of the Open Handset Alliance (http://openhandsetalliance.com).
Android, however, is not the only mobile OS available, and this means that a native
Android application would have to be rewritten to support another (non-Android) mobile
device. This leads to having to manage the ongoing development of mobile applications
for each of the platforms that you wish to support. While the large companies of the

1
2 CHAPTER 1: Getting Started

world can afford to do this, it can be difficult for a smaller organization or startup. Here
in lies the attraction of developing mobile web apps—write the application code once
and have it work on multiple devices.
This section of the book will outline the current features of the Android OS, and if
relevant whether you can access that functionality when building web applications.
For those who would prefer a summary of the system capabilities and what you can
actually access via the browser or a bridging framework, then head straight to Table 1–
2, toward the end of this section.

BRIDGING FRAMEWORKS

A bridging framework provides developers a technique for building web applications that can be deployed
to mobile devices. The framework also provides access to portions of the native device capabilities (such
as the accelerometer and camera) through a wrapper (usually JavaScript) to the native API.
During the course of the book, we will work through some examples that use PhoneGap
(http://phonegap.com) to bridge to some of this native functionality. While PhoneGap was one of the
first, there are many more bridging frameworks available. In this book, though, we focus on PhoneGap, as
it provides a simple and lightweight approach for wrapping a mobile web application for native
deployment.
For more information on the various mobile web app frameworks, I have written a couple of different blog
posts on the topic. In particular, the following post has some great comments from contributors on the
projects that help to show their areas of strength: http://distractable.net/coding/iphone-
android-web-application-frameworks.
While I would have loved to talk more about each in this book, the focus here is on building mobile web
applications. From my perspective, these are applications that can be deployed to the Web and accessed
via a device’s browser. The addition of a bridging framework should be an optional extra rather than a
requirement. Given this particular use case, PhoneGap is a clear winner.

Device Connectivity
While as consumers we are all probably starting to take the connectivity options of our
own mobile devices for granted, it’s important not to do this as a mobile developer (web
app or native). If mobile applications are built assuming that a connection to the Web is
always available, then this limits the usefulness of an application when connectivity is
limited—which is more often than you might think.
Understanding that your application will have varying levels of connectivity at different
times is very important for creating an application that gives a satisfying user experience
at all times.
In very simple terms, a mobile device can have three levels of connectivity from a web
perspective:
Random documents with unrelated
content Scribd suggests to you:
5.
Es war gar lieblich auf den Wassern, vorzüglich für einen, der in
so seltsamer Stimmung darüber hinfuhr, wie der schwedische Hirt
von der Lorena. Wenn es still am Ufer unter dem Fürberg war, so
war’s noch viel stiller auf der von der Nachmittagssonne beglänzten
Bucht von Bregenz, und der Korporal Sven hatte eine gute Fahrt. Er
saß und hielt die Hände vor dem Bauch gefaltet und ließ sein
Schifflein gleiten vor dem Winde. Wie jetzt das Ufer hinter ihm
versank, oder die Berge sich vielmehr heraushoben, so hob sich nun
auch vor ihm das niedrigere Hügelland des Allgäus, und vor allem
wie eine Stadt aus dem Wunderschatz der Frau Saga die freie
Reichsstadt Lindau.
Die grauen Mauern, deren Grund der römische Kaiser Tiberius
Claudius Nero legte, als er hier die Rhätier und Vindelicier besiegt
hatte, lagen noch stiller da als der See. Die alten Linden nickten
freundlich-schläfrig von den Bastionen, und die grün und silbern, rot
und goldfarbig glänzenden Turmdächer von Sankt Peter und der
heiligen Dreifaltigkeit — den Diebesturm nicht zu vergessen — luden
förmlich behaglich wie aus der Luft, so aus dem Wasser, den braven
Korporal Sven Knudson Knäckabröd zum Näherkommen ein. In dem
kleinen Hafen lagen ruhig, nur da und dorten von einem weißen
Spitzhund bewacht, die Lädinen und Halblädinen, die Segner und
Halbsegner und dazwischen die Lustgondeln der wohlhabenden
Reichsstädter, soweit sie sich nicht zu Bregenz befanden. Nur eine
Bürgerschildwacht war auf der Mauer zu erblicken, und die
schlummerte sanft auf ihre Partisane gestützt. Das Lebendigste auf
dem Wall zu Lindau im See waren um diese Stunde die Fliegen,
welche in Scharen über den erwärmten Geschützrohren summten.
Der Kahn des Schweden schoß, durch den Schatten der
Lastschiffe hin, in den Hafen hinein und an die Hafentreppe, und als
der Korporal sein Schifflein mit einem letzten Ruderschlag dort
antrieb, fragte ihn niemand um das Wohin und Woher, und das war
recht gut; denn im Augenblick hätte er vielleicht auf beides keine
Antwort zu geben gewußt. Seit dem Kolbenschlag am roten Egg war
ihm nicht so verworren zu Mute gewesen, aber trotz allem war ihm
heut’ doch die Welt behaglicher als damals, wo er sich auf dem
blutigen Strohlager am Schanktisch in der Taube zu besinnen suchte.
Doch wer auf eine solche Weise, wie er, im Hafen von Lindau
anlangte, der mochte, nachdem das Schifflein am Lande lag, wohl
selbst den Hut hin und wieder rücken um die Frage: Was nun? und
wohin nun? Der Korporal Sven stand und blickte an der nahen
Stadtmauer empor und durch den dunklen Bogen, welcher in das
Innere der Stadt führte, hindurch und rieb sich die Stirne. In dem
nämlichen Augenblick aber erschien über der Mauerbrüstung ein
dicker, roter, von schneeweißem Haar umflusterter Kopf, der sich
ächzend auf zwei gewaltige Fäuste legte und entsetzlich gähnend
auf den See hinausstarrte. Dasselbige Haupt spie verächtlich von der
Mauer der freien Reichsstadt hinab; ein nicht geringer Mund öffnete
sich, und — plötzlich — ganz unvermutet und von einer solchen
Erscheinung auch gar nicht zu vermuten, fing das Ding an zu singen,
und zwar eine Weise, welche im Munde des schwedischen Volkes
schon seit mehr denn hundertfünfzig Jahren umging.
Und in schwedischer Zunge sang das Unding auf der Mauer
heiser und gräßlich:

„König Gustav reitet nach Dalarne


Zum Thing mit den Dalkarlen sein;
Doch Christiern liegt vor Södermalm
Und frißt gestohlene Schwein;“

und wie heulend in Verdruß, Ärger, Entrüstung und Wehmut:


„König Christiern sitzt in Stockholmschloß
Und säuft unsern Met und Wein!“

„Blitz und Donner! Alle guten Geister!“ stöhnte der Korporal Sven
Knudson Knäckabröd, versteinert nach dem Sänger aufstarrend;
doch der da oben gähnte noch einmal und scheußlicher als zuvor,
und fuhr fast noch unmelodischer fort:

„Hört alles, was ich euch biete an,


Vom Tal, ihr meine Mannen:
Wollt ihr mir folgen nach Stockholm
Und schlagen die Jüten von dannen?“

Mit beiden Händen griff der Korporal Sven Knudson Knäckabröd


nach seinem Haupte, wie im wilden Zweifel, ob er dasselbige auch
noch auf den Schultern trage; und als er es noch an Ort und Stelle
fand, tat er einen Satz und brüllte seinerseits zu dem Sänger auf der
Mauer hinauf:

„Um’s Rebhuhn und um’s Eichhorn ist’s,


Sobald wir zielen, geschehn;
Und dem Blutracker Christiern,
Dem soll’s nicht besser gehn;“

und die Wirkung nach oben hinauf war nicht geringer, als die von
oben hinunter.
Auch der da oben schnellte empor und beugte sich über die
Brüstung und schrie:
„Bei der blauen Fahne Wasa’s, ist ein Spuck, ein Trold aus dem
See aufgestiegen, oder ist’s ein Landsmann? Ho Landsmann?
Landsmann!“
„Ho Landsmann!“ rief der Hirte von der Lorena; aber da er
einmal im Zuge war, so brüllte er weiter, daß die Bastionen der freien
Reichsstadt Lindau wie im Schrecken widerhallten:

„Das reißt nun in meiner Seite,


Ich fühle mich so beengt;
Auch ich hab’ von den Fischen gekostet,
Die man in Dalarne fängt.“

Die Bürgerschildwacht im Lindenschatten erwachte bei den


Mißtönen aus ihrem süßen Schlummer und faßte zusammenfahrend
die Pike an. Die Mauertreppe aber herab stürzte der Hafenwärtel der
freien, frommen und biderben Reichsstadt Lindau im See, Rolf Kok,
umfaßte mit beiden Armen den Mann von der Lorena, schüttelte ihn
heftig und rief:
„Kerl, in aller Welt Namen, Kerl, Kerl, wo kommst du her? wo bist
du jung geworden? wer bist du?“
„Arkebusierer Korporal Sven Knudson Knäckabröd im gelben
Regiment Oxenstierna — versprengt im Gebirge — dorten! Melde
mich zurück, Korporal Rolf Rolfson Kok, denn der seid ihr und kein
anderer! Die Finne da auf eurem linken Nasenflügel habe ich
sechzehn Jahre lang beim Aufmarsch in die Linie zur Rechten
gehabt, und die Schmarre da habt ihr von dem Nürnberger Malheur,
Korporal Kok. Melde mich zurück, Korporal!“
„Und wir schreiben Vierundsiebenzig! Mensch, o Mensch,
Mensch, du bist der Sven, den wir hinter seinem Rücken Hahnentritt
nannten, von wegen seiner Gangart? Und das passieret einem,
nachdem man sich seit Anno Sechsundvierzig nicht mehr zu Gesicht
gekriegt hat, heut hier zu Lindau an der Hafenmauer? O Sven, wo ist
die Kumpaneia? wo Hauptmann, Leutnant und Fähndrich? wo sind
die Fahnen und Trommeln? wo der Herren Generale Gnaden? Sven
Knäckabröd, wo du herkommst, weiß ich noch nicht; aber ich, ich
sitze hier seit dem Lindauer Sturm — erst als Invalid, dann als
Bürger und Ehemann — und als Witwer und Hafenvogt, und sie
haben mir noch nicht einmal meinen Namen gelassen: Meister
Gockele nennen sie mich! ja das Gockele nennen sie mich; und du
bist Sven Knudson Knäckabröd, und wir sind beide mit dem König
herübergekommen und standen mit bei Breitenfeld, bei Lützen und
liefen mit bei Nördlingen und zogen mit dem Wrangel gegen die
Schneeberge, o Sven, Korporal Sven, Kamerad Sven, ich heule wie
ein Kind!“
„Und ich heule mit, Korporal, Kamerad Rolf“, schluchzte der
andere. „Siebenundzwanzig Jahre habe ich bei dem Vieh sitzen
müssen, und nach so großer Gloria und gewaltigen Schlachten habe
ich die Kühe gemolken und Käse gemacht, siebenundzwanzig Jahre
durch. Rolf, o Rolf, Rolfson Kok, am Fallenbach, am roten Egg haben
die Weiber uns alle totgeschlagen, nachdem wir Bregenz da drüben
genommen hatten, und heut’ hat mich erst die gute alte Zeit in den
Ruderibus verwirret, und nachher hat mich der Nix über den See
gelockt. Im Traum bin ich über den See gefahren, und der Nix hat
gewußt, daß ihr hier auf der Mauer von Lindau auf mich wartet,
Korporal Rolf Rolfson Kok.“
Sie hielten sich in den Armen, die beiden alten Schweden. Sie
küßten sich, und die Tränen rollten ihnen über die gelbbraunen
Backen. Sie tätschelten sich zärtlich die breiten Buckel und hatten
eine Freude aneinander wie ein Brautpaar im Maienmond. Es war
aber auch keine Kleinigkeit, was ihnen begegnete an diesem
Festtage des heiligen Bischofs Gebhard, den sie und ihre
Kriegsgenossen vordem so hart mit Geschütz und Sturmanlauf
bedrängt hatten, und dessen Wiege und Burg der eine von ihnen mit
niederwerfen half.
Sie waren sehr gerührt, die beiden braven schwedischen
Korporale; aber nach der Rührung kam natürlich wieder um so
heftiger der Durst, und dessen wurden sie nunmehr mit großer Lust
inne. Da faßte der Korporal Gockele den Korporal Hahnentritt unter
den Arm und sprach:
„Komm, Herzensbruder, ich weiß unsern Ort, und will dir
daselbsten etwas zeigen, so dir das Herze erfrischen soll, besser als
der kühlste Trunk aus des Kronenwirtes Keller.“
Er führte ihn in das Wirtshaus zur Krone.
6.
Wer heute zu Lindau im See, sei’s mit dem Dampfboot landet,
oder mit dem Bahnzug anpfeift, der findet die Krone noch immer an
ihrer Stelle. Einst zog sich die Stadtmauer dem Wasser entlang davor
her: die Mauer ist längst gefallen, aber das gute, alte Wirtshaus
steht noch fröhlich aufrecht.
Wer heute durch den gewölbten Torweg geht und die Treppe
hinaufsteigt, der findet auch heute noch zu Anfang eines langen,
hellen, weißen Ganges das, was der Korporal Rolf dem Korporal Sven
zu höchster Herzerfrischung weisen wollte, und mag sich ebenfalls
daran erfrischen. Da hängt nämlich von der Decke herab eine
eiserne Kugel an eiserner Kette, — eine Bombe des Feldmarschalls
Karl Gustav Wrangel, und das Bild des Feldmarschalls hängt an der
Wand daneben.
Beides gehört zu dem Hause seit dem Jahre 1647, seit dem
Momente, in welchem der Herr Feldmarschall diese Bombe in die
freie Reichsstadt Lindau hineinschoß und Grimmiges mit ihr im Sinn
hatte, was sich gottlob nicht erfüllte, denn das Untier durchschlug
nur das Dach des guten Wirtshauses und blieb, ohne weitern
Schaden anzurichten, auf dem Hausboden liegen, — 180 Pfund
schwer.
Damals hat man den unfreundlichen Gast vorsichtig aufgehoben,
ihn seiner verderblichen Füllung entledigt und ihn bei ruhiger Zeit an
besagter Kette am Gebälk aufgehängt zum ewigen Gedächtnis des
Generals Wrangel und seines groben Geschützes. Der Korporal Rolf
aber hatte vollständig Recht: im Jahre 1674 gab es keinen bessern
Augentrost für den schwedischen Mann der Wirtin zur Taube in
Alberschwende, als diese Kugel und dies Bildnis in der Krone zu
Lindau.
Im Jahre 1674 sah die Krone nicht so hell und freundlich aus als
heute. Die Wände waren nicht mit Kalk getüncht und noch weniger
al fresco mit heidnischen und christlich ritterlichen mittelalterlichen
Festivitäten bemalt. Aber das Haus war schon damals gut und
verdiente seinen Ruf weit übers Allgäu hinaus, und der Hafenwärtel
Rolf Kok, genannt das Gockele, kannte das Getränk und hatte sein
Kerbholz fröhlich hinter der schwarzbraunen Eichentür der
Zechstube. Fürs erste aber stellte er den wiedergefundenen
Kriegskameraden unter die Schwedenkugel, wies auf sie hin und
wies auf das Bild des Feldmarschalls und sagte:
„Da, Herzbruder, da!“
Der Hirt von der Lorena rieb sich die trüben Augen, starrte auf
die Bombe, starrte auf das Bildnis seines Generals, tat einen Sprung
und schüttelte sich, als ob er die Jahre und sein Leben unter dem
Kommando der Frau Fortunata und sein Leben auf der Lorena mit
einem Ruck abschütteln wolle. Er streckte die ausgebreiteten Arme
dem Feldmarschall und der schwedischen Kugel zu und rief aus
vollem Halse:
„Vivat Gustavus Adolfus! Vivat Gustavus Wrangel! Es leben die
Löwen aus Mitternacht!“
Und er tat einen zweiten Satz und schrie zum zweiten Mal, daß
die Wände erzitterten, und ein einsamer Zecher nebenan in der
Trinkstube sich von seinem Tisch im Winkel erhob, aufstand und den
Kopf aus der offenen Tür in den Gang vorstreckte. Dem Kopfe nach
folgte der übrige Mann, und das Ganze war wohl einer Schilderung
wert.
In dem alten, langen, hagern und gelben Gesichte mit dem
eisgrauen, spitzgewichsten Knebel- und Schnurrbart umfunkelten
zwei kohlschwarze Augen eine lange, scharfe Nase. Zwei lange,
einknickende Beine in engen, schwarzen Hosen und schwarzen
Strümpfen trugen den mit schwarzer Schoßweste und schwarzem
Rock angetanen dünnen Leib, und als die Kreatur den Hut abnahm
und in die Luft schwang, da entblößte sie einen ratzenkahlen,
gelblichen Schädel:
„Cospetto! O Jesus Maria! Vivat Ferdinandus!“
Wie auf ein Kommandowort fuhren die beiden Korporale herum,
als ihnen so unvermutet auf ihren eigenen schwedischen Schlachtruf
das wohlbekannte Feldgeschrei und die Losung des kaiserlichen
Heeres entgegen schrillte. Und siehe, schon kam der schwarze,
lange Mann, auf sein spanisch Rohr mit dem Messingknopf gestützt,
herangehinkt, fegte in tiefer Verbeugung den Boden mit dem
Hutrande und sprach höflichst:
„Bitte um Permission, Signori; — Kriegskameraden von der
andern Seit? Groß Ehr! groß Ehr! — — Hab das Vergnügen, mich
denen Herren zu rekommandir. Signor Tito Titinio Raffa, Zahlmeister
im Regiment zu Pferd Strozzi. Hatt schon die Ehr vordem bei
Breitenfelda, — groß Ehr, groß Ehr, groß Battaglia! Woll die Herren
eintret und niedersitz zu einem Trunk und freundlich Diskurs? Groß
Ehr, viel Vergnügen und gut Kameradschaft!“
Mit allem Eifer schüttelten die beiden versprengten schwedischen
Kriegsleute dem versprengten Reitersmann vom Regiment Strozzi die
dargebotene Rechte, und im nächsten Augenblick saßen sie mit
behaglichem Ächzen nieder an dem Tische, von welchem der Herr
Zahlmeister aufgestanden war, um sie zu begrüßen: die Frau Wirtin
zur Taube in Alberschwende hatte um diese Tageszeit, das heißt um
Sonnenuntergang, auf dem Gebhardsberg gut suchen und rufen
nach ihrem treuen Knecht Sven Knudson Knäckabröd aus Jönköping
am Wetternsee.
7.
Die Lichter des Tages waren längst verglüht auf Gefild, Berg,
Wald, Tal und See. Die glänzenden Spitzen des Kamor, des Hohen
Kasten und des Säntis drüben in Appenzellerland hatten sich in der
Nacht verloren: der Mond sollte erst später aufgehen.
Die Lichter in den Wohnungen der Menschen waren angezündet
worden, und der Tisch der drei Helden in der Krone zu Lindau bot
jetzt ein seltsam Schauspiel dar.
Wenn der aus dem Land Tirol, der Rote, ein sauber Getränk ist,
das des Menschen Herz erhebt, so hat der Bayern Bier auch seine
löblichen Verdienste, und die drei Krieger tranken davon und hatten
davon getrunken. Die beiden wackeren Schweden saßen wie aus
Granit zurechtgehauen fest, mit den kurzen Tonpfeifen im Munde;
aber der italienische Sprachlehrer Tito Titinio Raffa, vordem
Zahlmeister im Regiment Strozzi, stand aufrecht, soviel ihm das
möglich war, focht wild mit beiden Händen in der Luft umher und
beweinte gellend die schönere Vergangenheit und das Elend der
Gegenwart, ja, die schönere Vergangenheit, deren er Genuß gehabt
hatte von dem Tage an, wo sich bei Breitenfeld nach des
Schwedenkönigs Wort eine Krone und zwei Kurhüte an einem alten
Korporal rieben.
„Da ging es freilich mit Sang und Klang, mit Pauken und
Posaunen herum im deutschen Lande,“ winselte er. „Die güldenen
Ketten fielen einem aus dem Pulverdampfe um den Hals, und die
güldenen Dukaten raffte man zu Haufen vom Erdboden auf und
kümmerte sich wenig drum, wie arg er zerstampft war. Die Fackeln
und Lichter brannten im Tanzsaal von einem Jahr ins andere, — und
die Lust war immer dieselbe, ob man den Feind schlug oder ihm die
Fersen zeigte. Im letzten Grund gab es ja gar keinen Feind, sondern
nur einen lustigen Bruder, der auch zum Fest von der dummen
deutschen Nation eingeladen worden war, einen vergnügten Bruder
und Kriegsgesellen, mit dem man bei Geigen- und Trompetenklang
eben sein Tänzlein machte, wie es sich schicken wollte: heut’ oben
an der See, morgen mitten im Land; heut’ am grünen Rheinstrom,
morgen an der gelben Weser und übermorgen an der blauen Donau.
Gute Kameraden, nichts als gute Kameraden in jedem Lager, unter
jeglicher Fahn’ und Standarte! Das war ein Leben, wie es die
Welthistorie noch niemalen aufgezeichnet hatte, und wie kein
Kriegsmann zu Roß und zu Fuß es sich jemalen lieblicher ausdenken
mag. Das Herz geht mir heut’ noch im Galopp gegen die gute alte
Zeit durch, wenn ich daran denk’, wie der Leutnant Schneeberg von
Götzens Kavallerieregiment nach der Lützner Schlacht, nach
verlorener Bataille, des Königs Gustavi Adolfi goldene Kette in Halle
auf den Tisch warf und für sich allein Viktoria rief.“
„So ist’s, obgleich ihr davon gerade nicht reden solltet,
Zahlmeister,“ murrte der Korporal Sven. „Ein Türkis hing dran von
der herrlichsten Art. Sie hatten ihn ausgegraben in dem Gebirg
Piruskua, zehn Meilen von der Stadt Moscheda; ich hab’ ihn
tausendmal blitzen sehen, wenn die Majestät die Front hinabritt, und
wir vermeinten alle, der Stein mache schuß-, hieb- und stichfest;
doch es war nicht an dem, wie sich ausgewiesen hat; aber der Teufel
soll euch doch holen, Zahlmeister, weil ihr gewagt habt, die Hand
daran zu legen!“
„Di grazia, prego perdono! Verzeihung, ihr Herren; ich rede nur
davon, um des Elends von heute willen. Der Domeneddio stand
damals auf jeder Seite. Ihr hattet den Sieg, wir den Türkisen
schwedischer Majestät. Jeglichem seinen Spaß, und — freie Hand
überall! Das war die Parol’ bis zum Jahr achtundvierzig. Nun ist es
lange für alle aus, und keiner hat dem anderen einen Groll
nachzutragen.“
„Nein, keine Feindschaft um das, was vergangen ist; ich trinke
auf eure Gesundheit, Herr Zahlmeister vom Regiment Strozzi!“ rief
der Korporal Rolf Rolfson Kok. „Was uns schwedische Männer
insbesondere betrifft, so brauchen wir uns wenig zu grämen. Wir
haben behalten, was wir gewonnen, und decken ein gut Stück
deutschen Landes von Greifswald bis Verden mit unseren Piken und
Musketen.“
In demselben Augenblick setzte sich der Italiener kurz nieder,
und ein Grinsen der Schadenfreude überzog, trotz aller guten
Gesinnungen gegen seine früheren Feinde, sein gelbes Gesicht. Er
pfiff auch einen langen Pfiff und zischelte:
„Decket es mit, Kamarado, es tut Not. Dorten werden freilich bald
genug die Trompeten noch einmal zum Antraben rufen; aber für
unser einen ist keine Freude mehr dabei, so wenig als bei des
französischen Louis und des Kaisers Spektakel drüben am Rhein.
Diesmal sollet ihr die Prügelsuppe für euch allein haben, ihr
nordländischen Bären.“
Vier Fäuste krachten auf einmal auf den Tisch; ein halb Dutzend
grausamlicher schwedischer Flüche schmetterte dazwischen, und auf
den Füßen standen nunmehr die zwei Korporale und riefen wie aus
einem Munde:
„Was singet der Herr da?“
Der Italiener lachte und winkte begütigend dem Hafenvogt:
„Könnt ihr es leugnen, Kamarado, daß ihr euch da unten
Gewaltiges und Tückisches vorgenommen habt? Der Signor aus der
Wildnis hat freilich bei seinen Murmeltieren geschlafen; aber wir
anderen wissen doch noch ein wenig, wie es in der Welt zugehet,
und meine Opinion ist augenblicklich, daß ihr euch diesmal bei dem
Handel tüchtig die Pfoten verbrennen werdet. Ha, leugnet es nur,
aber es ist so! Ihr werdet ihn mit nichten halten, den zehnjährigen
Neutralitätsvertrag, nun da die Katz’ vom Haus ist, und die
kurfürstlichen Gnaden von Brandenburg mit dero hohen Sposa, dero
Kurprinz und dero glorreicher Armada zum kaiserlichen
Kommandeur, dem Duc de Bournonville am Rhein aufgebrochen
sind.“
„Man wird ihn halten!“ rief der Hafenwärtel.
„Ich sage no! und ich sage dazu, nehmet euch in acht! Die Welt
ist älter geworden seit unseren jungen Tagen, und neue Hände sind
an einem neuen Werke.“
„Zahlmeister! Zahlmeister!“ rief Rolf Rolfson Kok drohend.
„Pazienza! adagio! möcht’ wohl einmal in eure Magazine in
Stettin hineingucken. Das wird schon jetzt ein lustig Zufahren von
Piken und Musketen, Pulver, Blei und Geschütz im Hafen von Wismar
sein. Ohe, Signori, das wird ein lustiges Klingen von französischem
Geld auf den Tischen von Stockholm und in den Taschen eurer
Generale geben!“
„Ihr seid ja ein recht feiner, politischer Kopf, Herr Kamerad vom
Regiment Strozzi,“ brummte Sven Knudson Knäckabröd, ungewiß, ob
er das Ding für eine Schmeichelei oder das Gegenteil nehmen solle.
„Bin ich doch Zahlmeister gewesen!“ lächelte Signor Tito Titinio
Raffa. „Erzürnet euch nicht, wir haben es auch nie anders gehalten.
Cospetto, wünsch’ euch aus vollem Herzen, daß ihr euren Wunsch
durchsetzen möget. Der Herr Turennius mit Eisen und Stahl am
Rheinstrom, und der klingende französische Sack in Stockholm
werden wohl nach Kräften dazu helfen; aber — aber nehmet euch in
acht, daß euch der Brandenburger nicht doch die Karten aus der
Hand schlage.“
„Er wird es wohl nicht,“ meinte Rolf bärbeißig.
„Will es euch wünschen; aber — aber saget doch: mit dem Herrn
Feldmarschall Karolo Gustavo Wrangelio, dessen Bild und eisern
Gastgeschenk da draußen aufgehängt ist, seid ihr vordem hierher
gekommen?“
„Mit demselbigen!“
„Nun denn; wenn ihr heut’ Abend noch von hier abreiset, so trefft
ihr ihn vielleicht schon auf dem Marsche nach Berlin“.
„Vivat! es lebe der Held aus Mitternacht!“ schrie der Korporal
Sven, der bis jetzt mit immer steigender Verwunderung von einem
der beiden Politiker auf den anderen gesehen hatte und nur mit
Mühe den Sprüngen ihrer Unterhaltung gefolgt war. Jetzo aber war
es ihm auf einmal ganz klar geworden, wieviel Welthistoria er im
Bann und Dienste der Frau Wirtin zur Taube in Alberschwende und
bei seinen Kühen und Geißen auf der Lorena versäumt habe.
„Schulterts Gewehr! An die Piken! Aufgesessen, Kürassiers und
Dragoner!“ brüllte er und fügte in leiserem Ton hinzu: „Aber es
gehet mir auf wie ein Nordlicht, daß ich schon einmal dabei gewesen
bin mit den Brandenburgern, und damals war’s nichts Großes, und
wir lachten auch allsamt über den Spaß. Ja, es war Anno
Einunddreißig, Korporal Rolf, ihr wisset, als auch wir zuerst auf Berlin
marschierten, fünfzehnhundert Mann zu Fuß und zu Pferde mit dem
Könige und vier Kanonen. Wir kamen von Köpenik, allwo das große
Lager war, und hatten unsere Lust mit dem damaligen Kurfürsten
Georg Wilhelm und seiner Kurfürstin. Sie handelten mit uns bis zum
letzten Augenblick und kamen zum Vergleich erst, als die Konstabler
die Lunte aufschlagen wollten, um ihnen das Verständnis zu wecken.
Ja wohl, jetzt fällt es mir genau bei. Sie gaben uns nach endlich
abgeschlossenem Pakt das Geleit vor die Stadt, und da wollten ihnen
beim Abschied königliche Majestät doch noch eine unverdiente Ehre
antun und ließen eine Generalsalve geben aus großem und kleinem
Gewehr. Das war der Spaß! Der Feuerwerker hatte vergessen, das
Geschütz von der Stadt abzurichten, und weil wir zuerst als Feinde
gekommen waren, so schossen wir nun auch als Freunde scharf und
deckten ihnen ganz ohne bösen Willen die Dächer ab. Das gab denn
freilich ein groß’ Geschrei der Damens, und königlicher Majestät
war’s sehr unangenehm.“
„Ich war nicht dabei, Korporal Sven,“ sprach der Korporal Rolf,
„ich stand damals in Köpenik mit der Hauptmacht. Aber die Sache ist
so, und zu viel ist da auch niemandem geschehen; denn während
wir ihnen nur ein paar lumpige Schindeldächer abdeckten, deckte
uns der alte Korporal, der Tilly, die ganze Stadt Magdeburg ab. Der
Gustavus Adolfus hat es dem Brandenburger nie vergeben.“
„Das sind alles alte Geschichten,“ meinte der Signor Raffa
gähnend. „Auch ist es nicht weit von Mitternacht, und morgen früh
reis’ ich zurück nach Augsburg, sintemalen niemand der hiesigen
Barbaren, weder Mann noch Weib, ein Gelüst zeigt, die bella lingua
toscana zu erlernen. Cospetto, um nichts Ärgeres zu sagen! Die
Herren und Kameraden mögen einen guten Schlaf tun; — es war mir
ein’ groß’ Ehr’ und Vergnüg’, mit meiner angenehm’ Konversatione
aufzuwarten.“
„Möge dem Herrn unsere schlechte Gesellschaft gleichfalls
gefallen haben,“ sprach der Korporal Rolf, während der Korporal
Sven stumm, aber mit militärischem Anstand salutierte. Die
Schenkstube der Krone hatte sich allmählich mit Gästen sehr gefüllt;
aber die drei Kriegsmänner hatten wenig davon gemerkt und gar
nicht sich darum gekümmert. Sven und Rolf verwunderten sich dann
erst darüber, als der Zahlmeister vom Regiment Strozzi zierlich
Abschied genommen hatte.
8.
Wer in dieser Nacht durch die Gassen der alten freien Reichsstadt
Lindau wandelte, und, was freilich nicht zu vermuten stand, einen
Sinn für Naturschönheit hatte, der mochte wohl über der
augenblicklichen Lieblichkeit der Erde vergessen, wie wild es auf
eben dieser Erde immer noch aussah, trotzdem die drei greisen
Kriegsgesellen sich soeben erst über die nichtswürdige
Friedensseligkeit und jammerhafte Langeweile, die ihnen in ihrem
Alter zu Teil geworden waren, so herzzerbrechend beklagt hatten.
Im silbernen Mondenglanz lag jetzt der See rund um die Inselstadt
her und spülte nur lind und leise an die uralten Mauern. Drüben kam
der junge Rhein wahrlich friedlich aus dem Graubündnerland hervor;
aber auch der, nachdem er den großen See durchströmt, Konstanz
gegrüßt und bei Schaffhausen den lustigen Sprung gewagt hatte,
sah und vernahm in seinem fernern Laufe mancherlei, was nicht
nach Frieden klang und aussah. Sie waren hart am Werke
miteinander: der Kaiser Leopoldus, daß er das Elsaß, um der ewigen
Verdrießlichkeiten darob entledigt zu werden, so anständig und still
als möglich losschlage, — König Louis, daß er es mit
größtmöglichstem éclat, Jubel und Feuerwerksgeprassel in Empfang
nehme. „Uns gefällt nicht ein mächtiger Fürst der Wenden an der
Ostsee!“ hatte der allezeit Mehrer des römischen Reiches deutscher
Nation in Wien gesagt und seinem Feldherrn im Lager bei Straßburg,
dem Herzog von Bournonville, Befehl gegeben, sich lieber dreimal
von den Franzosen schlagen zu lassen, als einmal dem
brandenburgischen Kurfürsten Friedrich Wilhelm Gelegenheit zu
geben, seine Pflicht gegen das Reich mit Gloria zu erfüllen. Da hatte
denn der Herr von Turenne natürlich ein leicht’ Spiel, und hat es
auch trefflich benutzt; — doch das sind alte Geschichten, wie Signor
Tito Titinio Raffa sagen würde, und wir haben uns an dieser Stelle
nicht weiter damit zu beschäftigen.
Auf den Mauern der Inselstadt Lindau schritten die wenigen
Wachen unter den Linden und zwischen den Geschützen langsam
auf und ab, und auch auf ihren Partisanen und Musketen blitzte das
Mondenlicht. Der berühmte Gasthof zur Krone, dicht hinter der
Stadt- und Hafenmauer gelegen, lag im tiefsten Schatten, bis auf die
gleichfalls weiß glänzenden Giebel und die Wetterfahnen. Die beiden
späten Zecher, welche jetzt aus demselben hervortraten, standen
anfangs ziemlich unschlüssig, ob ihres Weges in dem Dunkel.
„Nicht unter Dach,“ schluchzte der Korporal Sven Hahnentritt.
„Bruderherz, nicht unter Dach! Ich hielt’s nicht aus! Mir summt’s im
Kopfe, als ob zehntausend Trompeten drin zum Angriff bliesen, mir
kocht es in den Adern, als ob die Regimentssudler drin für eine
Armee von zwanzigtausend Mann die Feuer schürten. Unter Dach,
und wäre es von purem Golde, müßt’ ich ohne Gnad’ und Ranzion
elend ersticken.“
„Nicht unter Dach, Bruder,“ schluchzte auch der Korporal Rolf, zu
Lindau genannt das Gockele. „Du hältst mich und ich dich, und so
kommen wir ohne Halsbrechen jene Walltreppe hinauf, und da
setzen wir uns und reden weiter vom glorreichen Schweden und
dem großen Könige und dem großen Kriege. Hupp — marsch —
hoho, ich glaube, die Weiber nennen das Wehmut, was uns beide
am Schopf gepackt hält; ich glaub’, wenn’s möglich wär’, käm’ ich
heut’ Nacht zum erstenmal in meinem Leben zum Heulen und
Greinen.“
Sie schwankten hinein in den Mondschein und kamen glücklich
auf die Mauer, und da saßen sie nieder auf der Bastion auf einer
alten bronzenen, wirklich schlangenhaften Wallschlange, die
vielleicht schon den Kaiser Maximilian begrüßt hatte, als er zum
Reichstag nach Lindau kam, um „die Reichskammergerichtsordnung
zu Faden zu schlagen“.
Da saßen sie, ein Paar alter, grauer, nordischer Seebären im
Mondenlicht und sahen hinüber nach den Schweizer- und
Tirolerbergen und unterredeten sich gar lieblich von neuem. Es
waren zwei sehr unromantische Burschen; allein sie hatten beide
genug erlebt, daß ihr Gespräch, ohne daß sie es wußten, fühlten und
wollten, in hohem Grade romantisch war, vorzüglich der Teil,
welchen der Korporal Rolf auf sich zu nehmen hatte.
„Das wird allmählich anjetzo ein Aufsehen um mich da drüben
geworden sein,“ sagte Sven. „Hui, lug, da geht noch eine Rakete auf,
als ob sie mich zurückriefe. O Rolf Rolfson, es wird mir wunderlicher
von Minute zu Minute.“
„Das macht der Mond, und die Feuchtigkeit in der Krone, und der
welsche Signor, Kamerad. O Sven, Sven, auch mir steigt es warm
und heiß und immer heißer herauf. Stelle dir vor, daß das alte
Schweden da so ruhig an seiner Stelle liegen geblieben ist, mit
allem, was dazu gehört, und daß wir so weit in der Welt
herumgekommen sind zu Roß und zu Fuß, als Sieger und als
Gefangene der Weiber und Spießbürger! Es drückt mir das Herz ab,
wenn ich jetzt auf das helle Wasser sehe und denke an die Ostsee
und die große Flotte und den großen König Gustav, und wie wir
landeten, die Mannen aus allen Provinzen, Ost- und Westgoten,
Dalkarlen, Finnen, und sogar die einfältigen, albernen Lappen! Wenn
ich dran gedenk’, wie wir niederknieten, Gott zu danken, dann
wieder aufstanden und an die Arbeit gingen und dabei blieben
achtzehn Jahre, achtzehn lange glorreiche Jahre durch! O Bruder
Sven, die Schweizer dorten, die reden immer von ihrem Heimweh,
auch wenn’s niemand verlangt; aber du, Sven, hast mir das
Heimweh heute mitgebracht! Ach Schweden, Schweden! Sven,
möchtest du nicht auch nochmalen die blauen und die gelben
Regimenter in Linie sehen mit der Sonne auf den Helmen und
Kürassen und den Herren Generals und Obristern vor der Front?“
„Sei still, ich komme um!“ winselte der Korporal Sven Knudson
Knäckabröd. „Ich habe die Kühe gemelkt und saß zwischen den
Käsen, bis gestern morgen; und sie schulterten bis an die Weser vor
den gewonnenen Städten, sie schlugen weiter gegen die Polen und
gegen die Jüten! S i e schlugen bei Warschau drei Tage lang, sie
marschierten über das Eis nach Seeland; um Kopenhagen lagen und
ritten sie. S i e schlugen die Russen, und ich hab’ das alles erst heut’
abend durch dich und den welschen Signor erfahren, und ich ließ
mich von den Weibern fangen und zum Kinderwarten abrichten,
anstatt den Verband abzureißen und in Ehren zu sterben!“
„Du hast es doch noch gut gehabt, Kamerad. Du saßest da in
deiner Wildnis und sahest nichts und hörtest nichts, und alle die
guten Dinge, von denen du eben sprachst, sind dir freilich erst heute
abend zu Kopf gestiegen. Mir aber hat bis zu dieser Stunde die Kugel
unseres Feldherrn in der Krone auf dem Herzen gelegen. Ach
Korporal Knäckabröd, was meinet ihr, wenn wir den Weg fänden?“
„Den Weg wohin?“ schrie der Hirte von der Lorena.
„Den Weg nach Hause! Den Weg zu den Fahnen mit dem Löwen
von Mitternacht!“ schrie der Hafenwärtel von Lindau
emporspringend. „Korporal — Kamerad, Herzbruder, wenn wir zur
rechten Zeit kämen, um noch einmal — vor Torschluß, Sven! — noch
einmal, einmal in Reih und Glied zu treten?! Der Karl Gustav, der
Wrangel, unser General ist ja wieder an der Spitze; der nicht jünger
ist als wir! Der Wrangel marschiert, der Wrangel, mit dem wir
hierher kamen! Das ist das Heimweh, Kamerad, und wir gehen,
Kamerad — wir marschieren, Herzbruder; wir desertieren — wir
gehen zum Wrangel — in dieser — Nacht noch!“
„In dieser Nacht noch!“ ächzte der Kriegsgefangene der Frau
Fortunata Madlener zu Alberschwende und drückte beide Fäuste auf
die Augen. Dann sprang er von dem Geschützlauf empor und sang
im halben Wahnsinn des höchsten Jubels in die Mondenscheinnacht
hinaus:

„Auf Dovrefield im Norden


Liegen die Kämpfer ohne Sorgen.

Ruhe im Glied!... wir gehen zum Wrangel! o wenn es doch wahr


wär’, wann ich morgen früh aufwache!“
„Hast du ein Eigentum, drüben bei den Hirten im Gebirge, Sven?“
Der Korporal schüttelte den Kopf und schob die Hände tief in die
leeren Hosentaschen.
„Ich hab’ in meinem Turm dorten aller Welt Schätze,“ grinste Rolf
Rolfson Kok; „einen Tisch, einen Stuhl, einen Strohsack, eine
Muskete, ein halb’ Dutzend Angelruten und allerhand Netzwerk, drei
Töpfe, eine Pfanne und einen Finken im Bauer. Den Vogel lass’ ich
fliegen, denn wir fliegen ja selber; — dreißig Gulden hab’ ich auch,
die hol’ ich, und alles andere vermache ich dem Rat und der
Bürgerschaft von Lindau. In zehn Minuten sind wir reisefertig. Dort
liegt mein Kahn, — in zehn Minuten schwimmen wir auf dem See
und, weißt du, in Nonnenhorn landen wir und müssen dann sehen,
wie wir den Weg weiter finden. Courage, Alter; sitze still, bis ich
wieder komm’. Jetzt mach’ ich den Kehraus in meinem Quartier, und
morgen früh sind wir weit hinaus auf dem Marsche nach Hause!“
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookultra.com

You might also like