Kết quả 1 đến 5 của 5
  1. #1
    Ngày tham gia
    Nov 2015
    Bài viết
    0

    Hướng dẫn viết WebWorks App cơ bản HelloWorld từ A tới Z

    sau đây là bài hướng dẫn chi tiết tạo ứng dụng webworks cơ bản nhất cho playbook trên window

    bạn phải cài các công cụ sau:

    java: java se 6 jdk 32-bit.
    adobe sdk: adobe® air® sdk 2.7. - mirror
    sdk: blackberry webworks sdk for tablet os (windows). - mirror
    playbook 2.0 simulator: windows® (exe) hoặc ripple emulator.
    text editor: notepad, notepad++ hoặc chương trình biên soạn html như dreamweaver...

    cấu trúc của webworks application helloworld của chúng ta gồm:
    • offline html source(html, css, javscript, images, audio...)
    • file config.xml
    • tất cả những gì của 2 phần trên sẽ được zip lại thành 1 file zip và sử dụng sdk để package thành file .bar (file ứng dụng của playbook)
    • file .bar không cần sign key nếu test trên playbook simulator và bắt buộc phải sign key nếu muốn chạy trên thiết bị thật.
    trong bài hướng dẫn này, keeper tạo folder c:\helloworldvà chứa những files cần thiết của ứng dụng vào đây.

    đầu tiên chúng ta cần tạo file config.xml để khai báo, đăng kí các thông tin của ứng dụng webworks.

    config.xml của chúng ta sẽ có nội dung như sau:



    Mã:
    <?xml version="1.0" encoding="utf-8"?>
    <widget xmlns="http://www.w3.org/ns/widgets" xmlns:rim="http://www.blackberry.com/ns/widgets" version="1.0.0.0" rim:header="rim-widget:rim/widget">
    <name>hello world</name>
    <description>hello world webworks application demo</description>
    <author href="http://dev-group.dauden.vn" rim:copyright="2012" email="haitt@viethop.net">bb dev group vn</author>
    <rim:orientation mode="landscape" />
    <rim:category name="all" />
    <icon src="appicon.png"/>
    <feature id="blackberry.app.event" required="true" version="1.0.0.0" />
    <content src="index.html" />
    </widget>
    nội dung trên có những lưu ý sau:



    Mã:
    <rim:orientation mode="landscape" />
    set view mode cho ứng dụng là landscape. có 2 view mode landscape/portrait dùng để force ứng dụng giữ nguyên view mode trong lúc user xoay playbook. nếu không có tag này thì ứng dụng sẽ theo mặc định và xoay nếu xoay playbook



    Mã:
    <icon src="appicon.png"/>
    set icon cho ứng dụng. ở đây bạn cần chuẩn bị file hình appicon.png để làm icon cho ứng dụng.(tên không bắt buộc phải là appicon.png, tuy nhiên nên đặt tên file đơn giản nhất có thể để tránh bị complain khi sdk package ứng dụng)



    Mã:
    <feature id="blackberry.app.event" required="true" version="1.0.0.0" />
    khai báo api mà ứng dụng sẽ sử dụng, lưu ý nếu test trên máy tính bạn sẽ không có những api này và code của bạn sẽ lỗi. tùy vào những api ứng dụng sử dụng mà bạn cần phải khai báo đầy đủ, ví dụ access file, camera trước/sau, gps...



    Mã:
    <content src="index.html" />
    nội dung ứng dụng. không bắt buộc phải là index.html. có thể là bất kỳ file nào bạn muốn, và đây là file được load đầu tiên khi chạy ứng dụng.

    soạn nội dung ứng dụng:

    dùng text editor hay html editor ưa thích của bạn để tạo file có tên index.html, lưu cùng folder c:\helloworld với file config.xml và có nội dung sau:


    [code]<!doctype html>
    <html>
    <head>
    <meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1.0" />
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>hello world</title>
    <link rel="stylesheet" type="text/css" href="style.css" media="all" />
    <script type="text/javascript">

    var settingbarisshown = false; // mặc định setting bar của chúng ta ẩn ngay từ đầu

    function init(){
    if((typeof blackberry == "undefined") || (typeof blackberry.app == "undefined")){
    alert("not supported"); // thông báo nếu ứng dụng không chạy trên playbook hoặc không được phép sử dụng
    // (cần khai báo bằng thẻ tag <feature></feature> trong file config.xml ở trên.
    }else{
    // webworks api reference guide:
    // http://www.blackberry.com/developers/docs/webworks/api/playbook/

    blackberry.app.event.onswipedown(togglesettingbar) ; // trigger khi có thao tác vuốt từ cạnh trên xuống, togglesettingbar
    // sẽ take care event này.
    }
    }
    function togglesettingbar(){ // gọi function này khi xuất hiện event thao tác vuốt từ cạnh trên xuống của playbook.
    if(settingbarisshown){ // if it's shown then we hide it
    document.getelementbyid("settingbar").classname = "hidesettingbar";
    }else{ // if not, show it
    document.getelementbyid("settingbar").classname = "showsettingbar";
    }
    settingbarisshown = !settingbarisshown;
    }

    </script>
    <style type="text/css">
    #settingbar{
    position: fixed;
    top: -102px;
    left: 0px;
    width: 100%;
    height: 100px;
    "text-decoration: underline">lưu ý:[/color] copy 2 file client-pbdt-*********x.csjclient-rdk-*********x.csj đến cùng folder mà bạn đang ở dos console hoặc nơi chứ file .bat để chạy command:



    Mã:
    c:\sdk\bbwp\blackberry-tablet-sdk\bin\blackberry-signer -register -csjpin pppppp -cskpass ****** client-pbdt-*********x.csj client-rdk-*********x.csj
    trong đó:
    • pppppp chính là pin bạn tự đặt khi điền form đăng kí.
    • ****** chính là password bạn set ở bước 2.
    như vậy nếu không có lỗi xảy ra thì bạn đã đăng ký xong signing key cho tablet os application. bạn có thể sign key cho file bar của mình và cài lên playbook thật.

    quay lại phần package ứng dụng bên trên, chỉ là package thông thường, chưa sign key. nếu bạn muốn vừa package và sign key luôn cho file .bar của mình thì bạn edit file package.bat như sau:

    file package.bat (không zip file này vào helloworld.zip) có nội dung sau:


    Mã:
    c:\sdk\bbwp\bbwp helloworld.zip -gcsk ****** -gp12 ****** -buildid 1
    pause
    trong đó:
    • ****** chính là csk password và p12 password của key của bạn. nên set 2 password này giống nhau cho tiện.
    • -buildid 1: số 1 là bản build của ứng dụng. bất cứ lần nào có sign key thì bắt buộc build version phải thay đổi và khác các số build đã từng sign. ví dụ bạn package và sign lần đầu, bạn để số 1. lần thứ 2 bạn package và sign, bắt buộc con số này phải khác 1. chẳng hạn bạn build 10 lần, dùng build number là 1, 2, 3, 4, ..., 10. lần thứ 11 bắt buộc phải là con số khác với 1, 2, 3, ... 10. có thể là 11 hoặc 1100, hoặc 110000 hay whatever, miễn khác những bản build đã từng sign key. nếu không, khi package và sign sẽ báo lỗi package đã được sign từ trước. lưu ý chỉ khi có sign key mới cần build number, package thông thường thì không cần.
    done.

    ps: có thiếu sót hay sai sót các bạn góp ý để keeper sửa ngay nhé.

  2. #2
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    điểm lưu ý khá là quan trọng mà ko thấy keeper nói đến trong signing keys là:

    the csj files that you used to install your code signing keys can only be used once. they are disabled after a successful installation, which makes it important to back up your code signing keys after they have been installed. code signing keys can be restored to the original computer that they were installed to or restored to another computer. you can also use this information to transfer your code signing keys to multiple computers and sign from any of them.

    tạm dịch:

    file csj mà bạn sử dụng để làm signing keys có thể chỉ sử dụng được 1 lần. các file này sẽ không còn tác dụng (disable) ngay sau khi lần cài đặt thành công đầu tiên, vì vậy bạn cần back up lại code sign key này.
    code sign keys này sẽ có tác dụng khi mà bạn cài chúng lại trên máy tính khác

    back up:3 files author.p12, barsign.csk và bargsign.db
    • windows xp: %homepath%\local settings\application data
      esearch in motion
    • windows vista and windows 7: %homepath%\appdata\local
      esearch in motion
    • mac os: ~/library/research in motion
    • unix or linux: ~/.rim

  3. #3
    Ngày tham gia
    Nov 2015
    Bài viết
    0
    thanks for share....:d

  4. #4
    Ngày tham gia
    Jan 2016
    Bài viết
    445
    mình làm tới đoạn chạy file package.bat thì bị lỗi



    Mã:
    p:\blackberry\hello>c:\sdk\bbwp\bbwp helloworld.zip
    [info]                  parsing command line options
    [info]                  parsing bbwp.properties
    [info]                  validating webworks archive
    [info]                  parsing config.xml
    [info]                  populating application source
    [info]                  compiling webworks application
    error loading: c:\program files
    esearch in motion\blackberry webworks sdk for t
    abletos 2.2.0.5\jre\bin\client\jvm.dll
    [info]                  packaging the bar file
    java.io.filenotfoundexception: c:\users\***\appdata\local\temp\widgetgen.356
    0866511351356788650.tmp\helloworld.swf (the system cannot find the file specifie
    d)
            at java.io.fileinputstream.open(native method)
            at java.io.fileinputstream.<init>(unknown source)
            at net.rim.tumbler.file.filemanager.copyfile(filemanager.java:481)
            at net.rim.tumbler.airpackager.airpackager.run(airpackager.java:232)
            at net.rim.tumbler.widgetpackager.go(widgetpackager.java:152)
            at net.rim.tumbler.widgetpackager.main(widgetpackager.java:77)
    [error]                air packager exception occurred
     
    p:\blackberry\hello>pause
    press any key to continue . . .

  5. #5
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    mình làm theo hướng dẫn helloworld của chủ toppic thì chạy ok.
    còn về của bạn là chạy file .swf (file flash) mình chưa làm qua, ko có kinh nghiệm.

    [info] packaging the bar file
    java.io.filenotfoundexception: c:\users\***\appdata\local\temp\widgetgen.356
    0866511351356788650.tmp\helloworld.swf (the system cannot find the file specifie
    d)

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •