<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<!--
Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
-->

<html>
   <head> 
      <link rel="stylesheet" type="text/css" href="../../../netbeans.css">
      <title>NetBeans CDC Emulator Platform Setup Guide</title>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta http-equiv="Content-Style-Type" content="text/css">
      <meta name="keywords" content="NetBeans, IDE, Platform, open source, developer, Java ME, CDC">
      <meta name="Alyona Stashkova" content="Alyona.Stashkova@oracle.com">
   </head>

   <body>	
      <a name=top></a> 
      <h1>NetBeans CDC Emulator Platform Setup Guide</h1> 
      <p>Though NetBeans supports Java Micro Edition (ME) Connected Device Configuration (CDC) development, the IDE does not have a CDC platform included in the installer that allows you to create applications for CDC devices using the Personal, Foundation, or AGUI Profiles. This document provides information about downloading, installing, and registering the Nokia Series 80 Platform SDK for Symbian OS, for Java, Personal Profile for CDC development.</p>
	  <p class="notes"><b>Note:</b></p>
	  <ul>
	  
	  <li>If you are using NetBeans IDE 6.9, 7.0, or 7.1, refer to the <a href="../../71/javame/cdcemulator-setup.html">NetBeans 6.9, 7.0, or 7.1 CDC Emulator Platform Setup Guide</a>.</li></ul>

<h3>Contents</h3>
<img  src="../../../images_www/articles/72/netbeans-stamp-72-73.png" class="stamp"  alt="Content on this page applies to NetBeans IDE 7.2 and 7.3" title="Content on this page applies to the NetBeans IDE 7.2 and 7.3" >
      <ul>
         <li><a href="#nokias80sdk" title="Nokia Series 80 SDK">Installing Nokia Series 80 SDK Emulator Platform</a></li>
         
         <li><a href="#next" title="Next Steps">Next Steps</a></li>
      </ul>
<h2>Required Software</h2>
<p><b>To complete this tutorial, you need the following software and resources:</b></p>
<table>
        <tbody>
            <tr>
                <th class="tblheader" scope="col">Software or Resource</th>
                <th class="tblheader" scope="col">Version Required</th>
            </tr> 
            <tr>
                <td class="tbltd1"><a href="https://netbeans.org/downloads/index.html">NetBeans IDE with Java ME</a></td>
                <td class="tbltd1">7.2 or 7.3</td>
            </tr>
            <tr>
                <td class="tbltd1"><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java Development Kit</a> (JDK)</td>
                <td class="tbltd1">6 or 7</td>
            </tr>      
        </tbody>
</table>

      <h2><a name="nokias80sdk"></a>Installing Nokia Series 80 Platform SDK for Symbian OS, for Java, Personal Profile</h2>
            
   
      
      <p>Developers for Nokia 80 Series devices can install the  Series 80 Platform SDK for Symbian OS for Java, Personal Profile by following these instructions: </p>
      <ol>
         <li><a href="http://www.forum.nokia.com/info/sw.nokia.com/id/449a2f84-2a8a-44fa-a7f4-93b53cb9c89a/Series_80_Platform_SDK_s_for_Symbian_OS_for_Java.html">Download</a> the Nokia Series 80 Platform SDK for Symbian OS, for Java, Personal 
            Profile from the Nokia Developer Forum (a Nokia account is required). 
         The file name is <code>S80_DP_2_0_PP_SDK.zip.</code></li>
         <li>Unzip the file. </li>
         <li>Navigate to the location on your system where you unzipped the file. Double-click 
            on the <code>setup.exe</code> file icon. 
         The Nokia installer wizard opens. </li>
         <li>Follow the wizard instructions to install the SDK. 
            The wizard will prompt you to choose the device you want to be the default 
         device. Choose the <code>Series80_DP2_0_PP_SDK</code>.</li>
         <li>From the Main Menu of the NetBeans IDE, choose Tools &gt; Java Platforms. </li>
         <li>Click Add Platform. The Add Java Platform dialog opens. </li>
         <li>Select Java ME CDC Platform Emulator and click Next. </li>
         <li>Select the folder that contains the platform SDK. The default directory 
         is <code>C:\Symbian\7.0s\S80_DP2_0_PP_SDK.</code> Click Next.<code> </code></li>
         <li>If desired, use the Platform Name dialog to add or remove additional resource 
         libraries. </li>
         <li>Click Finish. The IDE registers the CDC platform.</li>
		 <li>Click Close to close the Java Platform Manager dialog box.</li>
      </ol>
      <p align=center><a href="#top">top</a></p>
      
      <div class="feedback-box"><a href="/about/contact_form.html?to=6&subject=NetBeans%20CDC%20Emulator%20Setup%20Guide">Send 
      Us Your Feedback</a></div>
      <br style="clear:both;" >
      <h2><a name="next"></a>Next Steps</h2> 
      <p>Installing and registering CDC platforms in the IDE enables you to begin writing Java ME applications for CDC devices. For an introduction to developing Java ME CDC applications using NetBeans, see the <a href="cdc-quickstart.html">NetBeans Java ME CDC Development Quick Start Guide</a>.</p>
   <p align=center><a href="#top">top</a></p>
   </body>
</html>
