Logo

www.cloudburl.com


Mobile communications technology - - Standing Big World - I am a big world

Symbian's history. .


Speaking of Symbian we must mention the PSION (treasure fancy en) Corporation and its operating system Symbian EPOC is evolved from them.


Psion company was founded in 1980, before man-made David Potter. At that time the Psion is Europe's leading technology companies, has been dedicated to digital product development and research. Psion is also the first major European PDA manufacturers, their PDA products have been renowned in Europe. The EPOC is the operating system, Psion Software introduced specifically for mobile information devices, including Pocket PC. ."EPOC" this word originated in the world will enter "a new epoch of personal convenience." EPOC is an open operating system, at first just added the EPOC wireless communications and a system of external applications, wireless communications and compared to other operating systems have inherent advantages. At the same time, and Microsoft Windows CE, EPOC is a 32-bit operating systems with real-time, multi-tasking, multi-threading, low power, low footprint, etc. We are familiar with the Ericsson R380SC is to use operating system based on EPOC. .


In June 1998, in order to do so in the future of intelligent mobile terminal area opportunities and market position. Psion Corporation joint mobile giants, Nokia, Ericsson, Motorola and the formation of the Symbian company. The company has inherited the Psion EPOC OS software company, and is committed to providing the mobile information device to provide a safe can be * operating system and a complete software and communication platform. As an open platform that anyone can support Symbian device software development. This means that development partners have more choice of applications, while a bigger market. This symbian Platinum Partnership launched to attract, including ARM, Motorola SPSRealNetworks, TI Texas Instruments, a large number of companies to join. Symbian has also heavily involved in WAP, WirelessJava and Bluetooth-making, to ensure that EPOC will fully support the market demand for modular content and services, scalability, low power and with the StrongARM RISC chip compatibility of such。 So Microsoft's Mobile OS Windos, Symbian in communication advantages.


Symbian now as Panasonic, Siemens and Samsung have joined has become the Psion, Nokia, Sony Ericsson, Motorola, Panasonic, Siemens, Samsung joint holding company. Although Motorola was sold in the Symbian stake, in the first quarter of 2004, LG, Arima and Lenovo became the latest Qude Symbian mobile phone manufacturers licensing agreement, allowing licensees the total to 18, including almost the world All heavyweight handset manufacturers. .


Symbian's series: Pearl, quartz and quartz.


Symbian for its three product categories were given a poetic name, that Pearl (Pearl), Quartz (quartz) and Crystal (Crystal). One for smart phones, pen input device and keyboard input communication communication device. Each series is 80% of the core platform with Symbian code. The main difference between the different series is the user interface (eg: pen or keyboard input) and the screen size. .


In the three series, Quartz and Crystal are known as the "communication", the Pearl is the "smart phone".


Quartz is the EPOC operating system, Palm size PC version. Extremely strong support system, user interface design and mode of operation than the Palm OS operating system and Pocket PC operating system more humane. Basically the advantages of the two rolled into the operating system. It is characterized by use of pen input, the screen pixel for the 320 × 240, color screen, and the graphical user interface, mobile phone.Motorola tri-band GPRS/GSM Communicator Accompli is a Quartz Crystal series but is Hand Held in EPOC OS PC version features with software and hardware input keyboard wireless information devices. -Support for keyboard operation of the Terminal. Object is equipped with color display (640 × 200 pixel), the keyboard operation function as well as the graphical user interface of the phone. The representative of the NOKIA9210 is Crystal. As we know Nokia 7650,6600 and 7610 and the Sony Ericsson P800, P900 and P910 is the Pearl Pearl series such as "smart phones" the. .


Introduction to Symbian version.


March 1999 Symbian launched Symbian5. .0 Operating system, its primary core collection of the network, wireless text, email, business cards, book and personal information assistant, and also offers support for standard web page browser with java language support, so you can run small applications Symbian program. But this version of the model used very little, basically not much difference in EPOC. The Symbian 6. .0 At 5. .0 Based on the increased, GPRS, WAP1. .2 browsers, and Bluetooth support, users can run a third party based on c++ and J2ME development programs. While Symbian 6. .1 is and Symbian 6. .0 key has increased compared with USB support. Symbian 6. .0 key features are: support for voice calls and data communication, Bluetooth and supports WAP, equipped with safety features (SSL, HTTPS, WTLS), Unicode, supports multiple 16bit language display, using the "PersonalJava 3. .0 "And" JavaPhone 1. .0. ".


Symbian 7. .0 supports multiple modes and 3 g mobile phone, you can let manufacturers can face the world launch will run on all Symbian OS over the network, mobile phone, and you can not make significant changes to the code that you can reuse many of the currently existing software applications. 7. .0 contains some of the new communication, messaging, networking, and application development technologies, and some security and authentication related functions have been improved. Symbian OS 7。. 0 Other features include: support for flexible user interface, such as Nokia's Series 60; support for several audio / image format, and many game developers for the API; full encryption and certificate management, secure communications based on the Agreement (including HTTPS, WTLS and SSL) and authentication of the application installation; and Over-the-air (OTA) SyncML synchronization support. .


In February 2004, Symbian in authorized companies such as LG, also released the latest version of Symbian8. .0. This version improves the real-time system performance, improving the the original operating system compatibility. In addition, the Symbian OS 8. .0 software tools improved remote access control system functionality, use of adjusting device to eliminate the use of value-added services for mobile phone users will be subject to interference. This system contains absolute modern multimedia and Java devices, support for multiple standards, including the CLDC1 JSR118. 1 (JSR139), MobileMedia (JSR135), 3D image data (JSR184), JTWI 1. .0 C (JSR185). Lastly, the new OS also supports SDIO. .


http://www。.mobisoft。.cn/blog/more。.asp?name=symbian&id=60#190。.


1 install SDK and VC. .


Nokia according to phone's screen size and price and put the phone into multiple series, now use series: Series 40 and Series 60, Series 80, Series 90. Symbian os Series 60 6. .1, then according to the characteristics of the mobile phone screen on the UI to do some modifications, this has been modified for Symbian is referred to as Nokia's Series 60 platform. Using the 60 Series handsets include: Nokia 6670, Nokia 6630, Nokia 6260, Nokia N-Gage QD ?, Nokia 7610, Nokia 6620, Nokia 3620, Nokia 3660, Nokia 6600, Nokia 3600, Nokia 3650, Nokia 7650, Nokia N -Gage ? and so on. .


Let's take as an example, Series 60 SDK installation procedures are described.


1. .1 Install SDK. .


The first step, to the Nokia Forum, download the latest SDK. Nokia Web site offers a Series 60 SDK for Symbian OS Nokia Edition SDK is the latest version v1. .2, Series 60 SDK for Symbian OS is the latest version of v2. .1. Download URL: http://www. .forum. .nokia. .com/main/0, 4-6566, 034. .html.


Second, to http://www. . Activestate. . Com website to download the latest Active Perl Script Installer. To http://www. . Java. .com / en / download / manual. . Jsp download the latest J2RE. .


Step 3: install the SDK, it is recommended to separate for Symbian development build a directory, for example, instead of using d:\Symbian C:\program files, etc..


Step four: Install Active Perl and J2RE, you can install to the default directory. .


Step 5: check the environment variables set. Open system environment variables tab, and then see if EPOCROOT, if any, it manually into the "\". After the reform should be like this:.


EPOCROOT = \. .


Then, in the system PATH to the directory as well as in \epoc32\tools \epoc32\gcc\bin directory.


In fact, Symbian SDK do not have to install directly to the epoc32 directory copy to a machine, then set the directory according to the above method and environmental variables on it. .


1. configure VC .2.


If we are using VC 6. .0, We must ensure that at least hit the SP3 patch the system, otherwise the system would be a warning prompt. If we are using VS. . NET2003, we can only be installed Series 60 SDK for Symbian OS v2. .1, As Series 60 SDK for Symbian OS Nokia Edition SDK v1. .2 VS. . NET2003 can not properly establish the project. .


If you want to directly create a new project in vc6 to \Symbian\6. .1\ Series60\Series60Tools\ Application Wizard directory AvkonAppWiz. .awx and AVKONAPPWIZ. .hlp files are copied to the template directory C:\Program vc6 Files\ Microsoft Visual Studio\ Common\ MSDev98\ Template. So that we can see the VC's new construction Series 60 AppWizard v 1. .9 This option. .


Fill in the Project Name, confirmation.


Way "Next", one of the most simple Symbian application on the establishment of better. .


If you want to have established a good project to import to VC6. .0, such as our example in the SDK into a HelloWorld VC6 project, we first entered the \Symbian\6. .1\ Series60\Series60Ex\HelloWorld directory. Here we can see, Symbian, a Project is typically a press group inc, src, etc directory organization, usually placed in the group directory is the project file, compile-time to be here. Mode with command prompt, enter just said that directory and:. .


bldmake bldfiles。.


This command will generate a directory in the group abld. . Bat batch file, and will \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ BUILD next generation \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ BUILD \ SYMBIAN \ 6. .1 \ SERIES60 \ SERIES60EX \ HELLOWORLD \ GROUP this directory, and generate a bunch of bottom directory. . Make file. .


We then runs in the same directory has just generated abld. .bat:.


abld makefile vc6. .


It will automatically generate the dsw file vc6, location in \Symbian\6. .1\ Series60\Epoc32\BUILD\ SYMBIAN\6. .1\ SERIES60\SERIES60EX\HELLOWORLD\GROUP\HELLOWORLD\WINS. And then we can open the Symbian VC6 project.


2 compilation. .


We can directly use the SDK provides tools to compile Symbian project, you can also use the VC6 provides integrated environment to compile into the Symbian project. Compile the results stored in \Symbian\6. .1\ Series60\Epoc32\ Release\wins\UDEB\Z\SYSTEM\apps directory.


2. .1 Compiled using the tools provided by Symbian SDK project. .


We in the previous section for that position to continue to enter:.


abld build wins udeb. .


This command will compile the program, we finally \Symbian\6. .1\ Series60\Epoc32\Release\wins\UDEB directory build our helloworld, and then we can from the start menu, run the debug version of the Simulator, which in the simulation, you can run helloworld.


2. .2 Compiled using VC6 Symbian project. .


We run abld makefile directly open vc6 dsw files have been generated, VC an automatic mount into the project. Press F7 to directly compile the project, compiled the results the same on \Symbian\6. .1\ Series60\Epoc32\Release\ wins\UDEB directory. Then we open a debug version of the Simulator, you can see we have the compiled project.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


If you want to have established a good project into VC6. .0 In, such as in the example we will HelloWorld SDK into a VC6 project, we first enter the \ Symbian \ 6. .1 \ Series60 \ Series60Ex \ HelloWorld directory. Here we can see that in Symbian, a Project usually by inc, src, group, etc. directory organization, group directory is the project file is usually placed, so compile-time to be here first.Command prompt mode to enter just the directory and do:.


bldmake bldfiles. .


This command will generate a group directory abld. .bat batch file and \Symbian \ 6. generate \Symbian\6 .1\ Series60\Epoc32\BUILD. .1\ Series60\Epoc32\BUILD\SYMBIAN\6. .1\ SERIES60\SERIES60EX\HELLOWORLD\GROUP this directory, and in the underlying directory generates a heap. .make.


Then we just run in the same directory generated abld. . Bat:. .


abld makefile vc6。.


This will automatically generate vc6 the dsw files, located in \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ BUILD \ SYMBIAN \ 6. .1 \ SERIES60 \ SERIES60EX \ HELLOWORLD \ GROUP \ HELLOWORLD \ WINS. Then we can open the Symbian at VC6 kind of project was. .


2 compile.


We can use the SDK provides the tools to build Symbian project, you can also use the VC6 compiled to provide an integrated environment to transform over the Symbian project. Compile the results stored in the \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ Release \ wins \ UDEB \ Z \ SYSTEM \ apps directory. .


2. use the .1 SDK provides tools to compile Symbian project.


In the previous section that position to enter:. .


abld build wins udeb。.


This command will compile our program, the last in the \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ Release \ wins \ UDEB directory build our helloworld, then we can run the emulator from the Start menu in the debug version, which can be run in simulation helloworld up. .


2. compile with VC6 .2 Symbian project.


We directly after the opening run abld makefile vc6 generated dsw file, VC automatically loaded through the project conversion. Press F7 will be able to compile the project directly, compiling the results the same on the \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ Release \ wins \ UDEB directory. Then we open the emulator debug version, you can see that we build a good project. .


3 packaging.


We SDK 1. .2 Provide the HelloWorld example, production can be installed in the phone. . SIS files:. .


3. .1. check program.


First, in the command line format, enter the HelloWorld project mmp file directory, and enter bldmake bldfiles abld build wins udeb, then open the emulator, testing procedures for errors. .


3. compile .2...


No error in the program after the command line input abld build armi urel. After the implementation of this command in the directory d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel build HELLOWORLD. . APP and HELLOWORLD. . RSC two files. .


3. establish .3. .pkg file..


In d: \ Symbian \ 6. .1 \ Series60 \ Series60Ex \ helloworld \ sis use Notepad to create or modify projects pkg file as follows:. .


; HelloWorld。.pkg。.


;. .


;Language – standard language definitions。.


& EN. .


; standard SIS file header。.


# ("HelloWorld"), (0 × 10005B91), 1,0,0. .


;Supports Series 60 v 1。.2。.


(0 × 101F8202), 0, 0, 0, ("Series60ProductID"). .


;。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HelloWorld.. APP "-"!: \ system \ apps \ HelloWorld \ HelloWorld.. App". .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HELLOWORLD。.rSC"-"!:\ system\apps\HelloWorld\HELLOWORLD。.rSC"。.


Among them, in front of "d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC" is to install the file package, "!: \ System \ apps \ HelloWorld \ HELLOWORLD.. RSC "is the installation of the target location. Which should be noted that we used in the target location, "!" Instead of the actual letter.Doing so benefits the user when the phone is installed, you may be prompted to select the location you want to install, which give the user greater flexibility. In addition, Symbian system, installed applications, the default location is "!: \ system\apps ”。.


Edited pkg file, save to the appropriate directory. .


3. .4. Packer.


In the command line, go to the pkg file directory, run the command makesis HelloW. .


3 packaging.


We SDK 1. .2 Provide the HelloWorld example, production can be installed in the phone. . SIS files:. .


3. .1. check program.


First, in the command line format, enter the HelloWorld project mmp file directory, and enter bldmake bldfiles abld build wins udeb, then open the emulator, testing procedures for errors. .


3. compile .2...


No error in the program after the command line input abld build armi urel. After the implementation of this command in the directory d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel build HELLOWORLD. . APP and HELLOWORLD. . RSC two files. .


3. establish .3. .pkg file..


In d: \ Symbian \ 6. .1 \ Series60 \ Series60Ex \ helloworld \ sis use Notepad to create or modify projects pkg file as follows:. .


; HelloWorld。.pkg。.


;. .


;Language – standard language definitions。.


& EN. .


; standard SIS file header。.


# ("HelloWorld"), (0 × 10005B91), 1,0,0. .


;Supports Series 60 v 1。.2。.


(0 × 101F8202), 0, 0, 0, ("Series60ProductID"). .


;。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HelloWorld.. APP "-"!: \ system \ apps \ HelloWorld \ HelloWorld.. App". .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HELLOWORLD。.rSC"-"!:\ system\apps\HelloWorld\HELLOWORLD。.rSC"。.


Among them, in front of "d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC" is to install the file package, "!: \ System \ apps \ HelloWorld \ HELLOWORLD.. RSC "is the installation of the target location. Which should be noted that we used in the target location, "!" Instead of the actual letter.Doing so benefits the user when the phone is installed, you may be prompted to select the location you want to install, which give the user greater flexibility. In addition, Symbian system, installed applications, the default location is "!: \ system\apps ”。.


Edited pkg file, save to the appropriate directory. .


3. .4. Packer.


In the command line, go to the pkg file directory, run the command makesis HelloW. .


3 packaging.


We SDK 1. .2 Provide the HelloWorld example, production can be installed in the phone. . SIS files:. .


3. .1. check program.


First, in the command line format, enter the HelloWorld project mmp file directory, and enter bldmake bldfiles abld build wins udeb, then open the emulator, testing procedures for errors. .


3. compile .2...


No error in the program after the command line input abld build armi urel. After the implementation of this command in the directory d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel build HELLOWORLD. . APP and HELLOWORLD. . RSC two files. .


3. establish .3. .pkg file..


In d: \ Symbian \ 6. .1 \ Series60 \ Series60Ex \ helloworld \ sis use Notepad to create or modify projects pkg file as follows:. .


; HelloWorld。.pkg。.


;. .


;Language – standard language definitions。.


& EN. .


; standard SIS file header。.


# ("HelloWorld"), (0 × 10005B91), 1,0,0. .


;Supports Series 60 v 1。.2。.


(0 × 101F8202), 0, 0, 0, ("Series60ProductID"). .


;。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HelloWorld.. APP "-"!: \ system \ apps \ HelloWorld \ HelloWorld.. App". .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HELLOWORLD。.rSC"-"!:\ system\apps\HelloWorld\HELLOWORLD。.rSC"。.


Among them, in front of "d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC" is to install the file package, "!: \ System \ apps \ HelloWorld \ HELLOWORLD.. RSC "is the installation of the target location. Which should be noted that we used in the target location, "!" Instead of the actual letter.Doing so benefits the user when the phone is installed, you may be prompted to select the location you want to install, which give the user greater flexibility. In addition, Symbian system, installed applications, the default location is "!: \ system\apps ”。.


Edited pkg file, save to the appropriate directory. .


3. .4. Packer.


In the command line, go to the pkg file directory, run the command makesis HelloW. .


If you want to have established a good project to import to VC6. .0, such as our example in the SDK into a HelloWorld VC6 project, we first entered the \Symbian\6. .1\ Series60\Series60Ex\HelloWorld directory. Here we can see, Symbian, a Project is typically a press group inc, src, etc directory organization, usually placed in the group directory is the project file, compile-time to be here. Mode with command prompt, enter just said that directory and:. .


bldmake bldfiles。.


This command will generate a directory in the group abld. . Bat batch file, and will \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ BUILD next generation \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ BUILD \ SYMBIAN \ 6. .1 \ SERIES60 \ SERIES60EX \ HELLOWORLD \ GROUP this directory, and generate a bunch of bottom directory. . Make file. .


We then runs in the same directory has just generated abld. .bat:.


abld makefile vc6. .


It will automatically generate the dsw file vc6, location in \Symbian\6. .1\ Series60\Epoc32\BUILD\ SYMBIAN\6. .1\ SERIES60\SERIES60EX\HELLOWORLD\GROUP\HELLOWORLD\WINS. And then we can open the Symbian VC6 project.


2 compilation. .


We can directly use the SDK provides tools to compile Symbian project, you can also use the VC6 provides integrated environment to compile into the Symbian project. Compile the results stored in \Symbian\6. .1\ Series60\Epoc32\ Release\wins\UDEB\Z\SYSTEM\apps directory.


2. .1 Compiled using the tools provided by Symbian SDK project. .


We in the previous section for that position to continue to enter:.


abld build wins udeb. .


This command will compile the program, we finally \Symbian\6. .1\ Series60\Epoc32\Release\wins\UDEB directory build our helloworld, and then we can from the start menu, run the debug version of the Simulator, which in the simulation, you can run helloworld.


2. .2 Compiled using VC6 Symbian project. .


We are a direct hit to chant?/span > abld makefile vc6 dsw files have been generated, VC an automatic mount into the project. Press F7 to directly compile the project, compiled the results the same on \Symbian\6. .1\ Series60\Epoc32\Release\ wins\UDEB directory. Then we open a debug version of the Simulator, you can see we have the compiled project.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


Way "Next", one of the most simple Symbian application on the establishment of better. .


If you want to have established a good project to import to VC6. .0, such as our example in the SDK into a HelloWorld VC6 project, we first entered the \Symbian\6. .1\ Series60\Series60Ex\HelloWorld directory. Here we can see, Symbian, a Project is typically a press group inc, src, etc directory organization, usually placed in the group directory is the project file, compile-time to be here. Mode with command prompt, enter just said that directory and:. .


bldmake bldfiles。.


This command will generate a directory in the group abld. . Bat batch file, and will \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ BUILD next generation \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ BUILD \ SYMBIAN \ 6. .1 \ SERIES60 \ SERIES60EX \ HELLOWORLD \ GROUP this directory, and generate a bunch of bottom directory. . Make file. .


We then runs in the same directory has just generated abld. .bat:.


abld makefile vc6. .


It will automatically generate the dsw file vc6, location in \Symbian\6. .1\ Series60\Epoc32\BUILD\ SYMBIAN\6. .1\ SERIES60\SERIES60EX\HELLOWORLD\GROUP\HELLOWORLD\WINS. And then we can open the Symbian VC6 project.


2 compilation. .


We can directly use the SDK provides tools to compile Symbian project, you can also use the VC6 provides integrated environment to compile into the Symbian project. Compile the results stored in \Symbian\6. .1\ Series60\Epoc32\ Release\wins\UDEB\Z\SYSTEM\apps directory.


2. .1 Compiled using the tools provided by Symbian SDK project. .


We in the previous section for that position to continue to enter:.


abld build wins udeb. .


This command will compile the program, we finally \Symbian\6. .1\ Series60\Epoc32\Release\wins\UDEB directory build our helloworld, and then we can from the start menu, run the debug version of the Simulator, which in the simulation, you can run helloworld.


2. .2 Compiled using VC6 Symbian project. .


We run abld makefile directly open vc6 dsw files have been generated, VC an automatic mount into the project. Press F7 to directly compile the project, compiled the results the same on \Symbian\6. .1\ Series60\Epoc32\Release\ wins\UDEB directory. Then we open a debug version of the Simulator, you can see we have the compiled project.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


If you want to have established a good project into VC6. .0 In, such as in the example we will HelloWorld SDK into a VC6 project, we first enter the \ Symbian \ 6. .1 \ Series60 \ Series60Ex \ HelloWorld directory. Here we can see that in Symbian, a Project usually by inc, src, group, etc. directory organization, group directory is the project file is usually placed, so compile-time to be here first.Command prompt mode to enter just the directory and do:.


bldmake bldfiles. .


This command will generate a group directory abld. .bat batch file and \Symbian \ 6. generate \Symbian\6 .1\ Series60\Epoc32\BUILD. .1\ Series60\Epoc32\BUILD\SYMBIAN\6. .1\ SERIES60\SERIES60EX\HELLOWORLD\GROUP this directory, and in the underlying directory generates a heap. .make.


Then we just run in the same directory generated abld. . Bat:. .


abld makefile vc6。.


This will automatically generate vc6 the dsw files, located in \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ BUILD \ SYMBIAN \ 6. .1 \ SERIES60 \ SERIES60EX \ HELLOWORLD \ GROUP \ HELLOWORLD \ WINS. Then we can open the Symbian at VC6 kind of project was. .


2 compile.


We can use the SDK provides the tools to build Symbian project, you can also use the VC6 compiled to provide an integrated environment to transform over the Symbian project. Compile the results stored in the \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ Release \ wins \ UDEB \ Z \ SYSTEM \ apps directory. .


2. use the .1 SDK provides tools to compile Symbian project.


In the previous section that position to enter:. .


abld build wins udeb。.


This command will compile our program, the last in the \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ Release \ wins \ UDEB directory build our helloworld, then we can run the emulator from the Start menu in the debug version, which can be run in simulation helloworld up. .


2. compile with VC6 .2 Symbian project.


We directly after the opening run abld makefile vc6 generated dsw file, VC automatically loaded through the project conversion. Press F7 will be able to compile the project directly, compiling the results the same on the \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ Release \ wins \ UDEB directory. Then we open the emulator debug version, you can see that we build a good project. .


3 packaging.


We SDK 1. .2 Provide the HelloWorld example, production can be installed in the phone. . SIS files:. .


3. .1. check program.


First, in the command line format, enter the HelloWorld project mmp file directory, and enter bldmake bldfiles abld build wins udeb, then open the emulator, testing procedures for errors. .


3. compile .2...


No error in the program after the command line input abld build armi urel. After the implementation of this command in the directory d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel build HELLOWORLD. . APP and HELLOWORLD. . RSC two files. .


3. establish .3. .pkg file..


In d: \ Symbian \ 6. .1 \ Series60 \ Series60Ex \ helloworld \ sis use Notepad to create or modify projects pkg file as follows:. .


; HelloWorld。.pkg。.


;. .


;Language – standard language definitions。.


& EN. .


; standard SIS file header。.


# ("HelloWorld"), (0 × 10005B91), 1,0,0. .


;Supports Series 60 v 1。.2。.


(0 × 101F8202), 0, 0, 0, ("Series60ProductID"). .


;。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HelloWorld.. APP "-"!: \ system \ apps \ HelloWorld \ HelloWorld.. App". .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HELLOWORLD。.rSC"-"!:\ system\apps\HelloWorld\HELLOWORLD。.rSC"。.


Among them, in front of "d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC" is to install the file package, "!: \ System \ apps \ HelloWorld \ HELLOWORLD.. RSC "is the installation of the target location. Which should be noted that we used in the target location, "!" Instead of the actual letter.Doing so benefits the user when the phone is installed, you may be prompted to select the location you want to install, which give the user greater flexibility. In addition, Symbian system, installed applications, the default location is "!: \ system\apps ”。.


Edited pkg file, save to the appropriate directory. .


3. .4. Packer.


In the command line, go to the pkg file directory, run the command makesis HelloW. .


3 packaging.


We SDK 1. .2 Provide the HelloWorld example, production can be installed in the phone. . SIS files:. .


3. .1. check program.


First, in the command line format, enter the HelloWorld project mmp file directory, and enter bldmake bldfiles abld build wins udeb, then open the emulator, testing procedures for errors. .


3. compile .2...


No error in the program after the command line input abld build armi urel. After the implementation of this command in the directory d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel build HELLOWORLD. . APP and HELLOWORLD. . RSC two files. .


3. establish .3. .pkg file..


In d: \ Symbian \ 6. .1 \ Series60 \ Series60Ex \ helloworld \ sis use Notepad to create or modify projects pkg file as follows:. .


; HelloWorld。.pkg。.


;. .


;Language – standard language definitions。.


& EN. .


; standard SIS file header。.


# ("HelloWorld"), (0 × 10005B91), 1,0,0. .


;Supports Series 60 v 1。.2。.


(0 × 101F8202), 0, 0, 0, ("Series60ProductID"). .


;。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HelloWorld.. APP "-"!: \ system \ apps \ HelloWorld \ HelloWorld.. App". .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HELLOWORLD。.rSC"-"!:\ system\apps\HelloWorld\HELLOWORLD。.rSC"。.


Among them, in front of "d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC" is to install the file package, "!: \ System \ apps \ HelloWorld \ HELLOWORLD.. RSC "is the installation of the target location. Which should be noted that we used in the target location, "!" Instead of the actual letter.Doing so benefits the user when the phone is installed, you may be prompted to select the location you want to install, which give the user greater flexibility. In addition, Symbian system, installed applications, the default location is "!: \ system\apps ”。.


Edited pkg file, save to the appropriate directory. .


3. .4. Packer.


In the command line, go to the pkg file directory, run the command makesis HelloW. .


3 packaging.


We SDK 1. .2 Provide the HelloWorld example, production can be installed in the phone. . SIS files:. .


3. .1. check program.


First, in the command line format, enter the HelloWorld project mmp file directory, and enter bldmake bldfiles abld build wins udeb, then open the emulator, testing procedures for errors. .


3. compile .2...


No error in the program after the command line input abld build armi urel. After the implementation of this command in the directory d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel build HELLOWORLD. . APP and HELLOWORLD. . RSC two files. .


3. establish .3. .pkg file..


In d: \ Symbian \ 6. .1 \ Series60 \ Series60Ex \ helloworld \ sis use Notepad to create or modify projects pkg file as follows:. .


; HelloWorld。.pkg。.


;. .


;Language – standard language definitions。.


& EN. .


; standard SIS file header。.


# ("HelloWorld"), (0 × 10005B91), 1,0,0. .


;Supports Series 60 v 1。.2。.


(0 × 101F8202), 0, 0, 0, ("Series60ProductID"). .


;。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HelloWorld.. APP "-"!: \ system \ apps \ HelloWorld \ HelloWorld.. App". .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HELLOWORLD。.rSC"-"!:\ system\apps\HelloWorld\HELLOWORLD。.rSC"。.


Among them, in front of "d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC" is to install the file package, "!: \ System \ apps \ HelloWorld \ HELLOWORLD.. RSC "is the installation of the target location. Which should be noted that we used in the target location, "!" Instead of the actual letter.Doing so benefits the user when the phone is installed, you may be prompted to select the location you want to install, which give the user greater flexibility. In addition, Symbian system, installed applications, the default location is "!: \ system\apps ”。.


Edited pkg file, save to the appropriate directory. .


3. .4. Packer.


In the command line, go to the pkg file directory, run the command makesis HelloW. .


If you want to have established a good project to import to VC6. .0, such as our example in the SDK into a HelloWorld VC6 project, we first entered the \Symbian\6. .1\ Series60\Series60Ex\HelloWorld directory. Here we can see, Symbian, a Project is typically a press group inc, src, etc directory organization, usually placed in the group directory is the project file, compile-time to be here. Mode with command prompt, enter just said that directory and:. .


bldmake bldfiles。.


This command will generate a directory in the group abld. . Bat batch file, and will \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ BUILD next generation \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ BUILD \ SYMBIAN \ 6. .1 \ SERIES60 \ SERIES60EX \ HELLOWORLD \ GROUP this directory, and generate a bunch of bottom directory. . Make file. .


We then runs in the same directory has just generated abld. .bat:.


abld makefile vc6. .


It will automatically generate the dsw file vc6, location in \Symbian\6. .1\ Series60\Epoc32\BUILD\ SYMBIAN\6. .1\ SERIES60\SERIES60EX\HELLOWORLD\GROUP\HELLOWORLD\WINS. And then we can open the Symbian VC6 project.


2 compilation. .


We can directly use the SDK provides tools to compile Symbian project, you can also use the VC6 provides integrated environment to compile into the Symbian project. Compile the results stored in \Symbian\6. .1\ Series60\Epoc32\ Release\wins\UDEB\Z\SYSTEM\apps directory.


2. .1 Compiled using the tools provided by Symbian SDK project. .


We in the previous section for that position to continue to enter:.


abld build wins udeb. .


This command will compile the program, we finally \Symbian\6. .1\ Series60\Epoc32\Release\wins\UDEB directory build our helloworld, and then we can from the start menu, run the debug version of the Simulator, which in the simulation, you can run helloworld.


2. .2 Compiled using VC6 Symbian project. .


We run abld makefile directly open vc6 dsw files have been generated, VC an automatic mount into the project. Press F7 to directly compile the project, compiled the results the same on \Symbian\6. .1\ Series60\Epoc32\Release\ wins\UDEB directory. Then we open a debug version of the Simulator, you can see we have the compiled project.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


Way "Next", one of the most simple Symbian application on the establishment of better. .


If you want to have established a good project to import to VC6. .0, such as our example in the SDK into a HelloWorld VC6 project, we first entered the \Symbian\6. .1\ Series60\Series60Ex\HelloWorld directory. Here we can see, Symbian, a Project is typically a press group inc, src, etc directory organization, usually placed in the group directory is the project file, compile-time to be here. Mode with command prompt, enter just said that directory and:. .


bldmake bldfiles。.


This command will generate a directory in the group abld. . Bat batch file, and will \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ BUILD next generation \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ BUILD \ SYMBIAN \ 6. .1 \ SERIES60 \ SERIES60EX \ HELLOWORLD \ GROUP this directory, and generate a bunch of bottom directory. . Make file. .


We then runs in the same directory has just generated abld. .bat:.


abld makefile vc6. .


It will automatically generate the dsw file vc6, location in \Symbian\6. .1\ Series60\Epoc32\BUILD\ SYMBIAN\6. .1\ SERIES60\SERIES60EX\HELLOWORLD\GROUP\HELLOWORLD\WINS. And then we can open the Symbian VC6 project.


2 compilation. .


We can directly use the SDK provides tools to compile Symbian project, you can also use the VC6 provides integrated environment to compile into the Symbian project. Compile the results stored in \Symbian\6. .1\ Series60\Epoc32\ Release\wins\UDEB\Z\SYSTEM\apps directory.


2. .1 Compiled using the tools provided by Symbian SDK project. .


We in the previous section for that position to continue to enter:.


abld build wins udeb. .


This command will compile the program, we finally \Symbian\6. .1\ Series60\Epoc32\Release\wins\UDEB directory build our helloworld, and then we can from the start menu, run the debug version of the Simulator, which in the simulation, you can run helloworld.


2. .2 Compiled using VC6 Symbian project. .


We run abld makefile directly open vc6 dsw files have been generated, VC an automatic mount into the project. Press F7 to directly compile the project, compiled the results the same on \Symbian\6. .1\ Series60\Epoc32\Release\ wins\UDEB directory. Then we open a debug version of the Simulator, you can see we have the compiled project.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


If you want to have established a good project into VC6. .0 In, such as in the example we will HelloWorld SDK into a VC6 project, we first enter the \ Symbian \ 6. .1 \ Series60 \ Series60Ex \ HelloWorld directory. Here we can see that in Symbian, a Project usually by inc, src, group, etc. directory organization, group directory is the project file is usually placed, so compile-time to be here first.Command prompt mode to enter just the directory and do:.


bldmake bldfiles. .


This command will generate a group directory abld. .bat batch file and \Symbian \ 6. generate \Symbian\6 .1\ Series60\Epoc32\BUILD. .1\ Series60\Epoc32\BUILD\SYMBIAN\6. .1\ SERIES60\SERIES60EX\HELLOWORLD\GROUP this directory, and in the underlying directory generates a heap. .make.


Then we just run in the same directory generated abld. . Bat:. .


abld makefile vc6。.


This will automatically generate vc6 the dsw files, located in \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ BUILD \ SYMBIAN \ 6. .1 \ SERIES60 \ SERIES60EX \ HELLOWORLD \ GROUP \ HELLOWORLD \ WINS. Then we can open the Symbian at VC6 kind of project was. .


2 compile.


We can use the SDK provides the tools to build Symbian project, you can also use the VC6 compiled to provide an integrated environment to transform over the Symbian project. Compile the results stored in the \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ Release \ wins \ UDEB \ Z \ SYSTEM \ apps directory. .


2. use the .1 SDK provides tools to compile Symbian project.


In the previous section that position to enter:. .


abld build wins udeb。.


This command will compile our program, the last in the \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ Release \ wins \ UDEB directory build our helloworld, then we can run the emulator from the Start menu in the debug version, which can be run in simulation helloworld up. .


2. compile with VC6 .2 Symbian project.


We directly after the opening run abld makefile vc6 generated dsw file, VC automatically loaded through the project conversion. Press F7 will be able to compile the project directly, compiling the results the same on the \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ Release \ wins \ UDEB directory. Then we open the emulator debug version, you can see that we build a good project. .


3 packaging.


We SDK 1. .2 Provide the HelloWorld example, production can be installed in the phone. . SIS files:. .


3. .1. check program.


First, in the command line format, enter the HelloWorld project mmp file directory, and enter bldmake bldfiles abld build wins udeb, then open the emulator, testing procedures for errors. .


3. compile .2...


No error in the program after the command line input abld build armi urel. After the implementation of this command in the directory d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel build HELLOWORLD. . APP and HELLOWORLD. . RSC two files. .


3. establish .3. .pkg file..


In d: \ Symbian \ 6. .1 \ Series60 \ Series60Ex \ helloworld \ sis use Notepad to create or modify projects pkg file as follows:. .


; HelloWorld。.pkg。.


;. .


;Language – standard language definitions。.


& EN. .


; standard SIS file header。.


# ("HelloWorld"), (0 × 10005B91), 1,0,0. .


;Supports Series 60 v 1。.2。.


(0 × 101F8202), 0, 0, 0, ("Series60ProductID"). .


;。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HelloWorld.. APP "-"!: \ system \ apps \ HelloWorld \ HelloWorld.. App". .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HELLOWORLD。.rSC"-"!:\ system\apps\HelloWorld\HELLOWORLD。.rSC"。.


Among them, in front of "d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC" is to install the file package, "!: \ System \ apps \ HelloWorld \ HELLOWORLD.. RSC "is the installation of the target location. Which should be noted that we used in the target location, "!" Instead of the actual letter.Doing so benefits the user when the phone is installed, you may be prompted to select the location you want to install, which give the user greater flexibility. In addition, Symbian system, installed applications, the default location is "!: \ system\apps ”。.


Edited pkg file, save to the appropriate directory. .


3. .4. Packer.


In the command line, go to the pkg file directory, run the command makesis HelloW. .


3 packaging.


We SDK 1. .2 Provide the HelloWorld example, production can be installed in the phone. . SIS files:. .


3. .1. check program.


First, in the command line format, enter the HelloWorld project mmp file directory, and enter bldmake bldfiles abld build wins udeb, then open the emulator, testing procedures for errors. .


3. compile .2...


No error in the program after the command line input abld build armi urel. After the implementation of this command in the directory d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel build HELLOWORLD. . APP and HELLOWORLD. . RSC two files. .


3. establish .3. .pkg file..


In d: \ Symbian \ 6. .1 \ Series60 \ Series60Ex \ helloworld \ sis use Notepad to create or modify projects pkg file as follows:. .


; HelloWorld。.pkg。.


;. .


;Language – standard language definitions。.


& EN. .


; standard SIS file header。.


# ("HelloWorld"), (0 × 10005B91), 1,0,0. .


;Supports Series 60 v 1。.2。.


(0 × 101F8202), 0, 0, 0, ("Series60ProductID"). .


;。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HelloWorld.. APP "-"!: \ system \ apps \ HelloWorld \ HelloWorld.. App". .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HELLOWORLD。.rSC"-"!:\ system\apps\HelloWorld\HELLOWORLD。.rSC"。.


Among them, in front of "d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC" is to install the file package, "!: \ System \ apps \ HelloWorld \ HELLOWORLD.. RSC "is the installation of the target location. Which should be noted that we used in the target location, "!" Instead of the actual letter.Doing so benefits the user when the phone is installed, you may be prompted to select the location you want to install, which give the user greater flexibility. In addition, Symbian system, installed applications, the default location is "!: \ system\apps ”。.


Edited pkg file, save to the appropriate directory. .


3. .4. Packer.


In the command line, go to the pkg file directory, run the command makesis HelloW. .


3 packaging.


We SDK 1. .2 Provide the HelloWorld example, production can be installed in the phone. . SIS files:. .


3. .1. check program.


First, in the command line format, enter the HelloWorld project mmp file directory, and enter bldmake bldfiles abld build wins udeb, then open the emulator, testing procedures for errors. .


3. compile .2...


No error in the program after the command line input abld build armi urel. After the implementation of this command in the directory d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel build HELLOWORLD. . APP and HELLOWORLD. . RSC two files. .


3. establish .3. .pkg file..


In d: \ Symbian \ 6. .1 \ Series60 \ Series60Ex \ helloworld \ sis use Notepad to create or modify projects pkg file as follows:. .


; HelloWorld。.pkg。.


;. .


;Language – standard language definitions。.


& EN. .


; standard SIS file header。.


# ("HelloWorld"), (0 × 10005B91), 1,0,0. .


;Supports Series 60 v 1。.2。.


(0 × 101F8202), 0, 0, 0, ("Series60ProductID"). .


;。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HelloWorld.. APP "-"!: \ system \ apps \ HelloWorld \ HelloWorld.. App". .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HELLOWORLD。.rSC"-"!:\ system\apps\HelloWorld\HELLOWORLD。.rSC"。.


Among them, in front of "d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC" is to install the file package, "!: \ System \ apps \ HelloWorld \ HELLOWORLD.. RSC "is the installation of the target location. Which should be noted that we used in the target location, "!" Instead of the actual letter.Doing so benefits the user when the phone is installed, you may be prompted to select the location you want to install, which give the user greater flexibility. In addition, Symbian system, installed applications, the default location is "!: \ system\apps ”。.


Edited pkg file, save to the appropriate directory. .


3. .4. Packer.


In the command line, go to the pkg file directory, run the command makesis HelloW. .


If you want to have established a good project to import to VC6. .0, such as our example in the SDK into a HelloWorld VC6 project, we first entered the \Symbian\6. .1\ Series60\Series60Ex\HelloWorld directory. Here we can see, Symbian, a Project is typically a press group inc, src, etc directory organization, usually placed in the group directory is the project file, compile-time to be here. Mode with command prompt, enter just said that directory and:. .


bldmake bldfiles。.


This command will generate a directory in the group abld. . Bat batch file, and will \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ BUILD next generation \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ BUILD \ SYMBIAN \ 6. .1 \ SERIES60 \ SERIES60EX \ HELLOWORLD \ GROUP this directory, and generate a bunch of bottom directory. . Make file. .


We then runs in the same directory has just generated abld. .bat:.


abld makefile vc6. .


It will automatically generate the dsw file vc6, location in \Symbian\6. .1\ Series60\Epoc32\BUILD\ SYMBIAN\6. .1\ SERIES60\SERIES60EX\HELLOWORLD\GROUP\HELLOWORLD\WINS. And then we can open the Symbian VC6 project.


2 compilation. .


We can directly use the SDK provides tools to compile Symbian project, you can also use the VC6 provides integrated environment to compile into the Symbian project. Compile the results stored in \Symbian\6. .1\ Series60\Epoc32\ Release\wins\UDEB\Z\SYSTEM\apps directory.


2. .1 Compiled using the tools provided by Symbian SDK project. .


We in the previous section for that position to continue to enter:.


abld build wins udeb. .


This command will compile the program, we finally \Symbian\6. .1\ Series60\Epoc32\Release\wins\UDEB directory build our helloworld, and then we can from the start menu, run the debug version of the Simulator, which in the simulation, you can run helloworld.


2. .2 Compiled using VC6 Symbian project. .


We are a direct hit to chant?/span > abld makefile vc6 dsw files have been generated, VC an automatic mount into the project. Press F7 to directly compile the project, compiled the results the same on \Symbian\6. .1\ Series60\Epoc32\Release\ wins\UDEB directory. Then we open a debug version of the Simulator, you can see we have the compiled project.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


Way "Next", one of the most simple Symbian application on the establishment of better. .


If you want to have established a good project to import to VC6. .0, such as our example in the SDK into a HelloWorld VC6 project, we first entered the \Symbian\6. .1\ Series60\Series60Ex\HelloWorld directory. Here we can see, Symbian, a Project is typically a press group inc, src, etc directory organization, usually placed in the group directory is the project file, compile-time to be here. Mode with command prompt, enter just said that directory and:. .


bldmake bldfiles。.


This command will generate a directory in the group abld. . Bat batch file, and will \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ BUILD next generation \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ BUILD \ SYMBIAN \ 6. .1 \ SERIES60 \ SERIES60EX \ HELLOWORLD \ GROUP this directory, and generate a bunch of bottom directory. . Make file. .


We then runs in the same directory has just generated abld. .bat:.


abld makefile vc6. .


It will automatically generate the dsw file vc6, location in \Symbian\6. .1\ Series60\Epoc32\BUILD\ SYMBIAN\6. .1\ SERIES60\SERIES60EX\HELLOWORLD\GROUP\HELLOWORLD\WINS. And then we can open the Symbian VC6 project.


2 compilation. .


We can directly use the SDK provides tools to compile Symbian project, you can also use the VC6 provides integrated environment to compile into the Symbian project. Compile the results stored in \Symbian\6. .1\ Series60\Epoc32\ Release\wins\UDEB\Z\SYSTEM\apps directory.


2. .1 Compiled using the tools provided by Symbian SDK project. .


We in the previous section for that position to continue to enter:.


abld build wins udeb. .


This command will compile the program, we finally \Symbian\6. .1\ Series60\Epoc32\Release\wins\UDEB directory build our helloworld, and then we can from the start menu, run the debug version of the Simulator, which in the simulation, you can run helloworld.


2. .2 Compiled using VC6 Symbian project. .


We run abld makefile directly open vc6 dsw files have been generated, VC an automatic mount into the project. Press F7 to directly compile the project, compiled the results the same on \Symbian\6. .1\ Series60\Epoc32\Release\ wins\UDEB directory. Then we open a debug version of the Simulator, you can see we have the compiled project.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


If you want to have established a good project into VC6. .0 In, such as in the example we will HelloWorld SDK into a VC6 project, we first enter the \ Symbian \ 6. .1 \ Series60 \ Series60Ex \ HelloWorld directory. Here we can see that in Symbian, a Project usually by inc, src, group, etc. directory organization, group directory is the project file is usually placed, so compile-time to be here first.Command prompt mode to enter just the directory and do:.


bldmake bldfiles. .


This command will generate a group directory abld. .bat batch file and \Symbian \ 6. generate \Symbian\6 .1\ Series60\Epoc32\BUILD. .1\ Series60\Epoc32\BUILD\SYMBIAN\6. .1\ SERIES60\SERIES60EX\HELLOWORLD\GROUP this directory, and in the underlying directory generates a heap. .make.


Then we just run in the same directory generated abld. . Bat:. .


abld makefile vc6。.


This will automatically generate vc6 the dsw files, located in \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ BUILD \ SYMBIAN \ 6. .1 \ SERIES60 \ SERIES60EX \ HELLOWORLD \ GROUP \ HELLOWORLD \ WINS. Then we can open the Symbian at VC6 kind of project was. .


2 compile.


We can use the SDK provides the tools to build Symbian project, you can also use the VC6 compiled to provide an integrated environment to transform over the Symbian project. Compile the results stored in the \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ Release \ wins \ UDEB \ Z \ SYSTEM \ apps directory. .


2. use the .1 SDK provides tools to compile Symbian project.


In the previous section that position to enter:. .


abld build wins udeb。.


This command will compile our program, the last in the \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ Release \ wins \ UDEB directory build our helloworld, then we can run the emulator from the Start menu in the debug version, which can be run in simulation helloworld up. .


2. compile with VC6 .2 Symbian project.


We directly after the opening run abld makefile vc6 generated dsw file, VC automatically loaded through the project conversion. Press F7 will be able to compile the project directly, compiling the results the same on the \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ Release \ wins \ UDEB directory. Then we open the emulator debug version, you can see that we build a good project. .


3 packaging.


We SDK 1. .2 Provide the HelloWorld example, production can be installed in the phone. . SIS files:. .


3. .1. check program.


First, in the command line format, enter the HelloWorld project mmp file directory, and enter bldmake bldfiles abld build wins udeb, then open the emulator, testing procedures for errors. .


3. compile .2...


No error in the program after the command line input abld build armi urel. After the implementation of this command in the directory d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel build HELLOWORLD. . APP and HELLOWORLD. . RSC two files. .


3. establish .3. .pkg file..


In d: \ Symbian \ 6. .1 \ Series60 \ Series60Ex \ helloworld \ sis use Notepad to create or modify projects pkg file as follows:. .


; HelloWorld。.pkg。.


;. .


;Language – standard language definitions。.


& EN. .


; standard SIS file header。.


# ("HelloWorld"), (0 × 10005B91), 1,0,0. .


;Supports Series 60 v 1。.2。.


(0 × 101F8202), 0, 0, 0, ("Series60ProductID"). .


;。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HelloWorld.. APP "-"!: \ system \ apps \ HelloWorld \ HelloWorld.. App". .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HELLOWORLD。.rSC"-"!:\ system\apps\HelloWorld\HELLOWORLD。.rSC"。.


Among them, in front of "d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC" is to install the file package, "!: \ System \ apps \ HelloWorld \ HELLOWORLD.. RSC "is the installation of the target location. Which should be noted that we used in the target location, "!" Instead of the actual letter.Doing so benefits the user when the phone is installed, you may be prompted to select the location you want to install, which give the user greater flexibility. In addition, Symbian system, installed applications, the default location is "!: \ system\apps ”。.


Edited pkg file, save to the appropriate directory. .


3. .4. Packer.


In the command line, go to the pkg file directory, run the command makesis HelloW. .


3 packaging.


We SDK 1. .2 Provide the HelloWorld example, production can be installed in the phone. . SIS files:. .


3. .1. check program.


First, in the command line format, enter the HelloWorld project mmp file directory, and enter bldmake bldfiles abld build wins udeb, then open the emulator, testing procedures for errors. .


3. compile .2...


No error in the program after the command line input abld build armi urel. After the implementation of this command in the directory d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel build HELLOWORLD. . APP and HELLOWORLD. . RSC two files. .


3. establish .3. .pkg file..


In d: \ Symbian \ 6. .1 \ Series60 \ Series60Ex \ helloworld \ sis use Notepad to create or modify projects pkg file as follows:. .


; HelloWorld。.pkg。.


;. .


;Language – standard language definitions。.


& EN. .


; standard SIS file header。.


# ("HelloWorld"), (0 × 10005B91), 1,0,0. .


;Supports Series 60 v 1。.2。.


(0 × 101F8202), 0, 0, 0, ("Series60ProductID"). .


;。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HelloWorld.. APP "-"!: \ system \ apps \ HelloWorld \ HelloWorld.. App". .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HELLOWORLD。.rSC"-"!:\ system\apps\HelloWorld\HELLOWORLD。.rSC"。.


Among them, in front of "d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC" is to install the file package, "!: \ System \ apps \ HelloWorld \ HELLOWORLD.. RSC "is the installation of the target location. Which should be noted that we used in the target location, "!" Instead of the actual letter.Doing so benefits the user when the phone is installed, you may be prompted to select the location you want to install, which give the user greater flexibility. In addition, Symbian system, installed applications, the default location is "!: \ system\apps ”。.


Edited pkg file, save to the appropriate directory. .


3. .4. Packer.


In the command line, go to the pkg file directory, run the command makesis HelloW. .


3 packaging.


We SDK 1. .2 Provide the HelloWorld example, production can be installed in the phone. . SIS files:. .


3. .1. check program.


First, in the command line format, enter the HelloWorld project mmp file directory, and enter bldmake bldfiles abld build wins udeb, then open the emulator, testing procedures for errors. .


3. compile .2...


No error in the program after the command line input abld build armi urel. After the implementation of this command in the directory d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel build HELLOWORLD. . APP and HELLOWORLD. . RSC two files. .


3. establish .3. .pkg file..


In d: \ Symbian \ 6. .1 \ Series60 \ Series60Ex \ helloworld \ sis use Notepad to create or modify projects pkg file as follows:. .


; HelloWorld。.pkg。.


;. .


;Language – standard language definitions。.


& EN. .


; standard SIS file header。.


# ("HelloWorld"), (0 × 10005B91), 1,0,0. .


;Supports Series 60 v 1。.2。.


(0 × 101F8202), 0, 0, 0, ("Series60ProductID"). .


;。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HelloWorld.. APP "-"!: \ system \ apps \ HelloWorld \ HelloWorld.. App". .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HELLOWORLD。.rSC"-"!:\ system\apps\HelloWorld\HELLOWORLD。.rSC"。.


Among them, in front of "d: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC" is to install the file package, "!: \ System \ apps \ HelloWorld \ HELLOWORLD.. RSC "is the installation of the target location. Which should be noted that we used in the target location, "!" Instead of the actual letter.Doing so benefits the user when the phone is installed, you may be prompted to select the location you want to install, which give the user greater flexibility. In addition, Symbian system, installed applications, the default location is "!: \ system\apps ”。.


Edited pkg file, save to the appropriate directory. .


3. .4. Packer.


In the command line, go to the pkg file directory, run the command makesis HelloW. .


If you want to have established a good project to import to VC6. .0, such as our example in the SDK into a HelloWorld VC6 project, we first entered the \Symbian\6. .1\ Series60\Series60Ex\HelloWorld directory. Here we can see, Symbian, a Project is typically a press group inc, src, etc directory organization, usually placed in the group directory is the project file, compile-time to be here. Mode with command prompt, enter just said that directory and:. .


bldmake bldfiles。.


This command will generate a directory in the group abld. . Bat batch file, and will \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ BUILD next generation \ Symbian \ 6. .1 \ Series60 \ Epoc32 \ BUILD \ SYMBIAN \ 6. .1 \ SERIES60 \ SERIES60EX \ HELLOWORLD \ GROUP this directory, and generate a bunch of bottom directory. . Make file. .


We then runs in the same directory has just generated abld. .bat:.


abld makefile vc6. .


It will automatically generate the dsw file vc6, location in \Symbian\6. .1\ Series60\Epoc32\BUILD\ SYMBIAN\6. .1\ SERIES60\SERIES60EX\HELLOWORLD\GROUP\HELLOWORLD\WINS. And then we can open the Symbian VC6 project.


2 compilation. .


We can directly use the SDK provides tools to compile Symbian project, you can also use the VC6 provides integrated environment to compile into the Symbian project. Compile the results stored in \Symbian\6. .1\ Series60\Epoc32\ Release\wins\UDEB\Z\SYSTEM\apps directory.


2. .1 Compiled using the tools provided by Symbian SDK project. .


We in the previous section for that position to continue to enter:.


abld build wins udeb. .


This command will compile the program, we finally \Symbian\6. .1\ Series60\Epoc32\Release\wins\UDEB directory build our helloworld, and then we can from the start menu, run the debug version of the Simulator, which in the simulation, you can run helloworld.


2. .2 Compiled using VC6 Symbian project. .


We run abld makefile directly open vc6 dsw files have been generated, VC an automatic mount into the project. Press F7 to directly compile the project, compiled the results the same on \Symbian\6. .1\ Series60\Epoc32\Release\ wins\UDEB directory. Then we open a debug version of the Simulator, you can see we have the compiled project.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


3 pack. .


Our SDK 1. .2 supplied HelloWorld as an example, you can install in the phone.: .SIS file.


3. .1. Inspection procedures. .


First of all, in the command line format, into the HelloWorld project mmp file directory, enter bldmake bldfiles and abld udeb build wins, and then open the emulator, the program has no errors detected.


3. .2. Compile project. .


In the program without error, enter the command line build armi urel abld. After executing this command in the directory build d:\symbian\6. .1\ series60\epoc32\release\armi\urel. .APP and HELLOWORLD HELLOWORLD. .RSC files.


3. .3. Establishment. . Pkg file. .


In .1\ Series60\Series60Ex\helloworld\sis d:\Symbian\6. use Notepad to establish or modify the pkg file works as follows:.


; HelloWorld. . Pkg. .


;。.


; Language - standard language definitions. .


&EN。.


; Standard SIS file header. .


#{"HelloWorld"},(0×10005B91),1,0,0。.


; Supports Series 60 v 1. .2. .


(0×101F8202), 0, 0, 0, {"Series60ProductID"}。.


;. .


"d:\symbian\6。.1\series60\epoc32\release\armi\urel\HelloWorld。.APP"-"!:\ system\apps\HelloWorld\HelloWorld。.app"。.


"D: \ symbian \ 6. .1 \ Series60 \ epoc32 \ release \ armi \ urel \ HELLOWORLD.. RSC "-"!: \ system \ apps \ HelloWorld \ HELLOWORLD.. RSC". .


Where, in front of "d:\symbian\6. .1\ series60\epoc32\release\armi\urel\HELLOWORLD. .rSC" is to package the installation file, "!: \ System\apps\HelloWorld\HELLOWORLD. .rSC "is installed on the target location. Where it is important to note that we are in the target location with a "!" instead of the actual drive letter. This well is that when the user installed the phone system will prompt the user to select the location of installation, which gives the user greater flexibility. In addition, the Symbian system, install the application default location is "!: \ System \ apps". .


Edited pkg file, save it to the appropriate directory.


3. .4. Packaging process. .


On the command line, go to the pkg file directory, run the command makesis HelloW.


Abstract. .


This article presents an aircraft shooting (submarine) game design process and the corresponding flowchart, and provides source code for the Demo version, download the game in sun wtk v2. debug by .2.


Disclaimer: The resources used in most of the game does not belong to the author, the code only for non-commercial use of learning reference. .


Following are a few shots of the game.


Game design. .


Operation flow: 1 game.


The initial game screen is a implusive's List list format, select the new game can start after the game, the game is to open the full screen, but there used to pause / start and exit the command response function keys. Start suspension in the game, sea and marine life will continue its activities, but all the enemy submarines and torpedoes will still down, the player's control will not work until the game is started up again. State of exit from the game will return to the menu interface, select Exit to exit the program again. .


The following is the game's overall Flowchart:.


2 algorithm processing. .


The game itself is a single-State structure (singletone), consists of a Controller to handle current should appear on the screen and status. The main display class includes the main picture, the game canvas, help screens and some auxiliary Alert, one of the most important is the game screen. The game is in a State of MIDP 2, screen has inherited the GameCanvas. Role in the game to load all the layers in a much larger than the handset screen size of the layer Manager. When the player moves position, layer manager synchronization calculate the relative position of the player, move the current layer of the display position. .


The essence of the game is started in the midlet on the whole canvas as a thread, every user 25ms scan about buttons, every 50ms scan once enemies and torpedo, and other objects of the movement, for more demanding the bullet out of the immediate response to inherited keyPressed method.


Players move in the scanning operation, the key code is passed to the player submarines response method. And torpedo enemy movement in the scan, the two steps. .


The first step in the implementation of the various objects in the scene of the move method. The program does not count for each enemy torpedo or start a new thread, too many threads may cause performance freefall; instead, for each object type is retained a Vector array, whenever a new object, he will first be added to an array of type belongs, and then in the layer draw; when the object is to eliminate, in addition to being eliminated on a layer, or you need to respond to an array. This will create a registration system, all the game objects are generated and eliminate the need to register on canvas, canvas objects all have different types of "list", so, when the implementation of the move order, just traverse the array of various types, followed by the implementation of which method of each element can move. .


The second step is to draw a general sense, here use the flushGraphics () instead of the traditional repaint (), because this game is to import the picture into action on the object, the picture changes already in the first step is executed, it does not get involved into the pixel level of repainting, just in the game when it needs to load the initialized state of the object array to the new layer to the layer Manager.


Canvas trigger flow diagram:. .


(Since there is no rose in hand, only temporarily available EclipseUML flowchart draw sketches, some problem areas need to question, and we want to be good at this to a friend, don't hesitate to correct me).


3 type of structure. .


The following lists the main components of a class structure of meaning, and games centered on the canvas a class diagram.


Controller: Control class, the current screen display to control which Displayable class. .


SubObject: interface type. Player enemy submarines, and submarines, torpedoes, removable layer types are extended to this interface.


Sub: Players submarine. Contains the location, life and other members of the variable value, and mobile, fire and other methods. .


EnemySub, MoveableSprite, Tinfish: enemy submarines, torpedoes, and marine life. Are removable layer type, once you have registered on the canvas, from the time triggers maintain their movement and life status.


SubCanvas: the main game canvas. Map information stored in the game, the game status, player information, synchronized to maintain the enemy submarines, torpedoes, marine sports and survival status. .


SubCanvas associated class diagram:.


4 source code. .


The source code of this program, including the jad, jar and confusion of a rar file in .net .hyweb http://www.../BrowseFiles .aspx? Folder = Public/download My% 20Project that code contains a more detailed comments. This program is only a demo version, there are some remaining issues (shows the value of life player, performance optimization) needs further improvement, have any good suggestions, be sure to contact me. ^_^。.


Ha ha ha ha finally completed, NND was 2 days. .


Although completed, while the machine is running, though, be able to run very well, and also although can send messages and to receive messages. (How many though that is bound to have a "but" to bring up), but yes, there are still many places where I am not satisfied with.


First: Global variables are too many blame themselves too lazy, unwilling to pass parameters to see is generally set to global variables are set to global variables, and lazy ah!! Change next time, do not change a dog! . .


Second: the program did not object-oriented design style, although defines several module, but module is between those global variables to connect the entire program like looks, entangled, mess, is the dream, like a river flows East, say go, stop!!.


Third: The writing style needs to be improved, where the style and the many factors related to their ability, a solid foundation, good programming habits, and so on ... .... . These are not overnight, although not overnight, but she has to pay attention to their habits, so they took the nomenclature for instance, always remember, always like to write a string str general wording is szStr; there are many things, like what a pointer that the distribution of the space in the free pointer always forget P = NULL; operation, and. .These basic skills later write program notes slowly, believed that he would soon be able to adapt.


There are several deficiencies in the now forgotten to write the next thought come. .


Who will source and contact me.


Client. .


//==================================头文件============================================。.


/ / # Include. .


#include。.


# Include. .


#include 。.


# Include "resource.. H". .


//==========================定义消息====================================================。.


# Define WM_RECVDATA WM_USER +100. .


//===========================库文件=====================================================。.


# Pragma comment (lib, "ws2_32.. Lib"). .


#pragma comment(lib, "mswsock。.lib")。.


//======================== Global variable ====================== ===============================。 .


HWND g_DialogHwnd;//define a handle to the dialog box.


SOCKET g_ClientSocket; / / define SOCKET object is used to connect to the server's sockets. .


char szTempBuffer[9999];。.


sockaddr_in addrSock; / / server address. .


//SOCKET g_RecvSocket;//used to receive messages of the socket.


//========================= Global function ===================== ================================。 .


BOOL CALLBACK DialogFun(HWND, UINT,WPARAM, LPARAM);。.


DWORD InitSocketVersion ();// protocol negotiation. .


BOOL InitSocket ();//create and bind the socket.


BOOL OnSend (); / / used to send messages. .


Void __cdecl ReceiveMessage (void *);//the thread function, used to accept the message used to listen for messages.


//================================================ ======================================。 .


int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow)。.


(. .


MSG msg;。.


if (100 == DialogBox (hinstance, "mydialog", NULL, (DLGPROC) DialogFun)). .


{。.


PostQuitMessage (WM_QUIT);. .


}。.


while (GetMessage (& msg, (HWND) NULL, 0, 0)). .


{ 。.


TranslateMessage (& msg);. .


DispatchMessage(&msg);。.


). .


//WSACleanup();。.


return msg. . WParam;. .


UNREFERENCED_PARAMETER(lpCmdLine);。.


). .


//====================================================================================。.


BOOL CALLBACK DialogFun (HWND dlghwnd, UINT message, WPARAM wParam, LPARAM lParam). .


{。.


g_DialogHwnd = dlghwnd;. .


switch(message)。.


(. .


case WM_PAINT:。.


return FALSE;. .


case WM_INITDIALOG :。.


(. .


InitSocketVersion();。.


/ / InitSocket ();. .


return FALSE;。.


). .


Case WM_RECVDATA://receive the message, use and display in the dialog box.


(. .


char str[9999];。.


GetDlgItemText (g_DialogHwnd, IDC_DISPLAYTEXT, str, 9999);. .


sprintf(str,"%s\r\n%s",str,szTempBuffer);。.


SetDlgItemText (g_DialogHwnd, IDC_DISPLAYTEXT, str);. .


SetDlgItemText(g_DialogHwnd,IDC_SENDTEXT,"");。.


SetFocus ((HWND) IDC_SENDTEXT);. .


break;。.


). .


case WM_COMMAND:。.


(. .


switch(LOWORD(wParam))。.


(. .


case IDOK:。.


(. .


If (MessageBox (g_DialogHwnd, "I want to die for you", "stupid", 33) == 1).


(. .


closesocket(g_ClientSocket);。.


WSACleanup ();. .


EndDialog (g_DialogHwnd, 100);//define 100 to determine whether to exit the dialog box.


). .


break;。.


). .


case IDC_SEND:。.


(. .


OnSend();。.


break;. .


}。.


case IDC_CONNECT:. .


{。.


/ / Create a new thread to accept the client's message. .


//InitSocket();。.


_beginthread (ReceiveMessage, 0, (void *) & g_DialogHwnd);. .


break;。.


). .


return FALSE;。.


). .


return FALSE;。.


). .


return FALSE;。.


). .


return FALSE;。.


). .


//==================================================================================。.


DWORD InitSocketVersion (). .


{。.


WSADATA wsaData;. .


return WSAStartup( MAKEWORD( 2, 2 ), &wsaData );。.


). .


//===================================================================================。.


BOOL InitSocket (). .


{。.


g_ClientSocket = socket (AF_INET, SOCK_STREAM, 0); / / create a few TCP mode SOCKET. .


If (INVALID_SOCKET == g_ClientSocket)//determine whether created successfully.


(. .


MessageBox (g_DialogHwnd, "create SOCKET failed", "error", MB_OK);.


return FALSE;. .


}。.


/ / Remove the port from the dialog. .


BOOL b_ensure;。.


int port;. .


port=GetDlgItemInt(g_DialogHwnd,IDC_PORT,&b_ensure,FALSE);。.


if (FALSE == b_ensure). .


{。.


MessageBox (g_DialogHwnd, "Failed to obtain server port", "error", MB_OK);. .


return FALSE;。.


). .


//From the dialog box on the IP address.


char HostAdress [20];. .


if(0==GetDlgItemText(g_DialogHwnd,IDC_IPADDRESS,HostAdress,sizeof(HostAdress)))。.


(. .


MessageBox (g_DialogHwnd, "server IP failed", "error", MB_OK);.


return FALSE;. .


}。.


/ / Populate the address structure. .


addrSock。.sin_family=AF_INET;。.


addrSock. . Sin_port = htons (port);. .


addrSock。.sin_addr。.S_un。.S_addr=inet_addr(HostAdress);。.


if (connect (g_ClientSocket, (SOCKADDR *) & addrSock, sizeof (sockaddr_in)) == SOCKET_ERROR). .


{。.


MessageBox (g_DialogHwnd, "can not connect server", "stupid", MB_ICONWARNING);. .


WSACleanup();。.


return 1;. .


}。.


/ / Else. .


//MessageBox (g_DialogHwnd, "successful", "congratulations, you're into pigs", MB_ICONWARNING);.


return TRUE;. .


}。.


BOOL OnSend (). .


{。.


InitSocket ();. .


Char szStrSend [1023];//message.


char name [12]; / / name. .


char szSend[1023];。.


GetDlgItemText (g_DialogHwnd, IDC_SENDTEXT, szStrSend, 1023);. .


GetDlgItemText(g_DialogHwnd,IDC_NAME,name,8);。.


strcpy (szSend, szStrSend);. .


sprintf(szStrSend,"%s:%s",name,szSend);。.


send (g_ClientSocket, szStrSend, sizeof (szStrSend) +1,0);. .


return TRUE;。.


). .


//===================================================================================。.


void __cdecl ReceiveMessage (void * lpParameter). .


{。.


while (1). .


{。.


char szRecvBuffer [1024];. .


if(SOCKET_ERROR==recv(g_ClientSocket,szRecvBuffer,1024,0))break;。.


sprintf (szTempBuffer, "% s", szRecvBuffer);. .


PostMessage(g_DialogHwnd,WM_RECVDATA,0,0);。.


). .


}。.


Server-side. .


//==================================头文件============================================。.


/ / # Include. .


#include。.


# Include. .


#include 。.


# Include "resource.. H". .


//==========================定义消息====================================================。.


# Define WM_RECVDATA WM_USER +100. .


//===========================库文件=====================================================。.


# Pragma comment (lib, "ws2_32.. Lib"). .


#pragma comment(lib, "mswsock。.lib")。.


//========================= Global Variables ===================== ================================。 .


Char g_szIpAdress [20];//define the IP address of the string type.


SOCKET g_Socket; / / define SOCKET object. .


SOCKET g_ClientSocket;//define the client socket.


HWND g_DialogHwnd; / / define the dialog box handle. .


char szTempBuffer[9999];。.


//========================= Global function ===================== ================================。 .


BOOL CALLBACK DialogFun(HWND, UINT,WPARAM, LPARAM);。.


void __cdecl ReceiveMessage (void *);// thread function, used to receive information to monitor messages and displays the message and dialog, TNND here to use multi-threading problems. .


BOOL GetLocalIP ();//get the host IP.


BOOL SetDlgIpAndPort ();// set the dialog box IP. .


DWORD InitSocketVersion ();//protocol negotiation.


BOOL InitSocket (); / / create and bind the socket. .


BOOL OnSend ();//used to send messages.


//================================================ ======================================。 .


int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow)。.


(. .


MSG msg;。.


if (100 == DialogBox (hinstance, "mydialog", NULL, (DLGPROC) DialogFun)). .


{。.


PostQuitMessage (WM_QUIT);. .


}。.


while (GetMessage (& msg, (HWND) NULL, 0, 0)). .


{ 。.


TranslateMessage (& msg);. .


DispatchMessage(&msg);。.


). .


//WSACleanup();。.


return msg. . WParam;. .


UNREFERENCED_PARAMETER(lpCmdLine);。.


). .


//========================================================================================。.


BOOL CALLBACK DialogFun (HWND dlghwnd, UINT message, WPARAM wParam, LPARAM lParam). .


{。.


switch (message). .


{ 。.


case WM_PAINT:. .


return FALSE;。.


case WM_INITDIALOG:. .


{ 。.


g_DialogHwnd = dlghwnd;. .


InitSocketVersion();。.


GetLocalIP ();. .


SetDlgIpAndPort();。.


InitSocket ();. .


listen(g_Socket,5);。.


return FALSE;. .


}。.


case WM_RECVDATA: / / Use receive messages and displays on the dialog. .


{ 。.


char szStr [9999];. .


char szTemp[9999];。.


GetDlgItemText (g_DialogHwnd, IDC_DISPLAYTEXT, szStr, 9999);. .


wsprintf(szTemp,"%s\r\n%s",szStr,szTempBuffer);。.


SetDlgItemText (g_DialogHwnd, IDC_DISPLAYTEXT, szTemp);. .


SetDlgItemText(g_DialogHwnd,IDC_SENDTEXT,"");。.


SetFocus ((HWND) IDC_SENDTEXT);. .


break;。.


). .


case WM_COMMAND:。.


(. .


switch(LOWORD(wParam))。.


(. .


case IDOK:。.


(. .


If (MessageBox (g_DialogHwnd, "I want to die for you", "stupid", 33) == 1).


(. .


closesocket(g_Socket);。.


closesocket (g_ClientSocket);. .


WSACleanup();。.


EndDialog (g_DialogHwnd, 100); / / define the dialog box 100 to determine the exit. .


//PostQuitMessage (0);//you can also use this message to exit through the bad.


). .


return TRUE;。.


). .


case IDC_SET_PORTANDIP:。.


(. .


//Create a new thread to accept the client's message.


_beginthread (ReceiveMessage, 0, (void *) & g_DialogHwnd);. .


break;。.


). .


case IDC_SEND:。.


(. .


OnSend();。.


break;. .


}。.


). .


return FALSE;。.


). .


return FALSE;。.


). .


return FALSE;。.


). .


//=======================================================================================。.


BOOL GetLocalIP (). .


{ 。.


char NameBuffer [250]; / / define the host name of the buffer storage. .


if(SOCKET_ERROR==gethostname(NameBuffer,sizeof(NameBuffer)))。.


(. .


return FALSE;。.


). .


Hostent * IpAdress = gethostbyname (NameBuffer);//IpAdress storage networking-byte IP address.


if (NULL == inet_ntoa (* (struct in_addr *) * IpAdress-> h_addr_list)). .


{。.


return FALSE;. .


}。.


/ / Use g_szIpAdress to save the IP address. .


strcpy (g_szIpAdress,inet_ntoa (*(struct in_addr *)*IpAdress->h_addr_list));。.


return TRUE;. .


}。.


//================================================ =====================================。 .


BOOL SetDlgIpAndPort()。.


(. .


SetDlgItemText(g_DialogHwnd,IDC_IPADDRESS,g_szIpAdress);。.


SetDlgItemInt (g_DialogHwnd, IDC_PORT, 5200, FALSE);. .


return 0;。.


). .


DWORD InitSocketVersion()。.


(. .


WSADATA wsaData;。.


return WSAStartup (MAKEWORD (2, 2), & wsaData);. .


}。.


//================================================ ==========================================。 .


BOOL InitSocket()。.


(. .


G_Socket = socket (AF_INET, SOCK_STREAM, 0);//create a TCP SOCKET mode of the number.


if (INVALID_SOCKET == g_Socket) / / determine whether to create success. .


{。.


MessageBox (g_DialogHwnd, "Failed to create SOCKET", "error", MB_OK);. .


return FALSE;。.


). .


//Remove the port from the dialog box.


BOOL b_ensure;. .


int port;。.


port = GetDlgItemInt (g_DialogHwnd, IDC_PORT, & b_ensure, FALSE);. .


if(FALSE==b_ensure)。.


(. .


MessageBox (g_DialogHwnd, "port failure", "error", MB_OK);.


return FALSE;. .


}。.


/ / Obtain IP address from the dialog. .


char HostAdress[20];。.


if (0 == GetDlgItemText (g_DialogHwnd, IDC_IPADDRESS, HostAdress, sizeof (HostAdress))). .


{。.


MessageBox (g_DialogHwnd, "Failed to obtain IP", "error", MB_OK);. .


return FALSE;。.


). .


//Fill the address structure.


sockaddr_in addrSock;. .


addrSock。.sin_family=AF_INET;。.


addrSock. . Sin_port = htons (port);. .


addrSock。.sin_addr。.S_un。.S_addr=inet_addr(HostAdress);。.


/ / Bind. .


if(SOCKET_ERROR==bind(g_Socket,(SOCKADDR*)&addrSock,sizeof(addrSock)))。.


(. .


closesocket(g_Socket);。.


MessageBox (g_DialogHwnd, "BIND failure", "error", MB_OK);. .


return FALSE;。.


). .


return TRUE;。.


). .


//=================================================================================。.


void __cdecl ReceiveMessage (void * lpParameter). .


{。.


sockaddr_in m_Client;. .


int ClientLen=sizeof(sockaddr_in);。.


/ / Here is the beginning of the error, TNND take actually to accept on a big loop out wrong. .


//m_ClientSocket=accept(g_Socket,(SOCKADDR*)&m_Client,&ClientLen);。.


/ / Char szRecvBuffer [1024];. .


while(1)。.


(. .


g_ClientSocket=accept(g_Socket,(SOCKADDR*)&m_Client,&ClientLen);。.


char szRecvBuffer [1024];. .


if(SOCKET_ERROR==recv(g_ClientSocket,szRecvBuffer,1024,0))break;。.


sprintf (szTempBuffer, "% s", szRecvBuffer);. .


PostMessage(g_DialogHwnd,WM_RECVDATA,0,0);。.


). .


}。.


//================================================ =================================。 .


BOOL OnSend()。.


(. .


char szStrSend[1023];。.


char szName [8]; / / name. .


char szTempSend[1023];。.


GetDlgItemText (g_DialogHwnd, IDC_SENDTEXT, szStrSend, 1023);. .


GetDlgItemText(g_DialogHwnd,IDC_NAME,szName,8);。.


sprintf (szTempSend, "% s:% s", szName, szStrSend);. .


send(g_ClientSocket,szTempSend,1024,0);。.


return TRUE;. .


}。.


out momory burst of spinning memory has overflowed. This pain often on the phone has, quote a phrase used slang used in mobile phones memory to be tightening their belts. While it is not surprising G pc memory, but the phone can only to K to mind a certain comrades may have immediately jumped in on the M's, remember that most of China is not rich low-end mobile phones are . I like to write mobile apps back to the dos age (self-comfort that have condensed out of a lot of times I might be the next master). Returning to do memory optimization can be summarized as the following method.Code optimization, image optimization, third-party tools to optimize etc..


1. Code optimization. .


Memory overflow and code can't escape, .99 percent of 99. java knows that the garbage collector is one of the key benefits of java and C ++ to laugh at. Apparently this feature as a code writer, a lot of things, but this feature has brought a lot of risk. For example in the game, which often have different scenes of the switch, such as game logic to return to the main menu logic, game logic object attitude that many people would choose to forget waiting for the garbage collector to collect carcasses. At first glance, it seems there is nothing wrong with the garbage collector to rehabilitation. In fact not a real-time garbage collector, unlike C + +, Delete statements do not immediately release the memory. When the game logic from the logic of the main menu, then switch to the two objects exist then the memory may not be enough. Read a lot of people here will find that in fact the garbage collector is not in j2me how useful, from a point of speaking in j2me all garbage must be manually released, in addition to all objects other than simple types must be explicitly set empty for example, imgs = null; actually java provides a good tool to find the memory overflow, java. .lang。.Runtime。.freeMemory() 。 It returns the current number of remaining memory, it is the appropriate place in your code, you can effectively monitor the memory usage. A large part of the j2me programmers before you are engaged in pc software development work, sufficient memory to write the code to hide many bad habits. Follows:.


/ / A not empty. .


a=new Logic();。.


Many people may object to this, they would argue that the new object will flush old objects and release memory. That which contains two questions: 1. . The first section of code is to create objects and then carry out an assignment, meaning that during this period there exist two objects which are likely to cause overflow. 2. . This will hinder the work of garbage collector. .


Better worded as follows:.


a = null;. .


a=new Logic(); 。.


Although trouble spots in j2me in or necessary. Then see next cases. .


DrawString ("game-time:" + time, 50, 50, .LEFT | Graphics Graphics.. .TOP);.


"Game Time:" + time is perfect in the paint () method which is brush it again each time displayed on the screen. Crisis are often hidden in the beautiful appearance, the statement will cause a new memory re-allocation to store the "game time:" + time completion and later shown in garbage collector must be released, with the double time, and prone to memory overflow. And so on repeating the method of implementation to avoid duplication in the definition of the object. And paint () method similar to the loop had a similar situation exists. .


All object initialized in the constructor must longer in right now, most people usually put the current logic to be used to initialize all of the resources..


A large portion of the memory overflow occurred in the constructor. The peak memory usage is so in the constructor to avoid this peak can effectively prevent the overflow. Suggest the best approach is to first use initialization. As follows. .


if (img==null){。.


/ / Initialization. .


}。.


Now playing games often require an array of maps, sound array, there are many other resources, these resources can be placed in the code are also some documents which can be placed. .


It is strongly recommended that these resources are placed in a file necessary to load in. If the resource file in the code you will occupy no small snippets of code space, but is generally a running program is loaded into memory among them.


In addition to the methods listed above there are some people outside the well-known way, such as closed useless rms, close useless network connection, close the useless flow. The right to stop the thread. Good procedural framework to reduce coupling of the code is also a good way, either in code debugging, memory release can be a very clear analysis. .


II. Picture optimization.


j2me memory killer is undoubtedly none other than non-picture, a picture can take 3k 20 k of memory do not believe all the remaining memory to load before and after comparison to see print. Therefore, to prevent memory overflow is the most direct way to start from the picture. .


1. picture compression: most people immediately think of this approach. Well this is the most effective. Photoshop photo to produce finished do not select the "Save as", select "save for Web" option can be compressed inside, especially the color that the smaller the better but the corresponding image will be distorted. Do not think that this is done.


In fact the picture can be compressed again, there are many similar online tools. Recommend a software that can compress png format xat. . Com Image Optimizer good results. Often have a 70% compression rate and image without distortion. .


If you have more than one specification of the same picture, it is recommended that you put it into a piece of the picture. There are two reasons for this:.


1, This saves storage space and memory space. We can be a test of the contents of the 10 pictures of them on a comparative look at the file size has not changed. .


2, 10 picture 10 image object requires 10 IOPS didn't waste time wasting memory. When I found this good is excited to put all the pictures are saved into a picture, a memory, presumably due to overflow ... everyone knows!! picture is too big not to picture the different interface together otherwise often lose.


Mapping when there are more details to note, the number of colors, to resolution, image mode (preferably indexed color), canvas size will affect the image size. .


3. Optimizing tool.


Everyone knows Obfuscator is designed to protect the code in order to increase the difficulty of decompilation (think this is a programmer's IQ laugh). Actually use it to optimize the program is a good choice, at least two advantages:. .


1. compression program size. A program can often 60k pressure off 10k. 10 k space for writing the low-end mobile phones simply snow programmer songtan, how many more than 64 k limit games have received the grace of it;.


2, to save memory space. Feet also be absurd to think less code memory of the code naturally short. .


In the development of network applications, conduct business and communication processes are often contradictory. This contradiction is primarily due to the fact that is not synchronized between the two. For example, the larger the network delay, but the actual business processing speed is relatively fast, so if a transaction has been processed and then waiting to be sent successfully to the next transaction will significantly reduce efficiency. Of course, if you must wait for the subject. However, if the treatment does not need to rely on sending success, such as streaming media or some network games, etc., you should consider a better way to solve this problem.


One solution is to create a send message queue and then processes the data to be sent into the queue, then the communication process from the other end of the queue to send out data. This is also the producer of a standard consumer model: The Handler is a producer, a consumer communications program, both run in different threads, the product is to be sent data. Uninterrupted business processes that can handle its own logic, just take the results of each treatment can be placed in the send queue. .


Since it is a multithreaded application, inevitably involves a thread synchronization problem. While the consumer producer model in any operating system can be found in textbooks, here is my implementation of VC in the message queue.


typedef deque. .


MsgQueue;。.


MsgQueue msgQueue; / / message queue. .


SOCKET connectionSocket;。.


HANDLE hSThread;. .


DWORD dwSThreadId;。.


HANDLE sSemaphore;. .


HANDLE sMutex;。.


/ / Socket set up other code omitted. .


//Create a thread.


hSThread = CreateThread (..


NULL, 。.


0,. .


sendProc, 。.


0,. .


0, 。.


& DwSThreadId);. .


//The mutex object.


sMutex = CreateMutex (NULL, FALSE, NULL);. .


//Semaphore.


sSemaphore = CreateSemaphore (NULL, 0, 128, NULL);. .


//Send a message to a thread.


DWORD WINAPI sendProc (PVOID lpParam). .


{。.


while (true) (. .


//Wait for the queue is not empty.


WaitForSingleObject (sSemaphore, INFINITE);. .


//Wait for the queue without action.


WaitForSingleObject (sMutex, INFINITE);. .


MyMsg msg;。.


if (msgQueue.. empty () == false) (. .


MyMsg *pmsg=&(msgQueue。.front());。.


memcpy (& msg, pmsg, sizeof (msg));. .


}。.


ReleaseMutex (sMutex);. .


if(send(connectionSocket, (char *)(&msg), sizeof(msg), 0) ==SOCKET_ERROR){。.


int err = WSAGetLastError ();. .


//Handle errors.


). .


else{。.


/ / Successfully sent the message out of the column. .


WaitForSingleObject(sMutex, INFINITE);。.


msgQueue. . Pop_front ();. .


ReleaseMutex(sMutex);。.


). .


}。.


). .


//Sending data function, a message is placed in the queue tail.


void sendMsg (MyMsg msg). .


{ 。.


/ / Wait for the queue-free operation. .


WaitForSingleObject(sMutex, INFINITE);。.


/ / Into the team. .


msgQueue。.push_back(msg);。.


/ / Release the mutex object. .


ReleaseMutex(sMutex);。.


/ / Notice there is new information such as the signal increased 1. .


ReleaseSemaphore(sSemaphore, 1, NULL);。.


). .


In this way, we have completed a basic model of the send queue, it is clear that this model improves data processing efficiency. The above error handling Department according to the circumstances of access you have several choices, such as discards the message, or sent again, and so on. In this model, we can give each message data, add some additional information, such as priority and so on, to accommodate more complex requirements of your applications. In short, the send queue to handle network data provides a kind of thought.


Introduction. .


Now the mobile phone as an entertaining electronic communication equipment has already exceeded the original call, SMS, and other basic communication features, more and more entertainment and leisure software such as games, e-books, music editing, photography and image processing, etc., are prevalent in today's various brands of mobile phones. Among them, the game software represent a large proportion. Since we already have a mobile phone software development process, why not develop a personalized mobile gaming? this article describes a simple image-based mobile game – "take the skin the cat Wars Rogue process of making a rabbit". Flower cat skin naturally I keep the cat, and interested readers can make their favorite game to play the protagonist Amaoagou fully display the charm of DIY! . .


The design of the game.


First of all mobile game developers need to plan better the overall process and specific rules of the game (or game play), then this script can be carried out according to achieve a specific code. Space limited by the article, the design can not play this game too complicated. First, locate the game of games for the man-machine games, starting the first run showed the cover of the game screen, stop automatically after a few seconds into the role of the selection screen, select a role in the players after the game. Beginning of the game randomly decided which side first.Man and machine in 3 x 3 size chessboard grid alternating beginning economies (both the checker pattern is different), and only allow without falling over an empty grid. As long as there is a party to the falling pieces in horizontal, vertical, slant on a total of three is the winner. If the Board is full of both not direction to achieve three piece is it is a draw. Whatever the outcome, after the end of each Bureau shall show the results and total score victory or defeat. The player can select Exit or start a new game. This is the game's main frame and basic rules of the game, then the encoding is carried out accordingly.


Game frame structures. .


Figure 1.


First set up the project and build a new Midlet TicTacToe join and continue to add ChoosePieceScreen, GameScreen and Game 3 class to the project. As a game, if still using the cover of the text to make the software do not seem too professional. If you want to use J2ME program picture, you must pre-convert it to png format picture and then right click in the project, from the File menu select New menu item will pop up dialog box as shown above.Beginning in the lower part is hidden, you need to click on the Advanced button to display it. Select the link to the file system files and browse dialog box to specify the path to the picture you want to add. Last in the file name box, enter the name of the file and click on the picture, the picture is added to the project. Following the startApp () adopted the following code to load a picture and a message box will display it:.


Image logo = null;. .


try {。.


logo = Image. . CreateImage ("/ logo.. Png");. .


}catch (IOException e) {}。.


Alert splashScreen = new Alert (null, "Lang sharp for 2004 \ n Copyright (c) \ n2004-2005", logo, AlertType.. INFO);. .


SplashScreen. .setTimeout (4000);//delay 4 sec.


Figure 2 Figure 3 Figure 4 Figure 5. .


In a continuous display of Figure 2, four seconds after entering the role selection interface (Figure 3):.


choosePieceScreen = new ChoosePieceScreen (this);. .


Display。.getDisplay(this)。.setCurrent(splashScreen, choosePieceScreen);。.


This task is implemented in ChoosePieceScreen class, the main function of the load on the role of the icon display, and verification of the selected role. In its first constructor specifies a list of options for the way the current interface, and then append () to load the image and the corresponding list of words to associate. Finally, in response to user input selection must also call setCommandListener () to detect the occurrence of key events and commandAction () method to achieve recognition of the role selected:. .


Super ("Please choose:", .IMPLICIT List. ");//set the list to select.


this. . Midlet = midlet;. .


Append (CAT_TEXT, loadImage ("/cat. .png"));//add the image option to the list.


append (RABBIT_TEXT, loadImage ("/ rabbit.. png "));。 .


SetCommandListener (this);//listen for key response.


... .... .


public void commandAction(Command arg0, Displayable arg1) {。.


if (arg0 == List.. SELECT_COMMAND) (. .


//Check whether to list the key response.


/ / Test the user selected option. .


boolean isPlayerCat = getString(getSelectedIndex())。.equals(CAT_TEXT);     。.


midlet. . ChoosePieceScreenDone (isPlayerCat); / / enter the game screen. .


}。.


). .


This is done by detecting the user to select the list item text to determine if the player chose to spend leather cat or rogue isPlayerCat rabbit and through variable to identify the choosePieceScreenDone () method to create a new GameScreen objects as the current display interface to start a new game. GameScreen class is responsible for drawing the game interface, such as on board and two pieces of draw and moved to the cursor's handle, etc..


Game programming interface. .


Chess game the main interface is the chess board and pieces. The first calculation based on screen size and chess chessboard grid spacing: of size.


screenWidth = getWidth ();// get the screen size. .


screenHeight = getHeight();。.


if (screenWidth> screenHeight) (/ / calculate the size of the grid. .


boardCellSize = (screenHeight – 2) / 3;。.


boardLeft = (screenWidth - (boardCellSize * 3)) / 2;. .


boardTop = 1;。.


) Else (. .


boardCellSize = (screenWidth – 2) / 3;。.


boardLeft = 1;. .


boardTop = (screenHeight – boardCellSize * 3) / 2;。.


). .


Draw checkerboard background color, first empty the whole canvas and then draws up rows, respectively, black grid:.


g. . SetColor (WHITE);. .


g。.fillRect(0, 0, screenWidth, screenHeight);。.


g. . SetColor (BLACK);. .


for (int i = 0; i < 4;i++) {。. 4;i++)="">


g. . FillRect (boardLeft, boardCellSize * i + boardTop, (boardCellSize * 3) +2,2);. .


g。.fillRect(boardCellSize * i + boardLeft, boardTop, 2, boardCellSize * 3);。.


). .


Piece of drawing can be done by specifying the location of the mounted image is displayed. For example, take the skin the cat chess draw you can code to load the prepared image (size to match the grid) and then call the drawImage method in the specified location. Rascal rabbit pieces for the drawing simply by changing the images to be loaded:.


private void drawCat (Graphics g, int x, int y) (. .


Image image = null;。.


try (/ / load the image. .


image = Image。.createImage("/cat。.png");。.


) Catch (Exception e) (). .


G. .drawImage method (image, x + y + 1, 1, 0);//draw the image at the specified location.


). .


As regards the processing, moving the cursor can be the first to be moved to draw a grid inside the new, four-sided and checkerboard grid connected black rectangle, then the location in the grid with the original grid background redraw to erase the traces of the last draw the cursor. Traces of the old cursor erasing, you first need to determine if the position is blank or draw a checker pattern, and on the basis of the judgment or the results of the white rectangle is drawn to reload the images currently displayed pieces. Figure 4 some screenshots of the game after the round, as long as the game's not over, the draw module will repeatedly call execute. If the program is part of intelligent control determine the outcome of the game is over and the results are given, then the board will not show the interface but through the following code in a particular font on a white canvas to draw the current record (Figure 5) . .


Font font = Font. .getFont (.FACE_SYSTEM Font Font.,., Font .STYLE_PLAIN. .SIZE_MEDIUM);//set the font.


int strHeight = font. . GetHeight ();. .


int statusMsgWidth = font。.stringWidth(statusMsg);。.


int tallyMsgWidth = font. . StringWidth (tallyMsg);. .


int strWidth = tallyMsgWidth;。.


if (statusMsgWidth> tallyMsgWidth). .


strWidth = statusMsgWidth;。.


int x = (screenWidth - strWidth) / 2; / / calculate character drawing location. .


x = x < 0 ? 0=""> 0 : x;。.


int y = (screenHeight - 2 * strHeight) / 2;. .


y = y < 0 ? 0=""> 0 : y;。.


g. . SetColor (WHITE); / / white empty canvas. .


g。.fillRect(0, 0, screenWidth, screenHeight);。.


g. . SetColor (BLACK); / / black display information. .


g。.drawString(statusMsg, x, y, (Graphics。.TOP | Graphics。.LEFT));。.


g. . DrawString (tallyMsg, x, (y + 1 + strHeight), (Graphics.. TOP | Graphics.. LEFT));. .


This interface is displayed, if the user press exit or start key, the method will pass the commandAction following the execution of the program exit code processing or play a new game:.


if (arg0 == exitCommand) / / exit. .


midlet。.quit();。.


else if (arg0 == newGameCommand) / / start the game. .


initialize();。.


Realization of artificial intelligence. .


If the frame is described earlier, the interface is the flesh and bones, then the next will be presented by the artificial intelligence part of it can be said to be the soul of the whole program. It will be playing the legitimacy of both the beginning economies of detection, intelligent computer chess game ends calculated, as well as on the results of the testing of victory or defeat. These need to be reasonably designed to achieve high efficiency of the game. Considering the rules of the game has always been built around both sides of the checker to arrange shapes, so you can make a major factor in the grid as a chessboard design. Press left to right, top to bottom order, starting with the order from 0 to 9 on the board grid number, we can draw the following groups of victory conditions: 0,1,2; 3,4,5; 6 7,8; 0,3,6; 1,4,7; 2,5,8; 0,4,8; 2,4,6. As long as there are three pieces of the location of the party line in which any group can identify the party to win (the reader can verify this in the paper). In the program implementation process in order to win WINS array records the conditions mentioned above, and after each line to compare chess to determine whether the winning party game production.The following summarizes the main lines of thinking the computer chess artificial intelligence design presentation.


First of all, games on the computer a clear purpose: to win, if winning is temporarily unable to stop the player wins, if both the following may be temporarily unable to win some "handy chess." Erupted in the calculation of a suitable location will add to the side of the line of chess records (Da Pu) for later use. It can write the following code:. .


Int move = getWinningComputerMove ();//if it is possible to immediately win at the location where the winner.


if (move == -1) (. .


//If the player is going to win the player will win the next child of the location.


move = getRequiredBlockingComputerMove ();. .


If (move ==-1)//if both sides are temporarily unable to win the next throw stones.


move = getRandomComputerMove ();. .


}。.


computerState | = bit (move); / / all the positions occupied by the current computer. .


Among them, all through the getWinningComputerMove method may be a position (i.e. not beginning economies of grid) enumeration, intelligent judge computer where the next step: to win.


int move = -1;. .


for (int i = 0; i < 9;++i) {。. 9;++i)="">


if (isFree (i) & & isWin (computerState | bit (i))) (. .


Move = I;//find a winning position..


break;. .


}。.


). .


If the loop is still does not find the winning position indicates that currently characterizes the temporarily unable to win, there is a need for further call getRequiredBlockingComputerMove method to calculate the next round each other without the possibility of winning, its implementation code and completely similar, only getWinningComputerMove is based on the player's line of chess records playerState alternative computer chess records computerState rows. More than a few lines of code that constitutes the core of computer games on some of the artificial intelligence algorithms, artificial intelligence in the realization of the obvious and not so complicated and difficult to imagine. .


Summary.


Through the introduction of this series, one after another to J2ME mobile application development process in general made to the reader a more systematic and comprehensive presentation. This particular cell phone games on the graphical presentation sure readers have different stimulating, and the procedural framework described in this article is completely generic, the reader only on this basis can be redesigned to achieve a similar play the game Games such as "Huarong", "Tetris" and so on. The series development environment is:. .


Windows 2000 Professional + SP4;。.


Java2SDK 1. .5. .0;. .


J2ME Wireless ToolKits 2。.1;。.


SonyErisson J2ME SDK (WTK 1. .0. .4);. .


SonyErisson T628;。.


Eclipse 3. .0. .1-Win32;. .


EclipseMe 0。.5。.5;。.


NLpack-eclipse-SDK-3. .0. . X-win32. .


This is me from the beginning January 6, New York, Forum Embedded Development Edition for the first time since the publication of articles, plus articles previously trivial for a total of 30. Research, the more the more feel understood too little, in fact-driven development, I was a newbie, I would like to once again start to do drive n years experience giving it out, let us reduce the number of driver source code and the lack of comments the pain.


I think even if the reader read the Microsoft-driven development of training materials on the CE and the driving part of the help document, the mind is still a loss. Order to truly understand the driver must be integrated with some of the driver source code, in this my serial port driver (COM16550) in the initialization process for the clues simple to talk about the basics of driver development. .


Windows CE of serial driver will be able to handle all I/O behavior similar to the serial port device, including 16450, 16550 UART (universal asynchronous receiver transmitter chip) devices and some DMA devices, common with 9-pin serial, infrared Modem I/O port, etc. \Public\Common\OAK\Drivers\Serial% _WINCEROOT% directory, a subdirectory contains COM_MDD2 new serial port driver MDD layer function code. COM16550 subdirectory contains the serial driver PDD layer code. SER16550 subdirectory contains a series of functions dedicated to controlling and 16550-compatible UART, so the main job is to PDD layer of function call SER16550. There is also a ISR16550 subdirectory contains the serial driver can be installed on a dedicated ISR (interrupt service routine), and many of the hardware device drivers can be installed using the default CE ISR giisr. . Dll. General serial device examples and the corresponding significance of the registry settings are as follows:. .


[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial_1]。.


Key. .


Significance.


"SysIntr" = dword: 13. .


The interrupt for serial port 1 to decimal 13 ID.


"IoBase" = dword: 02F8. .


Serial port 1 of IO space first address in hexadecimal 2F8.


"IoLen" = dword: 8. .


Serial port 1 IO space has a length of 8 bytes.


"DeviceArrayIndex" = dword: 0. .


Serial port 1 index, is the origin of the 1.


"Order" = dword: 0. .


Serial port 1 driver load order.


"DeviceType" = dword: 0. .


Serial port 1 device type.


"DevConfig" = hex: 10,00 .... .


Serial port 1 and Modem equipment communication configuration, such as the baud rate, parity checking, etc..


"FriendlyName" = "COM1:". .


Serial port 1 the Dialer display name.


"Tsp" = "Unimodem.. Dll". .


Serial port 1 is used to communicate with the Modem device to be loaded when the TSP (TAPI Service provider) DLL.


"Prefix" = "COM". .


Serial port 1 prefix of stream interface.


"Dll" = "com16550.. Dll". .


Serial port 1 driver DLL.


SysIntr by the CE in the file Nkintr. . H in the pre-defined, unique identifier for the interrupt device. OEM can file Oalintr. . H defined in their own SysIntr.Common predefined SysIntr have SYSINTR_NOP (interrupted only by the ISR processing, IST is no longer processing), SYSINTR_RESCHED (re scheduling threads) SYSINTR_DEVICES (predefined by the CE device interrupts ID base values), the SYSINTR_TIMING SYSINTR_PROFILE, etc., are based on SYSINTR_FIRMWARE SYSINTR_DEVICES defined. IoBase is the serial port 1 IO address space of the first address, IoLen is the IO space size. IO address space exists only in x86 platform, if the other platform hardware registers must be mapped to the physical address space, sub-key name for MemBase and MemLen. In the x86 platform more hardware registers IO space limitations due to physical address space are also mapped. DeviceArrayIndex is a device index, used to distinguish the same types of equipment.Prefix is the prefix of the streaming driver, when an application calls CreateFile function parameters passed COM1:, the file system is responsible for communicating with serial port drivers, serial drivers, is in the CE device startup.. .exe.


The following function COM_Init from MDD layer began to explore the serial port driver initialization. COM_Init serial devices to be detected in the Device Manager after the device. . Exe calls, the main role is to initialize the device, it is the only parameter Identifier from the device. . Exe pass, its type is a string pointer, string content is HLM \ Drivers \ Active \ xx, xx is a decimal number (device..Exe will keep track of each driver, load the driver records in the Active key).


COM_Init first assigned a HW_INDEP_INFO structure, this structure is independent of the hardware serial port header information (MDD, PDD, SER16550 contains its own unique structure, the specific definition of structure, see the serial driver source code), after the initial distribution structure of each member of the structure after the initialization call OpenDeviceKey ((LPCTSTR) Identifier) Open HLM \ Drivers \ Active \ xx \ Key contains the registry path, where path is generally HLM \ Drivers \ BuiltIn \ Serial that the serial driver information in the registry location。 COM_Init then HLM\Drivers\BuiltIn\Serial Priority256 DeviceArrayIndex, under query, Priority256 specifies the priority of the driver, if you do not use the default priority. The next call GetSerialObject (DeviceArrayIndex), this function is defined by the PDD layer, return HWOBJ structure this structure mainly contains the definition of PDD and SER16550 function pointer . .


In other words, by calling this function MDD can call a function of the underlying implementation. The next most work is a call to the underlying function to initialize. The first call to the underlying function SerInit main settings set by the user's hardware configuration, for example, the line control, baud rate. It calls Ser_GetRegistryData function are preserved in the registry of hardware information, Ser_GetRegistryData in-house call system of DDKReg_GetIsrInfoDDK and DDKReg_GetWindowInfo functions are in the HLM \ Drivers \ BuiltIn \ Serial saved under the IRQ, SysIntr, IsrDll, IsrHandler, IoBase, IoLen.IRQ is logical interrupt number, IsrDll represents the current driver installable ISR is the name of the DLL that installs the IsrHandler ISR function name.


Here the way to install ISR, readers of my previous articles published on OAL OEM can understand the function associated in OEMInit IRQ and SysIntr, when the hardware device interrupt occurs, ISR would prohibit the same level and low-level interrupts, then According to IRQ return associated SysIntr, the kernel according to the corresponding ISR to return SysIntr wake of IST (SysIntr create the Event associated with IST), IST call InterruptDone after treatment interruption interruption ban lifted.In the associated disadvantages in OEMInit is once compiled CE kernel is unable to add this Association, but some hardware devices are ready to plug or shared interrupts must be associated with such a hardware solution that is installable ISR, installable ISR is designed to handle the specified hardware device will interrupt, so if your hardware device requires an installable ISR must be added in the registry, IsrHandler IsrDll. Most hardware devices using CE default installable ISR giisr. .dll, format:.


"IsrDll" = "giisr.. Dll". .


“IsrHandler”=”ISRHandler”。.


If a driver needs to be installed on the hardware ISR and the developers do not want to write your own, you can use giisr. . Dll to achieve. In addition to the registry to add as shown above, but also in the driver registration call the correlation function can be installed ISR. Pseudo code as follows:. .


g_IsrHandle = LoadIntChainHandler(IsrDll, IsrHandler, (BYTE)Irq);。.


GIISR_INFO Info;. .


PHYSICAL_ADDRESS PortAddress = {PhysAddr, 0};。.


TransBusAddrToStatic (BusType, dwBusNumber, PortAddress, dwAddrLen, & dwIOSpace, & (PVOID) PhysAddr). .


Info。.SysIntr = dwSysIntr;。.


Info. . CheckPort = TRUE;. .


Info。.PortIsIO = (dwIOSpace) ? TRUE : FALSE;。.


Info. . UseMaskReg = TRUE;. .


Info。.PortAddr = PhysAddr + 0×0C;。.


Info. . PortSize = sizeof (DWORD);. .


Info。.MaskAddr = PhysAddr + 0×10;。.


KernelLibIoControl (g_IsrHandle, IOCTL_GIISR_INFO, & Info, sizeof (Info), NULL, 0, NULL);. .


LoadIntChainHandler function is responsible for registering an installable ISR, parameter 1 is the DLL name, parameter name for ISR function 2, parameter 3 for IRQ. TransBusAddrToStatic function behind. If you want to use giisr. .dll as installable ISR, you must first populate GIISR_INFO structure, CheckPort = TRUE indicates giisr to detect specified registers to identify current issue disruptive is this device. PortIsIO a register address belongs to which address space, FALSE space that is the default, TRUE, said IO space. UseMaskReg = TRUE indicates the device has a mask register, specifically whether the current device is specified interrupt source, which is an interrupt, but MaskAddr that the address mask register. If the Info. .Mask assignment, then PortAddr represents a special register address, this register's value and the value of the Mask & operations results if true, it proves that the current equipment is the interrupt source, otherwise it returns SYSINTR_CHAIN (that represents the current ISR not handling the interrupt, the kernel calls the ISR next ISR in the chain) and, if TRUE, then UseMaskReg = MaskReg registers the value of the specified register PortAddr value & operations results if true, it proves that the current equipment is interrupt sources.


Function SerInit then call the function Ser_InternalMapRegisterAddresses conversion IO address and map addresses, Ser_InternalMapRegisterAddresses in-house call system provides HalTranslateBusAddress (Isa, 0, ioPhysicalBase, & inIoSpace, & ioPhysicalBase) function and bus-related addresses into system addresses, parameter 1 is the bus type, Parameter 2 for the bus number, parameter 3 is to convert the address (PHYSICAL_ADDRESS type, actually LARGE_INTEGER type), 4 parameters specify the register address is the physical address space or IO address space, the parameter 5 to return the physical address of the converted。 Observation of the source code to know if HalTranslateBusAddress is the x 86 platform, this function in addition to the parameters of 3 to 5 for the remaining parameters of doing nothing, rather than the x 86 platform, the value of the inIoSpace resets to 0, which means that there must be a physical address. Before calling HalTranslateBusAddress to determine from the registry of the register address actually belongs to which address space, such as:.


ULONG inIoSpace = 1; / / / 1 that is the IO space. .


PHYSICAL_ADDRESS ioPhysicalBase = {iobase, 0};//equivalent to ioPhysicalBase. .LowPart = iobase.


After the address conversion to the converted address is mapped to the driver (usually the same as IST and applications run in user mode) to access the virtual address space (0 × 80000000 below) and the ISR can access the static virtual address space ( 0 × 80000000 and above). For example:. .


////If the address is a physical address space.


ioPortBase = (PUCHAR) MmMapIoSpace (ioPhysicalBase, Size, FALSE);. .


TransBusAddrToStatic(Isa, 0, ioPhysicalBase, Size, &inIoSpace, ppStaticAddress);。.


MmMapIoSpace function is responsible for the physical address mapped to the driver to access the virtual address space, through the respective in-house source of MmMapIoSpace call:. .


pVirtualAddress =VirtualAlloc(0, SourceSize, MEM_RESERVE, PAGE_NOACCESS);。.


VirtualCopy (pVirtualAddress, (PVOID) (SourcePhys>> 8), SourceSize, PAGE_PHYSICAL | PAGE_READWRITE |..


(CacheEnable ? 0 : PAGE_NOCACHE));。.


VirtualAlloc and MemLen-size distribution of a virtual address space, because the parameters a 0, so the kernel automatically assigned. General MemLen less than 2MB, so will the application's address space allocation. VirtualCopy responsible for the physical address of the hardware device registers with the VirtualAlloc assigned to do a mapping of virtual addresses, so that the driver access PvirtualAddress actually access the first register.Because the hardware device registers physical address must be in 512MB (CE supported RAM max) above, except for the last parameter to PAGE_PHYSICAL, the second argument to the physical address is 8 bits to the right (or divided by 256).


Mapping hardware registers, of course PAGE_NOCACHE must be added. TransBusAddrToStatic function is responsible for the physical address mapped to the ISR can access the static virtual address space, when the interruption share, ISR is responsible for a certain access to hardware devices to determine the interrupt source register, it will register the physical address mapped to the static virtual address space is necessary (ISR can only access static virtual address space).The so-called static virtual address space is defined in the OEMAddressTable to virtual address space (which is, of course, 0 × 80000000 above). In general the x 86 platform only defines the physical address of the RAM with virtual address corresponding to the relationship, and the hardware device register address does not in the table definition, so if you want to create a static virtual address space for ISR access, you must call this function before CreateStaticMapping 0xC4000000 0xE0000000 to virtual address space allocation. TransBusAddrToStatic function is called internally CreateStaticMapping function. Note: The hardware device register addresses can also be defined in OEMAddressTable. .


////If the address space belonging to IO.


ioPortBase = (PUCHAR) ioPhysicalBase. . LowPart;. .


*ppStaticAddress=ioPortBase。.


This is only the x86 platform, is able to directly access IO space, even in user mode. .


SerInit function then initialize the struct members, SER_INFO after calling the function, this function SL_Init in ser16550, defined in the structure initialization SER16550_INFO body structure to save serial 8 register address. SerInit function completes COM_Init function to create a receive buffer, and then call StartDispatchThread function initializes interrupted and create IST. StartDispatchThread function internally calls the function associated SysIntr InterruptInitialize and Event, and then tell the kernel function calls InterruptDone interrupt the current serial port can handle, then call the CreateThread function creates IST thread. (Over it, and then went on and the serial port on hardware related, and saw a lot of code I did not bother comment!!). .


Motorola A6288, 388-type mobile phone debut, accompanied by a bright spot: itself with KJava virtual machine (KVM), to be able to download a variety of ways and can run the user written with MIDP1 KJava. .0 specification of the application. Subsequently, many phone support KJava. In fact, not only for A6288 KJava, etc mobile authoring application, but also for other mobile information device to write the application. Such procedures and general embedded Java programs, compared with that of the special features, this article will KJava and its application are introduced. .


1. Introduction to .KJava.


Java language was originally designed for an embedded system products, in the Java 2 in order to distinguish between different applications, but also broken down into Java 2 Enterprise Edition (J2EE), Java 2 Standard Edition (J2SE) and Java 2 Micro Edition (J2ME) are three versions, which also known as J2ME KJava. .


In J2SE, Java specification which defines the core class libraries (i.e. Java. *) and the extension class libraries (i.e., Javax. *), it is mainly located in the client application. J2EE is mainly targeted at the server-side application that support J2SE defined core class libraries have some extended function library, such as support for JSP Serverlet/Javax. .servlet. * etc. J2ME only supports J2SE class libraries defined part of the core functions, in addition, in the J2ME also added some support for embedded systems to extend the class library, such as Javax. . Microedition. .* And so on. .


The same is embedded devices, their computing capacity, power supply, there is still a very big difference. Connected Limited Device Configuration (CLDC) specification describes those operations limited, electricity supply limited embedded devices such as mobile phones; and Connected Device Configuration (CDC) specification describes a like TV set-top box so that the operation is, there is an ample supply of electric power systems. J2ME support these two different configurations. In the same configuration, J2ME passed Profile to define a specific embedded device associated with the expansion of class libraries. .


In a traditional Java environment, in order to prevent the program has been tampered with in transit, and other security considerations, when the program is class loader, followed by a Byte Code audits, audits by later allow Java virtual machine to execute it. This operation is performed on a PC from the speed point of view no problem, but in the CLDC described this type of system, in order to make the exact same treatment, treatment capacity and the speed was somewhat limited. To solve this problem, programmers need more programming after doing something extra: pre-audit. Through pre-audit will be in the final De 加入 some special types of documents in the 符号, when the program to the target platform up Zhixing O'clock, Ke Yi at a faster rate Wancheng Shenhecaozuo. .


2. Motorola SDK。.


Motorola A6288 mobile phone to type the following example to explain KJava specific programming. Motorola A6288 used in the two CPU, one is the Dragon Ball VZ 33MHz, for personal data processing, communications processing for another one. System for the user reserved memory space of about 1M to support the line MIDP 1. .0 Specification KJava applications. We can go to Motorola's official website to download tools: CodeWarrior (trial version), the following content is based on the development tools. .


In CodeWarrior, it includes the Motorola SDK, it implements the CLDC and MIDP 1. .0. It implements a Java class library for CLDC. .io. * Java .lang,... *, Java. .util. * and Javax. .microedition. .io.. * implementation of MIDP class library are Javax. .microedition. .lcdui. *, Javax. .microedition. .rms and Javax. micromedition. . Midlet. .


We are prepared under the PC environment embedded in the browser of a Java program called Applet, written procedures must be from the Applet class extends its own class. And for mobile devices such as mobile information prepared by the program is called the MIDlet KJava, the program must be from the MIDlet class extends its own class. A MIDlet program has the following typical structure:.


public class HelloWord extends MIDlet. .


{。.


HelloWord (). .


{……}。.


public void startApp (). .


{……}。.


public void pauseApp (). .


{……}。.


public void destroyApp (boolean unconditional). .


{……}。.


). .


When the program is started, the startApp () system call. (When the program begins to run when you start the process, the program is suspended after can be started again). When the program is temporarily stops running, pauseApp () is invoked. When the program executes the end destroyApp () is invoked. We can according to the actual situation in various functions in the Act.


Motorola SDK is not in the AWT or SWING, because their implementation would take too much resources, Motorola SDK only Javax. . Microedition. . Lcdui the LCD based on the realization of some of the more simple design of the user interface functions. SDK defines various Displable (such as Form), the program currently displayed image must be a Displable instance, in the instance can be re-placed buttons, text edit box, radio button, etc. UI. .


3. For example.


The following is a written KJava type in A6288 cell phone running on a simple example. Specific procedures are as follows:. .


import Java。.io。.*;。.


import Javax. . Microedition. . Lcdui. .*;. .


import Javax。.microedition。.midlet。.*;。.


public class HelloWorld extends MIDlet implements CommandListener. .


{。.


private MainCanvas myCanvas;. .


private Display myDisplay;。.


private Command c1, c2, c3;. .


HelloWorld() 。.


(. .


myCanvas=new MainCanvas();。.


myCanvas. . AddCommand (c1 = new Command ("First", Command.. SCREEN, 1));. .


myCanvas。.addCommand(c2=new Command(“Second”,Command。.SCREEN,1));。.


myCanvas. . AddCommand (c3 = new Command ("Third", Command.. SCREEN, 1));. .


myCanvas。.setCommandListener(this);。.


myDisplay = Display. . GetDisplay (this);. .


myDisplay = Display。.getDisplay(this);。.


). .


public void startApp() throws MIDletStateChangeException 。.


(. .


myCanvas。.setUp(“first”);。.


myDisplay. . SetCurrent (myCanvas);. .


}。.


public void pauseApp () (). .


public void destroyApp(boolean unconditional) { }。.


public void commandAction (Command c, Displayable d). .


{ myCanvas。.setUp(c。.getLabel()); }。.


class MainCanvas extends Canvas. .


{。.


String ts;. .


MainCanvas()。.


(. .


super();。.


ts = new String ("first");. .


}。.


public void setUp (String s). .


{ ts=new String(s); }。.


public void paint (Graphics g). .


{。.


g. . SetColor (0xFFFFFF);. .


g。.fillRect(0, 0, getWidth(), getHeight());。.


g. . SetColor (0);. .


g。.drawString(“Current is the “+ts,getWidth()/2,60,Graphics。.HCENTER | Graphics。.TOP);。.


). .


}。.


). .


After the program is running, you can according to user selected a different menu item displays different content.


Qualcomm's BREW platform for wireless devices is a kind of open standard platform for thin Ying Yong 程序 execution environment, a wireless applications development, device configuration, application publishing, and the Wan Zheng Zhi Fu-end billing and part of the solution. Complete BREW solution includes the developer for the BREW SDK ? (software development kit), for equipment manufacturers in the BREW applications platform and porting tools, and by the operator to control and manage the BREW Distribution System (BDS).Use of the system, they can easily be developers can create applications to market and coordinate the billing and payment process. Use operators based on the BREW service, users can pass from the carrier's application download server wireless download applications from the handheld device.


BREW is independent of air interface technology, can run on many networks. But the current situation, as CDMA2000 1X technology in the existing technical standards is in commercial operation in the most stable and successful, and repeated verification. BREW in the CDMA2000 1X network can take full advantage of its high-speed data transfer rates, great for end users impact the user experience.Namely, and chip-level phone features tight integration more heights show sounds and animation features, written in c/c++ applications up and running faster, BREW extensions technical support with Java and Flash, making the application end-to-end business model provides transparent billing and payment records, and access to global markets for developers, you can do so by Unicom Bolu wireless technology co., Ltd. from Qualcomm and Unicom for support.


As the BREW platform is independent of air interface technology, so the network with any combination of BREW is very smooth. At the same time, it is a end to end solution, with particular emphasis throughout the value chain to meet all the requirements. BREW platform including BREW operators for the distribution system for developers SDK (Software Development Kit) for the terminal migration kit manufacturers, and BREW billing system. BREW to enable China Unicom to offer its customers a growing portfolio of applications.To date, China Unicom's BREW-based platform developed by the commercial procedure include: Adventure (global adventure), Any Flash (ankai software), the City Online (city online), E4E Stock (stock), Hit Submarine (battle four oceans), Instant Weather (weather news), Mobi Escape (Moby escape), Suc Esc (StarCraft survive), Yao Ming Basketball (Yao Ming basketball), etc. . .


In response to the development of mobile data, promoting wireless e-commerce and other business development, J2ME (Java 2 Micro Edition), Java for embedded systems is introduced into the wireless realm. With the J2ME applications for mobile Internet introduces a new model, which enables mobile phone you can download from the Internet, and a variety of applications in mobile phones create executable environment offline run these programs. As defined in the standard executable program downloaded and created the executable in the mobile phone application development environment and language, thus, the first time in the mobile communications industry for software developers to create great business opportunities are abundant in the application of mobile phone users experience, but also greatly improve the operator's network traffic. .


The emergence of J2ME is actually a return of the Java technology, as part of the Java 2 platform, J2ME and J2SE, J2EE, together with the application for the wireless client and the server builds a complete development and deployment environment. Because of the diversity of specific embedded devices and consumer electronics equipment, J2ME and structure of a traditional programming language and norms are quite different, it is determined by the configuration (Configuration), profile (Profile) and optional package (Optional Package) three elements. J2ME technology consists of a virtual machine and a set of API form, this set of API for the consumer and embedded electronic devices through the tailoring of the operating environment. J2ME There are two main components: configuration (configuration) and summary (profile).One of the key advantages of J2EE is that it can at the same time for a variety of networking laptop, desktop or other workstations and servers provide services, whether running on the client software is Java applets, standalone Java programs, HTML browser or as a local application, it can also support. Use J2ME, these enterprise systems can also be directly with various electronic devices to communicate.


In 1999, Sun will be widely popular Java technology architecture is redefined, J2ME as the Java technology in mobile phones and other small devices version came into being, it is against the screen, limited power and memory and other resources has been optimized for mobile devices and definitions, in order to solve the contradiction between diverse wireless devices, Sun's resources and characteristics of various devices in accordance with J2ME technology architecture will be divided into the Java Virtual Machine (JVM), configuration (configuration) and description (profile) three, and then further broken down , which makes J2ME devices can limit each class to work, while providing a minimum of Java language features。.


Microsoft (r). . NET is the Microsoft XML Web services platform. XML Web services allow applications to communicate through the Internet and share data, regardless of which operating system is used, equipment or programming language. Microsoft. . NET platform to create XML Web services and integrate these services need. The benefits of the individual user is seamless and compelling experience. .


Ultimately, Microsoft (r) .NET is about to make. "technology is used, instead of forcing people to adapt their computer restrictions. .NET leverages., when and where you can connect to your preferred device information. .NET leverages., you can protect your personal information and corporate data, while allowing your authorization for someone to connect to these information.


NET Experience:. . NET experience is very personalized, integrated, end-user computing interaction, they are intelligent devices through a new connection to the XMLWeb services to achieve. Technically,. . NET experience is that XML Web services and (where appropriate) a combination of local application code. .


NET Framework: the .NET Framework is a., for building, deploying, and running XML Web services and other applications. It contains three main parts: the common language runtime and framework classes and ASP .NET Framework .NET.. compressed version is the partner structure that has a set of programming interfaces for developers developing for smart phones and PDAs mobile device software.


NET platform:. . NET platform is a set of development tools and operating systems, used to create, open and consumer XML Web services, intelligent devices through the integration of personalized Web. It consists of four parts:. . NET Framework and Visual Studio. . NET, server architecture, building block services and smart device software. .


Posted from: http://www. .51let. .net/Article_Show. .asp? ArticleID = 451.