<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
  
          http://www.apache.org/licenses/LICENSE-2.0
  
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<!-- This file describes the code in the SkeletonApp package, which is
     used by the system to determine how to start your application and
     integrate it with the rest of the system.  -->

<!-- Declare the contents of this Android application.  The namespace
     attribute brings in the Android platform namespace, and the package
     supplies a unique name for the application.  When writing your
     own application, the package name must be changed from "com.example.*"
     to come from a domain that you own or have control over. -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.skeletonapp">

    <!-- This package contains an application...  The 'label' is the name
         to display to the user for the overall application, and provides
         a default label for all following components.  The syntax here is a
         reference to one of our string resources.-->
    <application android:label="@string/skeleton_app">

        <!-- An Activity in the application - this is something the user
             can launch and interact with.  The "name" attribute is the
             name of the class within your package that implements this
             activity. -->
        <activity android:name="SkeletonActivity">

            <!-- An IntentFilter tells the system when it should use your
                 activity.  This allows the user to get to your activity
                 without someone having to explicitly know to launch your
                 class "com.examplel.android.skeletonapp.SkeletonActivity". -->
            <intent-filter>
                <!-- The MAIN action describes a main entry point into an
                     activity, without any associated data. -->
                <action android:name="android.intent.action.MAIN" />

                <!-- This places this activity into the main app list. -->
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

        </activity>

    </application>

</manifest>
