找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 7587|回复: 36

[webOS开发] Mojo SDK学习笔记 (繁中已更新为Day5, 简中已更新为Day3)

[复制链接]
发表于 2009-7-24 11:36 | 显示全部楼层 |阅读模式
这个学习的笔记是个人学习 WebOS 的一些经验分享, 不是什么正式的教学, 不过有兴趣的朋友亦可以当教学使用, 亦不是一些专业的书籍, 不过大家都可以当作 Mojo SDK 学习的参考. / _5 U9 L+ O& J7 M4 T
& G0 ]2 ^3 w/ J" C7 J
我不定时会更新这篇笔记, 希望有兴趣开发WebOS 的朋友可以大家帮助, 虽然未有实机, 至少也公开了模拟器, 大家加油.! f$ `+ m, {. Y- X

; D* C. c. ]; bWebOS_Notes_Big5_XXXXXXXX.pdf 为繁中版
1 u; G$ b4 R# e5 c- i. a7 pWebOS_Notes_GBK_XXXXXXXX.pdf 为简中版
, k3 n3 ?. H( s1 j6 f4 R- _2 }3 T9 V" M: V
原码暂时未放出, 因为很多东西要整理, 不定时更新, 多多指教
' t  L7 V2 {& }8 O" Q& I* d4 f4 K3 `% z
>>这里下载<<
5 Q' b6 B4 _5 r2 x; T
* t3 z. K3 n$ d9 u( ?' a出处当然是小弟的Blog:$ v; [; O3 w3 Q* ]% G
http://pre-dict.blogspot.com/0 U( X7 a0 {3 f; K
. L; i* i) [# H+ Z; ]7 J4 l$ O. F
***有朋友指出国内上不到我的Blog, 所以我上载文档到这边了***3 V' s8 ^- X+ e  |8 u) C
有没有国内的朋友方便可以帮手校对和转成简体, 因为我的原版本是繁体的.
4 I6 D9 h+ [4 P0 O$ P如果没有的话, 可能简体要比繁体迟一点出来, 毕究要花点时间转换.1 W" R* j3 K& n# k8 D6 n$ P

* P5 v2 b* s4 G! P, H8 N[ 本帖最后由 tedwong 于 2009-8-2 00:17 编辑 ]

评分

参与人数 3威望 +35 收起 理由
2b6c3d729918489 + 20 谢谢分享
CyberVsQ + 10 谢谢分享
yydy + 5 谢谢~

查看全部评分

回复

使用道具 举报

发表于 2009-7-24 12:46 | 显示全部楼层
楼主真是个细心人,对我帮助很大,谢谢了~~
% Z, y) f- y+ o, Z欢迎多多分享心得。' R" K1 K1 p+ u5 Y; U+ W
我也准备尝试做些小玩意,呵呵
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-24 13:04 | 显示全部楼层
烦请各网友核实 下载的网址/博客 是否不能在国内上, 如果是的话, 我尝试将文章8 W+ M  N0 J! h) I. T7 W  j% D2 V
放到另一个网存空间(你们有没有免费的推介?)
回复 支持 反对

使用道具 举报

发表于 2009-7-24 13:24 | 显示全部楼层
blogspot.com 这个域名似乎被GFW屏蔽
* e! L* ^) p3 u. j) B6 R如果使用国内的博客服务可能问题较少
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-24 13:58 | 显示全部楼层
原帖由 yydy 于 2009-7-24 13:24 发表 + E# E6 @. U3 g5 i' D6 I
blogspot.com 这个域名似乎被GFW屏蔽
* j2 _$ t% f  H- f/ c! v如果使用国内的博客服务可能问题较少

! U* q4 ]- W! [- m% q请建议一个给我吧, 我不太懂国内的情况
回复 支持 反对

使用道具 举报

发表于 2009-7-24 14:56 | 显示全部楼层
新浪好像有blog的
回复 支持 反对

使用道具 举报

发表于 2009-7-24 16:47 | 显示全部楼层
问一下你的eclipse开发环境是怎么配的,为什么和我的有那么多的不同5 A  t' G- g& @) {+ g) U# h- @
我是按照http://www.palmpreschool.com/200 ... -the-webos-plug-in/装的
7 g4 H# q8 e' {% X没有file->new mojo application* E3 e1 p, G2 g+ P: }
也没有右手键->new->mojo scene
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-24 17:20 | 显示全部楼层
原帖由 xiaoqing1027 于 2009-7-24 16:47 发表
7 T) k! @# R1 S5 C问一下你的eclipse开发环境是怎么配的,为什么和我的有那么多的不同4 b2 ?; I: y: [+ W6 R
我是按照http://www.palmpreschool.com/200 ... -the-webos-plug-in/装的
" \& [1 j5 r: X5 r没有file->new mojo application
: b" H& F5 j. s% U) R也没有右 ...
, ?# D/ q2 @# \: i7 p, P  S" S
因为你这个不是Palm 官方的, 请参照这个官方的做法:
  [2 c! Q; b  ]4 Ghttp://developer.palm.com/index. ... article&id=1639
# Q4 {& c) V( v% }
. p  J3 R7 U( H' k/ \第三天的学习完成, 不过很累... ... 未有时间打回文章6 X) G% |* c3 Q  f0 L/ {
近日没有工作才有这么多的时间去学这个SDK ><" 郁闷中.... ...
: k. e# o6 _( t, Z) x# L/ ^1 `3 l4 f( c8 |
[ 本帖最后由 tedwong 于 2009-7-24 17:23 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2009-7-24 19:07 | 显示全部楼层
谢谢楼主的分享!!!
回复 支持 反对

使用道具 举报

发表于 2009-7-25 08:09 | 显示全部楼层
编程人员,分享是一种境界。
回复 支持 反对

使用道具 举报

发表于 2009-7-25 14:37 | 显示全部楼层

回复 8楼 tedwong 的帖子

按照http://developer.palm.com/index. ... article&id=1639上的安装插件* |8 {* Y3 K' b* i  j! ^$ I4 N
不过在add site 后出现NO repository found at https://cdn.downloads.palm.com/s ... clipse-3.4/site.xml* r# v0 E2 o  N
??
回复 支持 反对

使用道具 举报

发表于 2009-7-25 14:57 | 显示全部楼层
Hi,樓主的BLOG是我經常去的,好東西呀.
回复 支持 反对

使用道具 举报

发表于 2009-7-25 18:43 | 显示全部楼层
LZ,在你的blog上留了言,请教helloworld的问题
. h. N5 x$ J$ k! A& P$ u! j% G
% S$ F/ s0 h4 z. p想在helloworld这个例子里多加一个button,tap一下就减一个数
& ]# P, Q" z9 ]5 z  V' c于是在first-scene.html里添加:* B" {& d( C. E5 S0 k7 N6 T
<div id="MyButton2" x-mojo-element="Button"></div>) `+ ]2 {- q4 u
0 R4 F2 N& m+ S
在first-assistant.js的FirstAssistant.prototype.setup里添加:; C5 y% |4 p0 J( Q
this.controller.setupWidget("MyButton2", this.buttonAttributes, this.model={buttonLabel: 'Decrement Down', buttonClass: 'negative'});
7 Q% N+ H$ J8 D4 MMojo.Event.listen(this.controller.get('MyButton2'), Mojo.Event.tap, this.MyButton2.bind(this));$ I6 {( Q- i9 n/ u* s7 V
0 n, n- a/ h. _# o
并添加
2 k% s! e8 Y! e' S& |FirstAssistant.prototype.MyButton2 = function(event){
& n9 v! c- t' A: ?, @    this.total--;* v. ^) r* c( Q4 c+ H/ G: R
    this.controller.get('count').update(this.total);0 q1 P: I( ^) V; _: O& Z
}2 k! M8 k. i* v, J

$ `& l+ D8 ?: w以上完成后,run,连第一个button都不显示了,不知道错在哪里,请指教~thanks
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-25 21:32 | 显示全部楼层
原帖由 xiaoqing1027 于 2009-7-25 14:37 发表 ) k' }, _3 h5 r( B9 V, ^
按照http://developer.palm.com/index. ... article&id=1639上的安装插件' c% a3 ?( J! ~( p, M0 y- p
不过在add site 后出现NO repository found at https://cdn.downloads.palm.com/s ... clipse-3.4/site.xml
. ]7 n/ G2 z' b& `8 ^: e? ...

: M, K3 a4 h" J6 Y7 g你的Eclipse 是否最新版本呢?
( b# Z' l0 h+ x7 p# B  k7 f2 \0 `% P& Z1 j; ?) C

. ?/ I3 @! J* k7 G2 [0 D
原帖由 rory 于 2009-7-25 14:57 发表 + w! Z. [9 x, r( [" Y5 E( @" e
Hi,樓主的BLOG是我經常去的,好東西呀.

' p3 f- I' u7 ^: C3 n6 _( ]+ F& C0 X好东西就多上便行了
) P7 S  [+ e0 m. ]" g& H" |. @6 H9 \/ H- a+ q1 K( `

5 m( K' F2 }" D4 Y2 N. f1 \
原帖由 prenewbie 于 2009-7-25 18:43 发表
6 f/ N4 k6 s  |, }! U: ELZ,在你的blog上留了言,请教helloworld的问题
( I$ x+ h8 w; @/ ^7 N. s6 c6 h) K. J0 c
想在helloworld这个例子里多加一个button,tap一下就减一个数2 D/ }4 x1 D( b' N
于是在first-scene.html里添加:. U4 G8 I( k" @+ y2 r
0 o) z2 Z( z  ^3 B7 ^3 n* Y
* J$ D# q9 z' G* E
在first-assistant.js的FirstAssistant.prototype.setup里添加 ...

; [$ L9 l. v: n' q1 W沒有任何问题尼, 你做错了什么?
  1. function FirstAssistant(){
    7 _7 y, l9 J! j% u
  2.     /* this is the creator function for your scene assistant object. It will be passed all the
    , F: ^- Y- l( C% Z; ?
  3.    
    . R  |$ F9 D% b7 `. J9 ~
  4.      
    3 E3 t0 p- [- q+ f/ k9 A
  5.     " G& w2 T- }8 i* s
  6.      additional parameters (after the scene name) that were passed to pushScene. The reference
    $ h' }& y7 L8 r" T7 a) [' f, Q
  7.    
    + ~1 ~% s% _' Q) ]
  8.      
    0 {! C5 h. K) B9 }  U6 ?! J( k
  9.     2 A  [$ N# }7 J) d" [# u
  10.      to the scene controller (this.controller) has not be established yet, so any initialization  V6 r# t7 S) b; d9 T4 R
  11.     0 C: @, U. W& y/ X
  12.      
    9 J6 y5 I0 J2 b7 O
  13.     ! I$ d" z+ S  ]" I+ B7 Y
  14.      that needs the scene controller should be done in the setup function below. */: ^: g9 e1 B" B  k4 J4 e9 R% Z1 B; a
  15.     ) @+ P7 D1 a  M4 W- k
  16. }
    8 Z( c7 D! G7 J/ \& q3 [
  17. 6 ^# }2 Z0 ~" s% v) Z* a! r. i7 I9 M$ j
  18. FirstAssistant.prototype.setup = function(){
    ( j$ A* Q4 N! F3 l6 b
  19. 4 d# Z" p# [- t* e
  20.     // set the initial total and display it
    . G# k; v6 n- [8 s' _
  21.     this.total = 0;- W6 g$ W; v# p5 G3 U) R
  22.     this.controller.get('count').update(this.total);
    0 w0 {% r$ o4 q9 ]" q9 `* J
  23.     * H' N% m4 a) p
  24.     // a local object for button attributes
    / q+ e1 F$ Z) f) T/ n- Y
  25.     this.buttonAttributes = {};
    0 K% x5 b3 |8 \0 H/ ~* w" R$ t
  26.    
    ) L( {3 m4 B. b& O2 v
  27.     // a local object for button model
    ) |2 k4 k9 V, C5 j  j8 h0 A
  28.     this.buttonModel = {  j4 `) X4 ]! w2 P% }
  29.         buttonLabel: 'TAP HERE',  Q) r" k, B6 c: x- C: n1 p) l
  30.         buttonClass: '',2 z; ^  @2 d0 D! r. e! ^: D
  31.         disabled: false6 i# P) X+ P/ d) D
  32.     };# t% n* l2 Q6 K2 c/ ^9 L
  33.     8 V. N- a' E1 I8 K8 t
  34.     // set up the button0 a* c) B% t) m% q' g' U" ]
  35.     this.controller.setupWidget("MyButton", this.buttonAttributes, this.buttonModel);6 ^; V, U4 H& ~8 w5 ^) A
  36.     // bind the button to its handler8 K" w. O3 N! [, Z
  37.     Mojo.Event.listen(this.controller.get('MyButton'), Mojo.Event.tap, this.handleButtonPress.bind(this));" _* g% W. [' Q5 `6 u; ]1 Z7 q$ G
  38.    
    $ y, f& O* D+ N) V3 I" [7 Y. W2 J
  39.     this.controller.setupWidget("MyButton2", this.buttonAttributes, this.model = {% E8 T8 }* [) F+ s, U; [
  40.         buttonLabel: 'Decrement Down',4 O# J8 p: S& D% t
  41.         buttonClass: 'negative'
    + X, j* c" p; ^+ X5 B+ _
  42.     });- E% F0 Y) a/ \3 G
  43.     Mojo.Event.listen(this.controller.get('MyButton2'), Mojo.Event.tap, this.MyButton2.bind(this));
      e/ ?2 b9 ]. v3 z9 A( K8 ?6 |
  44. }- J; c4 r1 c; f" `
  45. $ X0 i2 S5 s, D1 b
  46. FirstAssistant.prototype.activate = function(event){
    ! j) U! Z) Q5 i; M: F6 A% d& v
  47.     /* put in event handlers here that should only be in effect when this scene is active. For2 x' T6 A2 o( l( P
  48. 2 K9 h  G7 a' L" ]% l
  49.      example, key handlers that are observing the document */
    9 D8 a' ^! A2 M
  50.    
    " h+ Y3 a) U6 u/ U: ~/ P; J$ @+ m
  51.     % }/ S4 ~& D' L/ ?
  52. }
    6 Z6 U- ]# c: S4 P+ u' p

  53. ; z/ v/ [0 M+ u/ ~) Y- e- C+ [3 j; k

  54. , b, u$ ?1 H+ G2 }3 O
  55. FirstAssistant.prototype.deactivate = function(event){7 y7 t" J$ X) w6 \
  56.     /* remove any event handlers you added in activate and do any other cleanup that should happen before$ W! B$ N; ?5 J0 m6 O. f2 o. R& z
  57.    
    ( y) \! G! ]3 I( W
  58.      
    - z- G' j; p4 P/ C! c
  59.    
    ' {3 [+ G, D+ A& s8 Q, e& R8 ~. ~
  60.      this scene is popped or another scene is pushed on top */4 m& t6 h; N7 I
  61.    
    + T% U# P9 M3 w& d2 w  h; ^
  62. }) ^+ j/ G$ Z1 Y" e

  63. 8 ?5 M& x6 G* L
  64. FirstAssistant.prototype.cleanup = function(event){
    $ t; A* b6 r0 i  o4 C9 ~
  65.     /* this function should do any cleanup needed before the scene is destroyed as
    ! R* a& u8 m( g5 r; `
  66.    
    " m, n) K. g0 D+ v! r7 i! K5 l: h
  67.      
    ) I/ R" s5 ?0 k" j. d. ]3 _
  68.     ! v8 U5 `, w3 j- t5 W! W5 z6 b
  69.      a result of being popped off the scene stack */1 w9 V7 D0 i% F0 [6 [; t( ?$ Z) C, x
  70.    
    : K4 f1 ]4 ?3 J/ q
  71. }7 p; E  q* k" Z  J, c

  72. - H6 ^2 a* r. G1 W. e' E
  73. FirstAssistant.prototype.handleButtonPress = function(event){* _, x+ j& c0 m# G& n5 C
  74.     // increment the total and update the display  ?1 [' z+ R* d# y$ ?. D" g
  75.     this.total++;
    1 w$ N# ?9 Q( p* @
  76.     this.controller.get('count').update(this.total);
    . _/ s/ I: D1 v8 c! U/ t! `
  77. }
    4 N! W8 ^0 _# a* T) @" h3 S0 D$ l
  78. , t9 N# [  \1 d3 v2 a$ K0 A* ~
  79. FirstAssistant.prototype.MyButton2 = function(event){
    9 z* r( w) C2 A5 ~8 D5 p. u0 ^) j
  80.     this.total--;
    $ I  `7 V$ O8 v8 W8 @; y5 R
  81.     this.controller.get('count').update(this.total);- h8 `( B) ]- h# f. A1 d
  82. }9 v8 X6 [/ m1 x
复制代码
>>星期六, 日要出街玩, 未有时间更新.. q# `" _' s8 H% ^

( a+ k7 a3 g7 l6 t. j1 _7 Y+ z[ 本帖最后由 tedwong 于 2009-7-25 22:06 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入我们

×
回复 支持 反对

使用道具 举报

发表于 2009-7-25 22:56 | 显示全部楼层
谢谢LZ回复/ G5 G$ Q! h2 s6 N

/ i; o6 {. }. T刚发现是自己的目录结构搞错了,应该是\view\first\first-scene.html,不小心多了一层目录\view\first\first\first-scene.html! j/ f3 r# c1 h; W8 C( L7 G+ p8 J
! W, F' R- H/ n3 @% P1 o
[ 本帖最后由 prenewbie 于 2009-7-25 23:34 编辑 ]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-25 23:26 | 显示全部楼层
原帖由 prenewbie 于 2009-7-25 22:56 发表
" K1 }9 E) a- K/ V0 ?0 _谢谢LZ回复,又尝试了一下,还是不行,似乎我的first-assistant.js是没问题的,难道问题出在first-scene.html上?, r9 C. b( X8 C6 y- p+ m# V9 t8 j
2 r: h' c2 j3 N( ]& L
    Header
0 A6 a$ t9 ]! I: w8 ~. m    0
& k' I9 s1 M9 p+ B* E/ O6 w7 S   
' g/ O, A8 F$ L$ o2 q; x    + R: q* W1 m7 ?: |: Z
9 {1 `# c0 v1 W
沒有问题尼, 是否你设定环境的问题尼?
回复 支持 反对

使用道具 举报

发表于 2009-7-25 23:37 | 显示全部楼层
原帖由 tedwong 于 2009-7-25 23:26 发表 8 F7 g9 ]# a% k6 o
8 o9 h& f% a9 z+ P" w5 N2 z) b
沒有问题尼, 是否你设定环境的问题尼?

" D1 [$ [3 _8 d% b2 X9 Q
2 m: ], Q. K: C) [1 G解决了,非常感谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-26 01:09 | 显示全部楼层
原帖由 prenewbie 于 2009-7-25 23:37 发表 7 S0 G+ G* x# n' X& w" f1 W
: _0 M5 q3 b0 w; y/ y
' z5 U# }1 t! n6 ~  Z6 m
解决了,非常感谢

6 W$ I' ]$ ?! X. p3 _! f) [究竟是什么问题?
回复 支持 反对

使用道具 举报

发表于 2009-7-26 02:03 | 显示全部楼层
看15楼
回复 支持 反对

使用道具 举报

发表于 2009-7-26 10:38 | 显示全部楼层

回复 14楼 tedwong 的帖子

是昨天刚下载的 可是就不行 555555555
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-26 11:24 | 显示全部楼层
原帖由 xiaoqing1027 于 2009-7-26 10:38 发表 $ T. W+ _* h$ t# }8 K( a7 Q: z4 ~
是昨天刚下载的 可是就不行 555555555
( D" b, ^5 x; f+ {: `; E- P& i
重新再add 多次, 这是一个Eclipse 的Bugs:
2 r! Z2 c% s6 {) A$ m, t' {) _http://furiouspurpose.blogspot.c ... -no-repository.html
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-27 14:58 | 显示全部楼层
更新了.... .....
回复 支持 反对

使用道具 举报

发表于 2009-7-27 19:01 | 显示全部楼层
这个很棒啊。回头我们这边找个合适的地方给楼主放东西。。让大家都方便些
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-27 20:43 | 显示全部楼层
原帖由 treo 于 2009-7-27 19:01 发表
4 H: \3 E) g, w, V5 x! H0 t这个很棒啊。回头我们这边找个合适的地方给楼主放东西。。让大家都方便些

5 ^( c( c1 a8 }) v7 {4 [) `不用了, 我又不是时常更新
回复 支持 反对

使用道具 举报

发表于 2009-8-12 00:18 | 显示全部楼层
楼主,谢谢你的分享。以后还请多多更新,我们等着你的笔记呢。O(∩_∩)O哈哈~
回复 支持 反对

使用道具 举报

发表于 2009-8-14 09:20 | 显示全部楼层
谢谢lz,对我这个门外汉太有用了
回复 支持 反对

使用道具 举报

发表于 2009-8-20 13:25 | 显示全部楼层
下不了,不知道为什么
回复 支持 反对

使用道具 举报

发表于 2009-11-9 00:29 | 显示全部楼层
http://sites.google.com/site/predictblog/home/palm-pre-note3 P5 f' Q3 x0 G$ x2 d! j
怎么打不开了?墙内墙外都打不开。
回复 支持 反对

使用道具 举报

发表于 2009-11-10 23:57 | 显示全部楼层
我传上来了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入我们

×
回复 支持 反对

使用道具 举报

发表于 2009-11-11 13:02 | 显示全部楼层
下不了,有了楼上的可以了,谢谢大家
回复 支持 反对

使用道具 举报

发表于 2009-12-13 23:35 | 显示全部楼层
谢谢楼主的分享!!!
回复 支持 反对

使用道具 举报

发表于 2010-5-20 10:47 | 显示全部楼层
感谢楼主的分享精神,希望楼主继续发扬光大
回复 支持 反对

使用道具 举报

发表于 2011-9-18 19:52 | 显示全部楼层
今天成功在模拟器运行了ipk 多谢楼主
回复 支持 反对

使用道具 举报

发表于 2011-11-13 11:11 | 显示全部楼层
感谢分享啊~不知lz什么时候能再更新下呢?& N/ u& @: u$ x: |, O7 I
回复 支持 反对

使用道具 举报

发表于 2011-12-31 21:10 | 显示全部楼层
非常感谢
回复 支持 反对

使用道具 举报

发表于 2012-9-20 16:55 | 显示全部楼层
好好学习 mark xia
回复 支持 反对

使用道具 举报

发表于 2012-11-21 21:23 | 显示全部楼层
支持啊......
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

QQ|Archiver|手机版|小黑屋|吹友吧 ( 京ICP备05078561号 )

GMT+8, 2025-2-2 13:17 , Processed in 0.470424 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表