Wednesday, March 27, 2013

Android Software Development



1) Android software development is the process by which new applications are created for the Android operating system.

2) Applications are usually developed in the Java programming language using the Android Software Development Kit, but other development tools are available.

3) Methods

3a) Android SDK + Eclipse + Java (http://developer.android.com/training/index.html)



3b) Android SDK + Basic4Android (http://www.basic4ppc.com/)


3c) Appcelerator + JavaScript (http://www.appcelerator.com/)


3d) PhoneGap (http://phonegap.com/) and https://build.phonegap.com/ .



Sunday, March 10, 2013

iOS Application Development Using Xcode 4.6


1) iOS (previously iPhone OS) is a mobile operating system developed and distributed by Apple Inc. 

2) Originally released in 2007 for the iPhone and iPod Touch, it has been extended to support other Apple devices such as the iPad and Apple TV. 

3) Unlike Microsoft's Windows Phone (Windows CE) and Google's Android, Apple does not license iOS for installation on non-Apple hardware. 

4) As of September 12, 2012, Apple's App Store contained more than 700,000 iOS applications, which have collectively been downloaded more than 30 billion times.



5) The user interface of iOS is based on the concept of direct manipulation, using multi-touch gestures. 

6) Interface control elements consist of sliders, switches, and buttons. 

7) Interaction with the OS includes gestures such as swipe, tap, pinch, and reverse pinch, all of which have specific definitions within the context of the iOS operating system and its multi-touch interface.

8) Internal accelerometers are used by some applications to respond to shaking the device (one common result is the undo command) or rotating it in three dimensions (one common result is switching from portrait to landscape mode).




DEVELOPMENT


9) On October 17, 2007, Steve Jobs announced that a software development kit (SDK) would be made available to third-party developers in February 2008. The SDK was released on March 6, 2008, and allows developers to make applications for the iPhone and iPod touch, as well as test them in an "iPhone simulator". However, loading an application onto the devices is only possible after paying an iPhone Developer Program fee.

10) Users can create and develop iOS Applications using a free copy of Xcode, however they cannot test their applications on a physical iOS device, post them to the App store or make profit from their applications without first paying the $99.00 iPhone Developer or Mac Developer Program fee.

11) Since the release of Xcode 3.1, Xcode is the development environment for the iOS SDK. iPhone applications, like iOS and OS X, are written in Objective-C.








STARTING XCODE 4.6


1) If you haven't got Xcode software in your Mac OSX, you can download from https://developer.apple.com/xcode/



2) Once it is installed, Xcode can be found in the Applications Directory. You can place Xcode at the dock for faster access.



3) If you run Xcode for the first time, it would look like below.


iOS Development: An Overview

1) iOS
2) Xcode + Objective-C + Nib + Storyboard
3) Developer License
4) Xcode IDE
5) Standard Steps and Wizards.
6) Project Categories and Types.
7) Standard Components.

Continue to create first application

Friday, March 1, 2013

Data and Operators Concept

This tutorial uses JavaScript Language to demonstrate the underlying concepts.

1) Computer basically performs three basic tasks:
1a) Input values from user.
1b) Process input values.
1c) Output results back to user.

2) A simple output statement.
2a) The following is a simple output statement.
2b) See the output here http://ideone.com/JwDA2B.
2c) This program output values that have been set before the run time. It is also called "hardcoded", i.e the value is fixed throughout the run time.

3) A simple processing statement
3a) The codes in (2) have been modified to include some data operations.
3b) See the output here http://ideone.com/Et6f4O .
3c) The codes show the sample of data operations involving String data type and Number data type.
3d) The initial values of the data are still hardcoded.

4) A simple input-process-output statements
4a) The codes in (3) have been modified to include variable declaration, initialization and input statements.
4b) See the output here http://ideone.com/l3SVWQ .
4c) The codes shows the data input and data operation (string and number). Data that holds input value is commonly called VARIABLE. In this example, username is STRING VARIABLE and firstnum and secondnum are NUMBER VARIABLE.
4d) Notice that the "+" data operator works according to the context of data types ( for STRING VARIABLE, '+' means concatenate and for NUMBER VARIABLE, '+' means mathematical add operation.)
4e) Notice that the use of variables makes this program dynamic, i.e it can take input values during run time. In this examples, the variables are said to be "softcoded".



Program Control Structure Concept

This tutorial uses JavaScript Language to demonstrate the underlying concepts. You may also try the JavaScript interactive console at http://www.squarefree.com/shell/ .

1) To solve programming problems, programmers normally write a list of statements.

2) By default, computer execute the statements sequentially from top to bottom of the list. However, some solutions are not straightforward and sequential steps could not solve them. Therefore, a Program Control Structure Concept is introduced.

2) Program Control Structure defines how the execution control move from one statement to another.

3) In general, there are three types of Control Structure:
3a) Sequential 
3b) Selection
3c) Loop

By using the combination of these three Control Structures, programmers would now be able to write most solutions.

4) Sequential Control Structure
4a) The following shows an example of program statements: 4b) See the output at http://ideone.com/u0TQIG.

5) Selection Control Structure
5a) The following shows an example of program statements:
5b) See the output at http://ideone.com/ES55HX.

6) Loop Control Structure.
6a) The following shows an example of program statements:
6b) See the output at http://ideone.com/LCNPbQ .









Computer Programming Concept



1) Computer Programming refers to activities of writing computer instructions.

2) These instructions may be used to control system hardware and software or to carry out data processing tasks according to the organization needs.

3) Computer Instructions may be composed of human language words, mostly English language, i.e called a high-level language or may be written  using short codes representing computer system memory address and data operations, i.e called a low-level language.

3a) Low-level Language

3b) High-level Language

4) A person who writes a computer program is called Programmer.

5) Programmer writes instructions using set  of predefined keywords called Programming Language. At present, there are more than 100 programming languages (http://en.wikipedia.org/wiki/List_of_programming_languages). In practice, mastering one language is sufficient for a programmer to write an effective computer program.

6) In general, computer programming activities include the following stages:
1. problem analysis
2. design of the program
3. algorithm and flow chart
4. coding of the program
5. debugging and testing
6. documentation
7. maintenance of program

These stages are often referred as Program Development Life Cycle (read more)