ShortcutMe(SCM) là một apps nổi tiếng của hãng Fonware Ltd. cac bản update gần đây (từ V5 đến V6) SCM đã bố sung nhiều chức năng mạnh mẽ khiến cho Blackberry thật sự trở thành 'chú dế thông minh" chẳng kém PC.
Bên 4rum bbvietnam có Chủ đề: ShortcutMe - Phím Tắt, Hẹn Giờ Chạy Ứng Dụng, MACROs & MORE...
có tới 85 trang và #841 mà càng đọc chắc chắn có nhiều fan BB càng hào hứng và ...tẩu hoả nhập ma vì không hiểu đầu đuôi mô tê gì cả. Tất cả chỉ vì các cao thủ bên ấy cứ tưởng mọi người đều hiểu SCM như mình nên cứ fang Macro tới tấp chả cần đề cập đến phương pháp viết các hàm Macro và giải thích cặn kẽ cho mọi người cho có đầu có đuôi. Bản thân tôi cũng càng đọc càng ngu muội.Ngay bước đầu tiên nhiều người cài SCM mà không biết làm cách nào gọi SCM chạy từ màn hình Home Screen (HSC) ngoài việc tìm và click vào ICON của nó trên HSC. Đơn giản vì ngay từ đầu chủ thớt không đề cập đến bước đầu tiên này...
Với cách nhìn của một người mới bắt đầu "học' SCM, tôi muốn lập Topic này để mọi người dễ hình dung về SCM và để các cao thủ đi trước chia sẻ cách sử dụng SCM, đặc biệt là cách viết các hàm Macro một cách dễ hiểu nhằm giúp mọi người từng bước khai thác công dụng của một phần mềm rất thông minh này. Mong mọi người ủng hộ và hưởng ứng nhiệt tình.
Vậy SCM là cái gì thế?
Đầu tiên SCM được biết đến như là một apps tạo shortcut (phím tắt) cho các ứng dụng chạy trên Blackberry với giao diện khá bắt mắt.(bao gồm shortcut, Alt-shortcut và Multiclick)
Những version mới update gần đây đã bổ sung thêm nhiều tính năng mạnh mẽ như: ra lệnh cho blackberry thực hiện hàng loạt thao tác chỉ bằng các phím tắt thông qua các hàm Macro của nó, hẹn giờ chạy ứng dụng, thực thi macro, thực hiện các thuật toán…
Bên 4rum bbvietnam có Chủ đề: ShortcutMe - Phím Tắt, Hẹn Giờ Chạy Ứng Dụng, MACROs & MORE...
có tới 85 trang và #841 mà càng đọc chắc chắn có nhiều fan BB càng hào hứng và ...tẩu hoả nhập ma vì không hiểu đầu đuôi mô tê gì cả. Tất cả chỉ vì các cao thủ bên ấy cứ tưởng mọi người đều hiểu SCM như mình nên cứ fang Macro tới tấp chả cần đề cập đến phương pháp viết các hàm Macro và giải thích cặn kẽ cho mọi người cho có đầu có đuôi. Bản thân tôi cũng càng đọc càng ngu muội.Ngay bước đầu tiên nhiều người cài SCM mà không biết làm cách nào gọi SCM chạy từ màn hình Home Screen (HSC) ngoài việc tìm và click vào ICON của nó trên HSC. Đơn giản vì ngay từ đầu chủ thớt không đề cập đến bước đầu tiên này...
Với cách nhìn của một người mới bắt đầu "học' SCM, tôi muốn lập Topic này để mọi người dễ hình dung về SCM và để các cao thủ đi trước chia sẻ cách sử dụng SCM, đặc biệt là cách viết các hàm Macro một cách dễ hiểu nhằm giúp mọi người từng bước khai thác công dụng của một phần mềm rất thông minh này. Mong mọi người ủng hộ và hưởng ứng nhiệt tình.
Vậy SCM là cái gì thế?
Đầu tiên SCM được biết đến như là một apps tạo shortcut (phím tắt) cho các ứng dụng chạy trên Blackberry với giao diện khá bắt mắt.(bao gồm shortcut, Alt-shortcut và Multiclick)
Những version mới update gần đây đã bổ sung thêm nhiều tính năng mạnh mẽ như: ra lệnh cho blackberry thực hiện hàng loạt thao tác chỉ bằng các phím tắt thông qua các hàm Macro của nó, hẹn giờ chạy ứng dụng, thực thi macro, thực hiện các thuật toán…
Ví dụ: Bạn đi ngủ lúc 11h tối và bạn có thể bảo với SCM rằng: "Bây giờ tao cắm sac pin và đi ngủ đây; mày hãy làm cho tao mấy việc trong khi tao ngủ như sau:"1-khi BB của tao sac pin đầy rồi thì mày hãy ngắt sac đi để khỏi ảnh hưởng đến tuôi thọ của pin;2-để BB nghỉ ngơi đến 4h sáng mày hãy dọn dẹp sach sẽ mọi rác rưởi trong core Java của BB;3-dọn trong Core xong rồi thì đến 4h30 sáng mày hãy reset BB;4-Reset xong đến 5h mày hãy đóng tất cả các ứng dụng chạy ngầm sau khi restar (tao rât ghét mấy thằng ăn theo khi BB khởi động, nhất là thằng Mobipocket reader, cả thằng BBM nữa nhé, ki nào cầ tao tự gọi chúng nó)'5-đến 5h30 thì réo lên đánh thức tao, nếu tao không chịu dậy thì mỳ cứ việc la het mãi cho đến ki tao không chịu nổi mới thôi...". Bạn có tin rằng SCM, một app chỉ chiếm dung lượng dưới 250KB làm được điều đó cho bạn không? Có đấy bạn à!
Và nếu SCM làm được điều đó thì chúng ta cần những app kiểu như battery pack, clearmemory,PBtaskmanager,battery booster,memorybooster, alarm...để làm gì cho tốn bộ nhớ BB, lại mất công đi xin xỏ k@y cọt cho mệt?
Nếu khai thác hết các tính năng của SCM, bạn có thể gỡ bỏ rất nhiều phần mềm không cần thiết, trùng lắp chức năng giữa các app chỉ tổ khiến BB hết bộ nhớ và vận hành ì ạch vì SCM đã có thể đảm trách phần lớn chức năng của các app thông dụng hiện nay.
Macro là gì?
Có thể hiểu nôm na nó như một ngôn ngữ lập trình trên PC. Marco là một lệnh đơn độc, dùng trong chương trình máy tính, thay thế cho một chuỗi các lệnh hoặc phím gõ.
Với SCM, macro có thể mô phỏng từng thao tác mà bạn thực hiện trên BB, tập hợp lại thành một tổ hợp lệnh mà chỉ cần gán phím tắt cho nó là nó có thể thực hiện hang loạt thao tác với chỉ một vài cú click.
Ví dụ: thông thường bạn vào option (đi tìm cái biểu tượng clé trên HSC, click vào đó để mở option hoặc bấm phím O trên HSC (với BB đã mở chế độ phím tắt từ HSC), rê chuột tìm mục device , rồi tìm mục Application Management (đối với OS6&7) để mở nó ra, tìm các ứng dụng cần xử lý…) thì SCM có thể dùng các hàm macro để mô phỏng các thao tác đó và tập hợp thành một macro duy nhất , tạo phím tắt và chạy là tất cả các thao tác trên sẽ tự động thực hiện.
Đến đây có lẽ mọi người đã hình dung...sơ sơ SCM là cái gì rồi.
Các macro điều khiển mọi người có thể tham khảo ở Đây
Về phần mềm SCM, đối với ai không muốn mất tiền mua apps thì chỉ nên cài bản SCM v5.6.2 (OS 4.5 đến OS6), SCM v5.9.2 (OS7) đã đủ xài tất cả các chức năng cần thiết rồi (cách dùng full v5.6.2&v5.9.2 chịu khó search gôgle nhé). ai có điều kiện thì nên mua các ver mới hơn từ APPWORLD hoặc Mobihan. Nhưng theo tôi nghĩ V5.6.2&v5.9.2 là quá đủ so với khả năng sử dụng thường thường của đa số chúng ta.
Sau khi cài và đăng ký full cho SCM, việc đầu tiên là bạn gọi SCM từ HSC bằng cách:
-Đối với OS6 và 7:
Từ Home screen (HSC) bấm menu/chọn Option. dưới mục Lauunch by Typing bạn chọn Application shortcuts (mặc định của BB là universal search). save. Bây giơ muốn gọi SCM từ HSC bạn chỉ càn nhấn phím space là SCM hiện ra cho bạn sử dụng.
-Đối với OS5 trở xuống:
option\Phone option\General option\ Dial from home screen\ chọn là No và save.
Quảng cáo
chú ý: Để gán phím tắt hoặc soạn macro, bạn gọi SCM, bấm menu chọn add shortcut. Đối với V5 các bạn chú ý chọn phần App. Name trước sau đó hãy chọn Display name, nếu đặt tên hiển thị shortcut (display name) trước khi chọn app.name thì mục displayname sẽ tự động nhảy theo app.name. (v6 đã chú ý sửa điểm này bằng cách dặt app.name trước.
a-nếu chỉ muốn gán phím tắt cho ứng dụng nào thì chọn ứng dụng đó ở mục App.name trong danh sách sổ xuống( ví dụ chọn compass xong quay lại displayname ở phía trên đặt tên là: La ban)
shortcut key: bạn gán phím tắt tùy ý, có thể là một hoạc nhiều hơn một ký tự cho dễ nhớ (ví dụ trên đặt là LB (viết hoa hay không cũng như nhau)-xong bấm phím back và chọn yes là phím tắt có hiệu lực.
bây giờ bạn muốn mở la bàn, từ HSC bạn bấm space rồi bấm L và B
b-nếu muốn soạn macro bạn cũng làm tương tự và kéo xuống phần macro để soạn các lệnh ( bạn có thể copy và past từ nguồn text soạn sẵn khác hoạc soạn từ nút Macro Editor phía dưới (nếu bấm vào Macro Editor sẽ mở ra cửa sổ có các hàm macro sẵn có của SCM, bạn chọn hàm nào đó, kéo xuống dưới chọn add selected macro).
Chú ý: ở phần này, nếu bạn chọn App.name (ví dụ là Manage Connections) thì khi chạy macro này nó sẽ mở Manage Connections trước khi thực hiện tiếp các lệnh có liên quan đến Manage Connections.
Hôm nay tôi giới thiệu một macro làm sạch triệt để mọi rác rưởi trên BB mà không một app nào có thể sánh kịp. Để chạy macro này thì màn hình Escreen của BB của bạn phải được kích hoạt (cách kích hoạt Escreen bạn nào chưa biết thì cũng nên search để biết và thực hiện ngay vì có rất nhiều macro yêu cầu phải mở Escreen)
through gc:
GC là viết tắt của Garbage Collection , tạm dịch là thu dọn rác
Hệ thống GC được thiết kế để cho phép Java Virtual Machine (JVM ™) tiếp tục hoạt động ở mức tối ưu bằng cách loại bỏ các đối tượng không cần thiết tại thời điểm cần thiết. cơ chế làm việc của garbage collection : trong Java, garbage collection sẽ phát hiện các object nào không có reference đến sẽ đưa vào danh sách thu hồi lại bộ nhớ . Tuy nhiên bản thân nó sẽ không phải lúc nào cũng thu dọn ngay lập tức trừ phi JVM sắp hết bộ nhớ đến nơi --> việc này sẽ dẫn đến sự lạm dụng bộ nhớ của các ứng dụng .
Hàm finalize chỉ thực hiện trước khi garbage collection hoạt động , nó chỉ giúp ích cho ta với các phần ngôn ngữ khác đc gọi bằng Java ( ví dụ như một chương trình java gọi một chương trình C chẳng hạn , và finalize sẽ tác động đến chương trình C để giải phóng bộ nhớ khi java kết thúc ) .
Quảng cáo
Có thể hiểu nôm na Throught GC là dọn triệt để mọi thứ thừa thãi trong quá trình hoạt động của BB để giúp BB chạy nhanh và ổn định hơn.
bạn mở SCM/menu/add shortcut như sau:
-App.Name: Home screen
-Display name: Tùy ý
-Shortcut key: tùy ý
ở phần Macro bạn coppy và paste đoạn code sau vào:
altpluskeyescr;navmovedown4;navclick;navmovedown1;navclick;menukey;navmovedown2;navclick;esckey;navmovedown1;navclick;menukey;navmovedown2;navclick;esckey;navmovedown1;navclick;menukey;navmovedown2;navclick;esckey;esckey;esckey;
giải thích:Những chữ màu đà là các lệnh macro riêng lẻ mô phỏng các thao tác thủ công mà ta thực hiện trong Escreen của OS6&7 để Throught GC (chữ màu xanh trong ngoặc).Trong OS5 trở xuống cac mục Escreen có thể sẽ khác và từ các thao tác thủ công bạn có thể mô phỏng để sửa lại các hàm macro phia dưới cho phù hợp với OS của mình.
altpluskeyescr;(mở Escrren)
navmovedown4;navclick; (dịch chuyển chuôt xuống dưới 4 lần (đến mục JVM Engineering screens, click chuột )
navmovedown1;navclick; (dịch chuyển chuôt xuống dưới 1 lần (đến mục Ram Usage, click chuột )
menukey;navmovedown2;navclick;esckey; (Bấm menu và dịch chuyển chuôt xuống dưới 2lần (đến mục Throught GC, click chuột, click esckey (phím Back )
navmovedown1;navclick; (dịch chuyển chuôt xuống dưới 1 lần (đến mục Flash Usage, click chuột )
menukey;navmovedown2;navclick;esckey; (Bấm menu và dịch chuyển chuôt xuống dưới 2lần (đến mục Throught GC, click chuột, click esckey (phím Back )
navmovedown1;navclick; (dịch chuyển chuôt xuống dưới 1 lần (đến mục Object Usage, click chuột )
menukey;navmovedown2;navclick;esckey; (Bấm menu và dịch chuyển chuôt xuống dưới 2lần (đến mục Throught GC, click chuột, click esckey (phím Back )
esckey;esckey;esckey; (Bấm esckey để thoat khỏi Escreen )
Khi thực hiện macro này, ta đã Throught GC cả ba mục: (ram Usage, flash Usage, object Usage)
Muốn triệt để hơn nữa, ta có thể through GC cả( code modules, transient object in flash, persistent object in flash)
TIẾP TỤC:
phần I: MACRO MÔ PHỎNG THAO TÁC THỦ CÔNG TRÊN BB:
Ở phần trên tôi đã giới thiệu một macro dựa trên sự mô phỏng các thao tác bằng tay trong home screen của blackberry để Throught GC cho BB. Các bạn có thể tự soạn các macro tương tự dựa trên các lệnh mô phỏng sau đây:
*Các lệnh macro mô phỏng thao tác thủ công trên bàn phím và tracpad,tracbal :
Khi bạn thao tác bằng tay trên BB,ví dụ như gõ các ký tự khi soạn văn bản;dùng traccpad,tracbal hay viên bi để click khi di chuyển trên homescreen để mởứng dụng,can thiệp vào core&add on, đóng, xóa ứng dung... Thì SCM cũng có các lệnh để mô phỏng y như bạn dùng các ngón tay của mình.Dưới đây là các lệnh đó cho bạn soạn các macro:
ALTPlusClick: nhấn giữ phím ALT và nhấp chuột.
ALTPlusKeyx: nhấn giữ phím ALT đồng thời nhấn thêm các phím (x)khác.
Ví dụ:
- Mở màn hình Escreen:
ALTPlusKeyESCR;(nếu thao tác bằng tay ta phải nhấn giữ phím Alt và dùng ngón tay khác gõ các phím E,S,C,R)
- Mở EventLog:
ALTPlusKeyLGLG;
BACKSPACEKey: nhấn phím
Space (phím cách).
CONVLKey: nhấn phím convenience key bên trái.
CONVRKey nhấn phím
convenience key bên phải.
DELKey nhấn phím Del.
ENDKey nhấn phím END CALL (nút màu đỏ).
ENTERKey nhấn phím Enter.
ESCKey nhấn phím ESC (phím thoát hay Back)
Keyxxx: nhấn các phím xxx.
Ví dụ:
- keytoi yeu scm:tức là yêu cầu Nhập text với nội dung là: 'toi yeu scm'
KeypadLockKey nhấn phím khóa phím.
SPKey nhấn phím ở trường hợp đặc biệt.
Ví dụ:
Nhảy đến Menu bắt đầu bằng từ A trên thanh menu: spkeyA
- Nhập D trong BB Home Screen: SPKeyD;
PasswordKeyxxx:
nhập mật khẩu là xxx
MENUKey nhấn phím Menu
(chùm dâu).
MUTEKey nhấn phím mute.
NavClick nhấp chuột hoặc chạm (enterkey)
NavMoveDownx di chuyển chuột xuống x lần.
Ví dụ:
Di chuyển chuột xuống 2 lần: NavMoveDown2;
NavMoveUpx di chuyển chuột lên x lần.
NavMoveLeftx di chuyển chuột qua trái x lần.
NavMoveRightx di chuyển
chuột qua phải x lần.
SENDKey nhấn phím Call
(phím gọi)
SHIFTPlusClick nhấn giữ
phím shift và nhấp chuột.
SHIFTPlusKeyx nhấn giữ
phím shift và một phím bất
kì x
Ví dụ:nhấn giữ phím shift và phím a: ShiftPlusKeyA;
SPACEKey nhấn phím space (phím cách).
SYMBOLKey nhấn phím sym
VOLDOWNKey nhấn phím
giảm âm lượng.
Ví dụ: giảm âm xuống 2
mức: VOLDOWNKey2;
VOLUPKey nhấn phím
tăng âm lượng.
Các macro định hướng đặc
biệt:
MenuItemFromTopx nhảy đến mục thứ x từ trên xuống của Menu.
Ví dụ:
Di chuyển chuột đến mục thứ 2 từ trên xuống trên menu:
MenuItemFromTop2;
MenuItemFromBottomx nhảy đến mục thứ x từ dưới lên.
TIẾP TUC:
Phần II-CÁC LỆNH MACRO ĐƠN GIẢN:
Để viết các macro(MR) đơn giản, các bạn phải hiểu một số cú pháp đơn giản của các lệnh MR sau đây (lưu ý: phía sau mỗi câu lện đều có dấu (;):
- LaunchA: chạy một ứng dụng A.
Ví dụ: Chạy mobipocket reader: Launchmobipocket reader;
- Delayx chờ trong một khoảng x thời gian tính theo mili giây (1s=1000milis)
Ví dụ:
Chờ trong 1 giây: Delay1000;
- Showyyy hiển thị một thông báo yyy ,kèm theo đó bạn có thể lựa chọn tiếp tục hoặc dừng macro.
Ví dụ:Hiển thị thông báo "Đang sac pin": ShowĐang sac pin;
-Stop; dừng việc thực hiện macro.
-IsAppRunningzz: trả về TRUE nếu ứng dụng zz đang chạy.(sẽ sử dụng chung với lệnh IF (nếu)
Ví dụ: If1 IsAppRunningMobipocket reader; (nếu Mobipocket reader đang chạy)
-Then (thì)
-EndIf (kết thúc If)
BÂY GIỜ CHÚNG TA LÀM QUEN VỚI CẶP LỆNH ( IF……THEN ):
Cú pháp:
IfX (nếu, trong đó X là thứ tự của If (bắt buột), ví dụ: If0,If1,If2…)
ThenX (Thì, trong đó X cũng là thứ tự của Then tương ứng với IfX)
ElseX (Ngược với IfX (thì làm gì đó hoặc kết thúc IfX)
EndIfX (kết thúc IfX)
Ví dụ minh họa: Chúng ta hãy lấy yêu cầu đóng các ứng dụng chạy ngầm khi reset BB để minh họa như sau:
Nếu(0) RadioOn Pro đang chạy ngầm (phần mềm RadioONPro luôn chạy ngầm trong khi chúng ta chỉ dùng nó khi pin yếu để giữ cho BB không tắt sóng, nên tắt nó đi khi nào cần mới bật nó lên)
Thì(0) gọi RadioOn Pro (và thực hiện các thao tác để tắt nó)
Ngược lại (RadioOn Pro không đang chạy ngầm)
(thì)Kết thúc nhiệm vụ thứ 0 và chuyển sang If tiếp theo
Nếu(1) Mobipocket Reader đang chạy ngầm (phần mềm RadioONPro luôn chạy ngầm trong khi chúng ta chỉ dùng nó khi pin yếu để giữ cho BB không tắt sóng, nên tắt nó đi khi nào cần mới bật nó lên)
Thì(1) gọi Mobipocket Reader (và thực hiện các thao tác để tắt nó)
Ngược lại (Mobipocket Reader không đang chạy ngầm)
(thì)Kết thúc nhiệm vụ thứ 1 và chuyển sang If tiếp theo
………..
Kết thúc Macro.
Các thao tác để tắt ứng dụng thì bạn dựa vào các thao tác bằng tay để mô phỏng lại bằng các lệnh mô phỏng ở phần I.
Các bạn hãy xem xet Macro đóng ứng dụng sau đây (chữ nghiêng màu xanh kể từ sau dấu / là giải thích Macro, cần xóa bổ trước khi paste vào nơi soạn MR)
App.name: Home screen
Displayname:tùy ý bạn đặt
ShortCut: Tùy ý bạn đặt
Cú pháp:
If0 IsAppRunningRadioON Pro;/nhiệm vụ thứ 0: kiểm tra nếu RadioON Pro đang chạy
Then0;LaunchRadioON Pro;/thì gọi RadioON Pro
Delay500;/chờ 0,5 giây (cho RadioON Pro chạy trên home screen
MENUKey;/bấm menu
SPKeyE;EnterKey;/bấm tiếp phím E (để đến dòng Exit trên menu) và bấm enter
else0;/nếu RadioON Pro không đang chạy ngầm
endif0;/kết thúc nhiệm vụ thứ 0 để thực hiện nhiệm vụ tiếp theo phía dưới
If1 IsAppRunningPhotobucket Mobile;/ nhiệm vụ thứ 1: kiểm tra nếu Photobucket Mobile đang chạy
Then1;LaunchPhotobucket Mobile;/thì gọi Photobucket Mobile
Delay15000;/chờ 15 s (vì Photobucket Mobile chạy trên HSR hơi lâu)
MenuKey;/bấm menu
MenuItemFromBottom1;EnterKey;/nhảy đến dòng thứ 1 từ dưới lên (nơi có chữ close trên menu); bấm enter
else1;/ nếu Photobucket Mobile không đang chạy
endif1;/ kết thúc nhiệm vụ thứ 1 để thực hiện nhiệm vụ tiếp theo phía dưới
If2 IsAppRunningZello;/ nhiệm vụ thứ 2: kiểm tra nếu zello đang chạy
Then2;LaunchZello;/thì gọi zello
Delay15000;/chờ 15s
MENUKey;/bấm menu
spkeyE;spkeyE;EnterKey;/bấm phím E, bấm tiếp phím E đến dòng exit
else2;/nếu zello không đang chạy
endif2; /kết thúc nhiệm vụ thứ 2 để thực hiện nhiệm vụ tiếp theo phía dưới
If3 IsAppRunningiSpeech Translator;/nhiệm vụ thứ 3 kiểm tra nếu iSpeech Translator đang chạy
Then3;LaunchiSpeechTranslator;/gọi iSpeech Translator
Delay1000;/chờ 1s
MenuKey;EnterKey;delay500;MenuItemFromBottom1;enterkey;/bấm menu, bấm enter, chờ 0,5s; nhảy đến dòng thứ 1 từ dưới lên (nơi có chữ close), bấm enter để đóng iSpeech Translator;
else3;nếu iSpeech Translator không đang chạy
endif3;/ kết thúc nhiệm vụ thứ 3 để thực hiện nhiệm vụ tiếp theo phía dưới
If4 IsAppRunningMobipocket Reader;/nhiệm vụ thứ 4 kiểm tra nếu Mobipocket Reader đang chạy
Then4;LaunchMobipocket Reader/;gọi Mobipocket Reader
Delay5000;/chờ 5s
ShiftPlusKeyQ;/nhấn giữ phím shift+phím Q để đóng Mobipocket Reader
endif4; /kết thúc nhiệm vụ thứ 4
Stop;/kết thúc macro
Đến đây các bạn tự ngâm cứu và tự soạn cho mình các MR phức tạp hơn, hấp dẫn hơn