abstractmatthdanny.blog.binusian.org/.../m0214-06plm-02-05-01.docx · web viewinside the qml...

37
MOBILE PROGRAMMING BLACKBERRY Oleh Geofrey Vincent 1501142176 Kevin 1501147851 Danny 1501148135 Jordy Jonatan 1501151262 Calvin 1501151880 06 PLM/Group 5 Universitas Bina Nusantara

Upload: dangdien

Post on 07-Mar-2018

217 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

MOBILE PROGRAMMING

BLACKBERRY

Oleh

Geofrey Vincent 1501142176

Kevin 1501147851

Danny 1501148135

Jordy Jonatan 1501151262

Calvin 1501151880

06 PLM/Group 5

Universitas Bina Nusantara

Jakarta

2013 – 2014

Page 2: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

Table of ContentsABSTRACT..........................................................................................................................................3

CHAPTER 1.........................................................................................................................................4

Introduction..........................................................................................................................................4

1.1 Background...........................................................................................................................4

1.2 Scope......................................................................................................................................4

1.3 Purpose and Benefits............................................................................................................5

1.3.1 Purpose..........................................................................................................................5

1.3.2 Benefits..........................................................................................................................5

1.4 Methodology..........................................................................................................................5

1.5 Systematic of Writing...........................................................................................................5

CHAPTER 2.........................................................................................................................................7

Literature Review.................................................................................................................................7

2.1 Theory / General.........................................................................................................................7

2.1.1 Definition of Software..........................................................................................................7

2.1.2 Definition of Programming.................................................................................................7

2.1.3 Definition of Operating System (OS).................................................................................7

2.1.4 Definition of Compiler.........................................................................................................7

2.1.5 Definiton of Encapsulation..................................................................................................7

2.1.6 Definition of Polymorphism................................................................................................8

2.1.7 Definition of Inheritance.....................................................................................................8

CHAPTER 3.........................................................................................................................................9

Discussion..............................................................................................................................................9

What is BLACKBERRY ?...............................................................................................................9

Overview of the IDE.........................................................................................................................9

IDE in BlackBerry............................................................................................................................9

Build applications using the IDE...................................................................................................18

How to Compile?............................................................................................................................18

How to Publish?..............................................................................................................................19

Where’s the Community?..............................................................................................................21

CHAPTER 4......................................................................................................................................22

Conclusion and Suggestion................................................................................................................22

4.1 Conclusion.................................................................................................................................22

4.2 Suggestion.................................................................................................................................22

References...........................................................................................................................................23

CURRICULUM VITAE....................................................................................................................24

Page 3: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

ABSTRACTBlackberry is an advanced mobile smart phone that most people are using to keep in touch

with others. So that many Blackberry application developers want to develop the Blackberry

application in order to ease the usage of Blackberry and most people can do with the

smartphone Blackberry. Each feature have each own specifications and its own functions but

have connection to others in order to make a better system within the applications in

Blackberry. In order to that, learning the mobile applications programming is a must.

The purpose of writing is to understand about the basic information about Blackberry, the

IDE(Integrated Development Environment) that Blackberry are currently using, how to

compile the application, how to publish the application into the media, and Blackberry

community.

The analysis methodology tha used in the writing of this paper is data collection methods.

Data collection method is done by literature study from several journals and website to

support the purpose of writing this paper.

The result achieved from this paper is to know about how Blackberry mobile application is

designed, constructed, tested, and implemented. Beside that, we can know the mobile

programming language that are usually used by Blackberry developers. We must know how

to publishing too, because without that knowing, we cannot get the user feedback in order to

improve the mobile application for Blackberry.

Overall the conclusion of this study is intended to show the language in making the

programming of the Blackberry OS and all of the contents and its features.

Keyword

Blackberry mobile application, IDE, Programming Language, Compiling, Publishing, and

Blackberry Community.

Page 4: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

CHAPTER 1

Introduction

1.1 BackgroundBlackberry is nowadays mobile phone that are used by many people especially

at Indonesia. Blackberry are used by many people at Indonesia because of its

easy chatting feature that other mobile phone cannot provide. BBM stands for

Blackberry Messenger that cannot be used by other mobile phone. But now we

don’t discuss about the BBM, otherwise we will discuss about other

application in Blackberry because Blackberry have many other application that

have special feature in it.

One of the special feature in Blackberry is many people that can keep in touch

with other people anywhere and anytime. We can also use it to other usage like

send and receive email, design image, and as a reminder for working. Another

reason that Blackberry is very popular is, we can access internet in our

handheld, and Blackberry was the first handheld that enable user to access the

internet directly from their handheld.

For now our very concern is about mobile programming in Blackberry. In

order to know and develop more about application in Blackberry, we must

know the basic knowledge about mobile programming that Blackberry used.

The application language that Blackberry are using is Java and C++. And the

environment that Blackberry are using Momentics IDE. The compiler that

Blackberry are using is JDK ME. The tools that we can use for mobile

application programming is Eclipse and JVM.

1.2 ScopeThis paper is limited by the scope of the several journals that only discuss in

Blackberry about what is Blackberry, IDE that Blackberry are using, how to

compile the mobile application for Blackberry, how to publish it into the

media, and the Blackberry community.

Page 5: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

1.3 Purpose and Benefits

1.3.1 Purpose

The main purpose of this paper is to understand about the what is Blackberry,

IDE that Blackberry are using, how to compile the mobile application for

Blackberry, how to publish it into the media, and the Blackberry community.

1.3.2 Benefits

The benefit that could be attained will listed in below:

- For The Writer

o Have an information about Blackberry mobile programming.

o We could understand more about IDE, compile the Blackberry

application programming, and how to publish them.

o Have an information about Blackberry community.

1.4 MethodologyThe method that is being used in this paper is data collection or literature

study. In this method collecting data and information are being done by

looking from related journals and website about Blackberry mobile

programming.

1.5 Systematic of WritingChapter 1: Introduction

In this chapter explains about background of establishing this

paper, scope, purpose and benefits, methodology and systematic of

writing as well.

Chapter 2: Literature Review

In this chapter explains about all the theories that is going to be

used and as a framework within the writing and arranging in this

paper.

Chapter 3: Discussion

In this chapter describes about Blackberry mobile programming. We will

discuss about the what is Blackberry, IDE that Blackberry are using, how to

compile the mobile application for Blackberry, how to publish it into the

media, and the Blackberry community.

Page 6: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

Chapter 4: Conclusion and Suggestion

In this chapter consists of essays about the conclusion that has been

done by completing research and suggestions that we found during

the research.

Page 7: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

CHAPTER 2

Literature Review

2.1 Theory / GeneralThe theories on which the writing basic as follows:

2.1.1 Definition of SoftwareAccording to (Satzinger, Jackson, & Burd, Object-Oriented Analysis and Design

with Unified Process, 2005)p4, Software is a computer program that when executed

provide desired features, function, and performance.

According to (Rainer & Cegielski, 2011)p40, software is a program or collection of

programs that enables the hardware to process data.

According to (Liang, 2011)p29, Computer programs, known as software, are

instruction to the computer, telling it what to do. Computers do not understand

human languages, so you need to use computer languages in computer programs.

2.1.2 Definition of Programming

According to (Liang, 2011)p29, Programming is a creation of a program that is

executable by a computer and performs the required tasks.

2.1.3 Definition of Operating System (OS)

According (Liang, 2011)p31, The operating system (OS) is the most important

program that runs on a computer, which manages and controls a computer’s

activities.

2.1.4 Definition of Compiler

According to (Liang, 2011)p43, A compiler is software program that translates the

source program into a machine-language program.

2.1.5 Definiton of Encapsulation

According to (Schildt, 2005)p9, Encapsulation is a programming mechanism that

binds together code and the data it manipulates, and that keeps both safe from

outside interference and misuse.

Page 8: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

2.1.6 Definition of Polymorphism

According to (Schildt, 2005)p10, Polymorphism (from the Greek, meaning “many

forms”) is the quality that allows one interface to access a general class of actions.

2.1.7 Definition of Inheritance

According to (Schildt, 2005)p10, Inheritance is the process by which one object can

acquire the properties of another object.

Page 9: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

CHAPTER 3

Discussion

What is BLACKBERRY ?Blackberry was one of the first smart phones to come on the market. Blackberry is a smart

phone and a mobile email device that is made by Research in Motion. Why the people use

BlackBerry? The main reason that most people use a BlackBerry is because it allows them to

keep in touch with it anywhere they are to access the mobile internet. We also can use it as a

mobile phone, to send and receive email, or as an instant messenger. Another reason that

Blackberry is very popular is, we can access internet in our handheld, and Blackberry was the

first handheld that enable user to access the internet directly from their handheld. Blackberry

also offer us the QWERTY keyboard and their big screen that makes user easier to use it, and

also easy to find in the market.

Overview of the IDEIDE itself stands for Integrated Development Environment which is enables programmers to

develop software. IDE usually consist of source code editor, built automation, tools and a

debugger, some also contain compiler. IDE purpose is to reduce configuration, setup time, so

that the programmer can increase their productivity in developing system.

IDE (Integrated Development Environment) is based on the Eclipse Platform developed by

the Eclipse Foundation, an open consortium of tools vendors. It was a programming

environment that had been made into an application program, typically it was consisting of a

code editor, a compiler, a debugger, and also a graphical user interface (GUI) builder. The

IDE may be a standalone application or may be included as part of one or more existing and

compatible applications. The IDE provide a user-friendly framework for many modern

programming language, such as VB (Visual Basic), Java, and PowerBuilder. Many People are

designing a web sites today by using an IDE (such as HomeSite, DreamWeaver, or

FrontPage) for web site development that automates many of the tasks involved.

IDE in BlackBerryThe IDE that we use in the Blackberry is Momentics IDE, it has been to incorporate and into

the Eclipse framework several QNX-specific plugins that has been designed for building

projects, it means for target systems that running in the BlackBerry 10 operating system. The

tool suite provides a single, consistent, integrated environment, regardless of the host platform

Page 10: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

you're using (Windows, Mac, or Linux). However for all of the plugins it works from most

vendors within the Eclipse framework are used in the same way. To create the UI in the

editor, we can edit both C++ files and QML files. The editor provide some syntax

highlighting, formatting, code folding, and code completion for both C++ and QML.

There are some tools in developing Blackberry in order to develop its software, such as Java,

C++, and QML. Below, we will give a short summary of the three tools

1. Eclipse

Eclipse is a programming language that is mostly written in Java. It used to develop

applications and also could develop applications in other programming language, such as:

C, C++, JavaScript, PHP, etc. The Eclipse Software Development Kit (SDK) includes the

Java Development Tools (JDT) that enables user to have an automated Java compiler.

And it need Java Virtual Machine (JVM) as a tool to execute the Java programming

language and Java ME provides a robust, flexible environment for applications running

on mobile and embedded devices: mobile phones, set-top boxes, Blu-ray Disc players,

digital media devices, M2M modules, printers and more.

Java ME technology was originally created in order to deal with the constraints associated

with building applications for small devices. For this purpose Oracle defined the basics

for Java ME technology to fit such a limited environment and make it possible to create

Java applications running on small devices with limited memory, display and power

capacity.

2. C++

C++ is one of the most popular intermediate-level programming languages. It has

implemented on a various operating systems. C++ provides user with some features that will

help user in developing their software. C++ could act as an UI creator in developing

Blackberry. Here’s some example in creating UI through C++:

1. Create The Root Container

The first thing we have to do is creating the root container that will hold the

background and all of the UI components. We should inherit the container into

two containers, one for images, and another one for the slider. And we also need

to use a StackLayout to stack the images container above the slider container.

// Create the root containerContainer *contentContainer = new Container();contentContainer->setLayout(StackLayout::create());

Page 11: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

contentContainer->setTopPadding(20.0f);

References: (Create your UI with C++, 2014)

Next, we set the background color for the Container.

// Set the background to a dark colorcontentContainer->setBackground(Color::fromARGB(0xff262626));

References: (Create your UI with C++, 2014)

2. Add Images

Now we have to create a container inside the inherit class from the root container

to hold our images. We need to use DockLayout to make sure the images is on top

of another one, and we set its alignment in center position.

// Create the images containerContainer *imageContainer = new Container();imageContainer->setLayout(new DockLayout());imageContainer->setHorizontalAlignment(HorizontalAlignment::Center);

References: (Create your UI with C++, 2014)

After that, we must create all of our images. First, we have to find the source

folder of the images and make their alignment centered horizontally and vertically

within their parent container. After we've created the images, we add them to the

image container.

// Create the night imageImageView* night = ImageView::create("asset:///images/night.jpg");night->setHorizontalAlignment(HorizontalAlignment::Center);night->setVerticalAlignment(VerticalAlignment::Center);

// Create the day imageImageView* day =    ImageView::create("asset:///images/day.jpg").opacity(0);day->setHorizontalAlignment(HorizontalAlignment::Center);day->setVerticalAlignment(VerticalAlignment::Center);

// Add the images to the image containerimageContainer->add(night);imageContainer->add(day);

References: (Create your UI with C++, 2014)

3. Add a Slider

Now we have to create the last container to hold the slider. We use a left to right

StackLayout to stack the icons and slider horizontally. Some padding also needed

to give some space between it and the edges of the screen and the container above

it. The alignment is also set centered with its parent container.

Page 12: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

// Create the slider containerContainer* sliderContainer = Container::create()        .left(20.0f).right(20.0f).top(25.0f).bottom(25.0f);sliderContainer->setLayout(StackLayout::create()        .orientation(LayoutOrientation::LeftToRight));sliderContainer->setHorizontalAlignment(HorizontalAlignment::Center);

References: (Create your UI with C++, 2014)

After that, we create two image icons and. Next, we set some margins on both

ends of the slider to push the icons out and also set alignment to make it centered

horizontally, and also set the weight so that it expands to take up all the available

space in the container by using HorizontalAlignment::Fill.

The slider contains fromValue and toValue properties, which used to scale the

slider when the slider is in the left-most position its value is 0.0, and when it is in

the right-most position its value is 1.0. This is necessary because we can change

the image’s opacity using the slider, since opacity is also on a scale

from 0.0 to 1.0.

// Create the sliderSlider* opacitySlider = Slider::create()        .leftMargin(20.0f).rightMargin(20.0f);

opacitySlider->setLayoutProperties(StackLayoutProperties::create()        .spaceQuota(1.0f));opacitySlider->setHorizontalAlignment(HorizontalAlignment::Fill);

// Create the moon iconImageView* moon = ImageView::create("asset:///images/moon.png");moon->setVerticalAlignment(VerticalAlignment::Center);

// Create the sun iconImageView* sun = ImageView::create("asset:///images/sun.png");sun->setVerticalAlignment(VerticalAlignment::Center);

References: (Create your UI with C++, 2014)

After finish creating a slider, we must make it able to send events to the day

image to let it know that it needs to change its opacity. We can complete this by

using the signals and slots construct. Slot is a function to call some event, and a

signal is a function that when called, it will call the slots. In this case, the slot is

day image's setOpacity() function, which accepts a float as a parameter. The

signal is slider's immediateValueChanged() function, which accepts a float that

Page 13: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

represents the current slider position. We know we can connect the two of them

together because both signatures have the same variable.

// Connect the immediateValueChanged() signal// to the setOpacity() function.

// The connect) function returns a Boolean value.// Make sure to test the return value to detect any errors.

bool result = connect(opacitySlider,     SIGNAL(immediateValueChanged(float)),     day,     SLOT(setOpacity(float)));

// The Q_ASSERT statement indicates that the slot failed to// connect to the signal. This Q_ASSERT statement is only present in// debug loads. Make sure you know exactly why this has happened.// This is not normal, and will cause your app to stop working!Q_ASSERT(result);

// Indicate that the variable "result" isn't used in the rest// of the app. This prevents a compiler warning.Q_UNUSED(result);

References: (Create your UI with C++, 2014)

Every time the slider is moved, the immediateValueChanged() signal will tell the

slot to changes the opacity to reflect the new slider position.

After that, we have to add the slider and the moon and sun images to the slider

container, and add all the containers to contentContainer. Finally, we create an

instance of Page using contentContainer, and set the scene by

calling Application::instance()->setScene(page).

    // Add the slider and icons to the slider container    sliderContainer->add(moon);    sliderContainer->add(opacitySlider);    sliderContainer->add(sun);

    // Add the image and slider container to the content container,    // then add the content container to the root    contentContainer->add(imageContainer);    contentContainer->add(sliderContainer);

    // Create a page using the root container and set the scene    Page *page = new Page();    page->setContent(contentContainer);

Page 14: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

    app->setScene(page);}

References: (Create your UI with C++, 2014)

When you run, the application should be finished.

3. QML

QML is a language to designing UI applications. QML stands for Qt Meta Language. QML

also can be integrated and combined with C++ files.

import bb.cascades 1.2

Page { Container { //Todo: fill me with QML Label { // Localized text with the dynamic translation // and locale updates support text: qsTr("Hello World") + Retranslate.onLocaleOrLanguageChanged textStyle.base: SystemDefaults.TextStyles.BigText } }}

References: (Create your UI with QML, 2014)

Inside the QML document, the root component is Page, a subclass of AbstractPane, which

represents a page that will display what you want to see in your application. The next

component is the root Container for the application. In this case, the only object in the

container is a basic Label that has a textStyle set and is marked for translations using

the qsTr() function.

The first thing we have to do is create a root Container, because it will hold all of the app’s UI

elements. And after we create it, we can edit such as the background color, add images, add a

slider.

Here is the step if you want to create a simple UI by using a QML:

1. Choose your color:

Select a color for your background, and your QML file should look like this:

import bb.cascades 1.2

Page {    Container {

Page 15: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

        id: containerID        background: Color.create ("#262626")        topPadding: 20.0        layout: StackLayout {}    }}

References: (Create your UI with QML, 2014)

Now the application already has a background. We can directly see the layout and

check whether it is aligned with our code or not. As you update your code, the QML

Preview is updated along with it. You can switch to the preview by clicking the

Design Mode button at the top of the editor.

2. Add Images

We need to create another Container to hold our images.

// The images containerContainer {    horizontalAlignment: HorizontalAlignment.Center    layout: DockLayout {}

Page 16: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

References: (Create your UI with QML, 2014)

Different with the root Container, this container uses a DockLayout, because we want

to put the layer in front of one another and dock them to the center of the container.

The alignment of the Container is set to horizontal center alignment so that it is

centered within its parent's stack layout.

Now we can insert the images that we want to input into the container.

Each image alignment is set so that the images are centered horizontally within their

parent's DockLayout.

3. Add Slider

Finally, we need to create one more Container. This was created to hold our slider.

// The slider containerContainer {    leftPadding: 20    rightPadding: 20    topPadding: 25    bottomPadding: 25    layout: StackLayout {        orientation: LayoutOrientation.LeftToRight    }

References: (Create your UI with QML, 2014)

The biggest difference with another container is that we’re changing the direction of

the layout, so it will move from left to right, despite top to bottom. We also give some

padding on each side of the container so that its content will not pushed right up

against the edge of the screen and the container above it.

    // The night image

    ImageView {

        id: night

        imageSource: "asset:///images/night.jpg"

        horizontalAlignment: HorizontalAlignment.Center

    }

    // The day image. Opacity is set to 0.0 on construction

    // so that the night image is visible behind it.

    ImageView {

        id: day

        opacity: 0

        imageSource: "asset:///images/day.jpg"

        horizontalAlignment: HorizontalAlignment.Center

    }

} // End of the images container

References: (Create your UI with QML, 2014)

Page 17: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

The last thing we must do is insert our image icons and slider to the container. We add

margins to each end of the slider so the sun and moon icons are not flush against its

edges. This little bit of space makes the UI seem less crowded and more visually

appealing. We also set the spaceQuota to 1 so that the slider takes up any extra

available space in the container.

            // The moon icon            ImageView {                imageSource: "asset:///images/moon.png"                verticalAlignment: VerticalAlignment.Center            }            // The slider used to adjust the opacity of the image            Slider {                leftMargin: 20                rightMargin: 20                horizontalAlignment: HorizontalAlignment.Fill                layoutProperties: StackLayoutProperties {                    spaceQuota: 1                }                onImmediateValueChanged: {                    // This is where the day-night opacity                    // value is set.                    day.opacity = immediateValue;                }            }            // The sun icon            ImageView {                imageSource: "asset:///images/sun.png"                verticalAlignment: VerticalAlignment.Center            }        } // End of the slider container    } // End of the root container} // End of the page

References: (Create your UI with QML, 2014)

The Slider has fromValue and a toValue property, which we can use to set a scale for

the slider. The slider also has an immediateValueChanged()signal, which is emitted

while the value of the slider is changing.

In order to capture the signal, a corresponding signal handler is needed to be

implemented. A signal handler in QML is simply the signal name with the "on" prefix

(in this case, it's onImmediateValueChanged). Within the signal handler, we then set

the opacity of the day time image to the new position of the slider.

Just build and run the application and you're done.

Page 18: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

References: (Create your UI with QML, 2014)

Build applications using the IDEHow to make an application by using IDE? After we search through a set of related windows,

the IDE presents various ways of viewing and working with all the components that comprise

your system. In terms of the tasks you can perform, the toolset lets you:

- organize your resources (projects, folders, files)

- edit resources

- collaborate on projects with a team

- compile, run, and debug your programs

- analyze and fine-tune your system's performance

The IDE that we use doesn't require you to abandon the standard BlackBerry 10 operating

system tools and Make a file structure. On the contrary, it relies on those tools. If you

continue to build programs at the command line, you can also benefit from the IDE tools, such

as the QNX System Analysis tool, which can literally show you, in dynamic graphical ways,

exactly what your system is doing.

How to Compile?After we make a QML files that are stored within the app’s assets folder in the file system,

Compiling the application would be become another way that you can decrease your app’s

loading times, because in the application they doesn’t need to compile the resources again. To

help speed up the load times for QML you just need to compile your QML files as a resource.

So, when you compile your QML as a resource the QML will not technically compiled since

Page 19: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

it was still needed to be parsed and read.

However there are still 4 tasks that you need to complete if you want to compile the QML into

your own application, and that 4 tasks are described below:

1. Create the .qrc file

Why we need to create this .qrc files? Because the first step to compiling the resources

is to create this .qrc files in the same location that we save our project file. In this case, the file

we save will be called as a qrc-assets.qrc and it is created.

2. Modify the .pro file

Next after we create the .qrc file and have saved in the same location as the project

file, we need to modify our application’s project file into a reference. Why we need to modify

it? Because we need to make the reference of the .qrc file that you created.

3. Make a reference .qml files

Within your java application code, you need to make changes to how you load a .qml file into

the application. The example of this reference:

QmlDocument *qml = QmlDocument::create("asset:///main.qml");

And you must change it into this one:

QmlDocument *qml = QmlDocument::create("qrc:/assets/main.qml");

4. Filter out other .qml files

And Then the last tasks that you need are to filtering the other .qml files, why?

Because you need to prevent the application from mistakenly scanning and loading the .qml

files rather than those bundled in the binary, you should ensure that the .qml files are removed

from the assets directory on the device.

How to Publish?If you want to publish your BlackBerry Application there are already a place for you to

publish it and it was in the BlackBerry World but for you to publish your application you must

do this, there are 7 task that you must do if you want to publish your application:

- Getting Started

In here, you need to learn how to prepare your application and get your releases ready to post

on the BlackBerry World storefront.

- Setting up your app in BlackBerry World

Page 20: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

After you have worked hard to create your awesome app, now what you need to do is to

review a tips, then start with the guidelines for naming your apps, check that your release is

ready, if you don’t already have one of the vendor account then you need to apply for a

vendor account in the vendor portal, after that you need to review your guidelines and criteria,

then submit your app, create a release and add any digital goods, when you’re ready then all

you need to do is submit your apps for approval.

- Uploading your release and adding digital goods

Before you can submit your app for approval and distribute it on BlackBerry World storefront,

what you need is to add a release. After when you add a release then you have upload your

application and information for export regulations, user safeguards, and digital rights.

- Managing apps and running reports

If you want to manage your apps, you can search for your apps on the vendor portal and

change the content for your app to become what you design then you need to apply to the built

for the Blackberry program. Not just that, in the vendor portal you can also make your apps

become available or unavailable on the BlackBerry World so you don’t need to be afraid that

your apps will collapse from the BlackBerry World. If it does, just make it available again

then. And for the report just create it on BlackBerry World vendor portal by log in into your

account and just make your annual reports in the options.

- Managing vendor portal accounts

Just register for creating a vendor account, there is no registration fee, after that the

BlackBerry will reviews your application and will sends you an email message if you are

approved, then after you have the account just manage your vendor portal just what you like.

- Make your release note

By you making a release note so that any people that looking into your application will know

that there are a new features and when you upgrade your application there are fixed issues and

known issues will be shown in your vendor account.

- FAQ (Frequently Asked Questions)

You must make this to give a knowledge for the users of your application which is support for

the blackberry operating system version, what is the application general for the users, making

a purchasing, billing and invoicing. The support that you used.

Page 21: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

Where’s the Community?You can see the community for the BlackBerry at the support forum; in there you can search

for a Community at a glance, the community activity and the community hub such as blog

feed, a recently solved problem, and such as BlackBerry solutions, training and certification

then the cloud services for Microsoft office 365.

Blackberry community Indonesia one of them is berryindo.com, when you want to know more

about berryindo.com, all in FORUM http://www.BerryIndo.com/forum Blackberry Indonesia

Community Share BlackBerry Info, Updates, News, Jokes. Berryindo.com provide

information sharing about developing application in Blackberry.

Page 22: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

CHAPTER 4

Conclusion and Suggestion

4.1 Conclusion We understand about the Blackberry mobile application and its features. As we know that

Blackberry mobile application needs Momentics IDE as its environment while creating

Blackberry mobile application with its language: Java, C++, and QML(Qt Meta Language). In

developing the Blackberry mobile application needs tools: Eclipse SDK (Software

Development Kit), JVM (Java Virtual Machine), Java ME.

4.2 SuggestionBased on our researches of Rapid Development, we suggest that if the circumstances are met

and the business key personnel which need faster and shorten yet effectively timeframe when

doing the development of the system, using the Rapid Development is the best methodology

that are best to use because Rapid Development shorten the timeframe meetings between

business key personnel and IS management and because of that too shorten minimal planning

which are resulting faster decisions when developing the system and also can be used to

implement the system along the everyday operation.

Based on our researches of Blackberry mobile application programming, we suggest that if

developers of Blackberry mobile application using Java. Because Java is easily to conduct and

use in developing Blackberry mobile application and with its tools: Java ME. Java ME

provides a robust, flexible environment for applications running on mobile and embedded

devices: mobile phones, set-top boxes, Blu-ray Disc players, digital media devices, M2M

modules, printers and more.

Java ME technology was originally created in order to deal with the constraints associated

with building applications for small devices. For this purpose Oracle defined the basics for

Java ME technology to fit such a limited environment and make it possible to create Java

applications running on small devices with limited memory, display and power capacity.

Page 23: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

ReferencesBlackBerry Smartphone. (2009-2014). Diambil kembali dari www.bbscnw.com:

http://www.bbscnw.com/

Create your UI with C++. (2014). Diambil kembali dari Native SDK for Blackberry 10: http://developer.blackberry.com/native/documentation/cascades/getting_started/first_app/lightning_crossfade_cpp.html

Create your UI with QML. (2014). Diambil kembali dari Native SDK for Blackberry 10: http://developer.blackberry.com/native/documentation/cascades/getting_started/first_app/lightning_crossfade_2.html

Liang, Y. D. (2011). Introduction to Java Programming Comprehensive Version Eight Edition. New Jersey: Pearson Higher Education.

Rainer, K. R., & Cegielski, C. G. (2011). Introduction to INFORMATION SYSTEMS Enabling and Transforming Business. Danvers: John Wiley & Sons, Inc.

Satzinger, J. W., Jackson, R. B., & Burd, S. D. (2005). Object-Oriented Analysis and Design with Unified Process. Boston: Course Technology Cengage Learning.

Schildt, H. (2005). JAVA A Beginner's Guide Thrid Edition. United States of America: The McGraw-Hill Companies.

Page 24: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

CURRICULUM VITAE

Name : Geofrey Vincent

Place, Date of Birth : Jakarta, 17 November 1993

Gender : Male

Address : Jl. Bambu Betung 3 No.18, Bojong Indah

Phone Number : 08170171193

Education History and Course :

A. Junior High School : SMP Santo Yosef , Surabaya - Indonesia

B. Senior High School : SMA Tarakanita 2 , Jakarta - Indonesia

C. Present : BINUS University, Jakarta

Page 25: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

CURRICULUM VITAE

Name : Danny

Place, Date of Birth : Jakarta, 24 September 1992

Gender : Male

Address : Kemanggisan Raya No.59

Phone Number : 08989956151

Education History and Course :

D. Junior High School : SMP Tarsisius 2, Jakarta - Indonesia

E. Senior High School : SMA Regina Pacis, Jakarta - Indonesia

F. Present : BINUS University, Jakarta

Page 26: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

CURRICULUM VITAE

Name : Jordy Jonatan

Place, Date of Birth : Pontianak, 20 Mei 1993

Gender : Male

Address : Citra 2 Extention blok BI 2 no.42

Phone Number : 089660600281

Education History and Course :

G. Junior High School : SMP San Marino, Jakarta - Indonesia

H. Senior High School : SMA San Marino, Jakarta - Indonesia

I. Present : BINUS University, Jakarta

Page 27: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

CURRICULUM VITAE

Name : Kevin

Place, Date of Birth : Jakarta, 8 Februari 1994

Gender : Male

Address : Jl. Hanura 2 no. 33A

Phone Number : 08176783182

Education History and Course :

J. Junior High School : SMP Kristen Ketapang 1, Jakarta - Indonesia

K. Senior High School : SMA Kristen Ketapang 1, Jakarta - Indonesia

L. Present : BINUS University, Jakarta

Page 28: ABSTRACTmatthdanny.blog.binusian.org/.../M0214-06PLM-02-05-01.docx · Web viewInside the QML document, the root component is Page, a subclass of AbstractPane, which represents a page

CURRICULUM VITAE

Name : Calvin

Place, Date of Birth : Jakarta, 10 November 1990

Gender : Male

Address : Jl. Krendang Raya No. 19

Phone Number : 089610584943

Education History and Course :

M. Junior High School : SMP St. Tarsisius, Singkawang - Indonesia

N. Senior High School : SMA Damai, Jakarta - Indonesia

O. Present : BINUS University, Jakarta