|  | <p>This sample demonstrates how an application can make use of shared code and | 
|  | resources stored in an Android library project.</p> | 
|  |  | 
|  | <p>In this case, the TicTacToeMain application project includes a reference to | 
|  | the TicTacToeLib library project. When you build the TicTacToeMain application, | 
|  | the build tools look for the library project and compile it's code and resources | 
|  | as part of the main application's <code>.apk</code> file. The main application | 
|  | is designed with a launcher activity called <code>MainActivity</code>, shown at | 
|  | left, below. When the user presses a button in the View, | 
|  | <code>MainActivity</code> starts a second activity, <code>GameActivity</code>, | 
|  | which is declared in the library project. </p> | 
|  |  | 
|  | <ul> | 
|  | <li>The main application's <a | 
|  | href="AndroidManifest.html">AndroidManifest.xml</a> file contains declarations | 
|  | of both <code>MainActivity</code>, which is implemented locally in main project, | 
|  | and <code>GameActivity</code>, which is implemented in the library project. | 
|  | Currently, an application must declare in its manifest any components or | 
|  | resources that it is using from a library project.</li> | 
|  | <li><a | 
|  | href="src/com/example/android/tictactoe/MainActivity.html">MainActivity.java</a> | 
|  | shows how a class in the main application imports and uses | 
|  | classes from the library project. The Activity sets listeners on the buttons in | 
|  | the main View and, when one of them is clicked, creates an explicit Intent | 
|  | targeted at the <code>GameActivity</code> component declared in the TicTacToeLib | 
|  | library project. </li> | 
|  | </ul> | 
|  |  | 
|  | <p>The TicTacToeLib library project includes a single Activity, | 
|  | <code>GameActivity</code>, that handles most of the application lifecycle.</p> | 
|  |  | 
|  | <ul> | 
|  | <li>The library project includes an <a | 
|  | href="../TicTacToeLib/AndroidManifest.html">AndroidManifest.xml</a> file that | 
|  | declares <code>GameActivity</code>.</li> | 
|  | <li><a | 
|  | href="../TicTacToeLib/src/com/example/android/tictactoe/library/GameActivity.html">GameActivity.java</a> | 
|  | handles most of the application lifecycle and manages general game play.</li> | 
|  | <li><a | 
|  | href="../TicTacToeLib/src/com/example/android/tictactoe/library/GameView.html">GameView.java</a> | 
|  | renders the UI of the game and manages interaction events during game play.</li> | 
|  | </ul> | 
|  |  | 
|  | <p>If you want to build the TicTacToeMain application, you can obtain it by | 
|  | downloading the "Samples for SDK API 8" component (or higher version) into your | 
|  | SDK, using the <em>Android SDK and AVD Manager</em>. Note that the application | 
|  | project depends on code and resources found in the TicTacToeLib library project | 
|  | — in order to build TicTacToeMain, you need to add both projects to your | 
|  | development environment. </p> | 
|  |  | 
|  | <p>To build an application that uses a library project, you also need to update | 
|  | to the latest version of the SDK tools (r6 or higher) and Android platforms, as | 
|  | well as the latest version of ADT (0.9.7 or higher), if you are developing in | 
|  | Eclipse. </p> | 
|  |  | 
|  | <p>For information about how to set up Android library projects, refer to | 
|  | <a href="../../../guide/developing/eclipse-adt.html#libraryProject">Developing | 
|  | in Eclipse with ADT</a> or <a | 
|  | href="../../../guide/developing/other-ide.html#libraryProject">Developing in | 
|  | Other IDEs</a>, depending on your environment.</p> | 
|  |  | 
|  | <img alt="Screenshot of the main application" src="../images/TicTacToeMain.png" /> | 
|  | <img alt="Screenshot of an Activity declared in a library project" src="../images/TicTacToeLib.png" /> |