歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> BlackBerry PlayBook NDK 2.0樣例分析之“HelloWorldConsole”

BlackBerry PlayBook NDK 2.0樣例分析之“HelloWorldConsole”

日期:2017/3/1 10:27:25   编辑:Linux編程

如上一篇提到的,BlackBerry PlayBook NDK 2.0正式版已經發布了(見 http://www.linuxidc.com/Linux/2012-03/55910.htm),在該版本中增加了很多樣例,不再是以前的4個簡單樣例。其中吸引我的包括樣例“HelloWorldConsole”,這是一個真正的“Hello World”,程序非常非常簡單,只是在控制台輸出一個“Hello World”字樣。

個人認為這種“Hello World”可以讓初學者對於程序的運用過程有一個最簡單的認識,是入門的必要素材之一。也正因為這樣的原因,在2.0正式版發布前本人就嘗試過運行這種最簡單的PlayBook程序,目的是拋開屏幕初始化,圖像顯示的復雜課題,去理解一個PlayBook NDK程序的本質。

既然是最簡單的“Hello World”,其實樣例代碼本身沒有什麼太大可以分析的,全部代碼如下:

  1. #include <stdio.h>
  2. int main(int argc, char *argv[]) {
  3. fprintf(stderr, "Hello World!\n");
  4. return 0;
  5. }

該程序可以說是和經典c教程的Hello World樣例一模一樣,先是include stdio.h,然後是main函數入口,控制台輸出,結束!

不過,該程序的運行過程卻是值得注意一下,測試可以發現該程序啟動後在開發環境的控制台輸出一行“Hello World!”,在PlayBook真機或者模擬器上閃現一個黑色界面,然後程序退出。因為程序太簡單,一切發生的很快,感覺像是程序遇到問題異常退出一樣。

這時就會有一個簡單的思考,能否讓程序輸出“Hello World!”後等待一段時間再退出。對應的實現方法就是在程序結束前添加一個sleep()函數的調用,為了擴展方便,還可以加上一個for循環,修改後的全部代碼如下:

  1. #include <stdio.h>
  2. int main(int argc, char *argv[]) {
  3. fprintf(stderr, "Hello World!\n");
  4. int i=0;
  5. for (i=0;i<100;i++)
  6. {
  7. sleep(1);
  8. }
  9. return 0;
  10. }

運行該代碼可以發現,程序在輸出“Hello World!”之後不會馬上退出,PlayBook模擬器或者真機上出現一個顯示“BlackBerry”的黑色界面,直到for循環結束該程序才退出。

同時可以發現,在for循環結束之前用戶可以通過標准的關閉應用的手勢將這個程序關閉。這就意味著這樣一個簡單的程序也會相應一些系統事件,進一步的思考則是該程序是否能夠處理一般用戶事件,如虛擬鍵盤的事件,或者是用戶點觸事件。不過這樣的思考就走出“Hello World”的范圍了,讓我們在後續的文章中繼續討論。相關閱讀:PlayBook NDK編程如何獲取系統時間 http://www.linuxidc.com/Linux/2012-03/55909.htm

Copyright © Linux教程網 All Rights Reserved