SlideShare ist ein Scribd-Unternehmen logo
1 von 38
 Ambarish Hazarnis

 Pawan Sirse
How to Develop Mobile Apps ?


                              Mobile app



                                                      Cross
          Core SDKs
                                                    Platform



                                               Web
I-Phone    Android    Blackberry                               Titanium
                                            Framework



                                       Mobile       Sencha
                                       Jquery        Touch
Web Frameworks for application
development are . . .




                             - Loren Brichter,
                                creator
                     “Twitter for iPhone”/Tweetie
 Titanium is an open source framework for building
  Native mobile applications.

 Open Source (Apache 2.0).

 Supported OS :
           iOS
           Android
           BlackBerry
           webOS

 Has its Own IDE with code completion & debugging*
  support.

 Facilitates for submitting the app on Market.
Requirements:

>For Android Emulator & Development
 1.Sun Java Development Kit 6 (aka 1.6)
 2.Android Development Kit

>For Building Titanium Mobile
 1.Python 2.5/2.6
 2.Scons 1.2.0.x
 3.Git
Installing JAVA
Setting up the environment and path


1. Goto : Control Panel > System & Security > System
        > Advanced System Settings > Environment Variables.

2. Goto : Path in System Variables & Edit.

3. Add : C:Javajdk1.6.0_21bin; to path.
Verify Java Install



1. Open a new command window and enter the command below.
    > javac -version

2. If you've configured the PATH correctly, you should see something
   similar to.




3. This means our JAVA is installed correctly.
Installing the Android Development Kit (ADK)

1.Launch the installer_r09-windows setup.

2.Rename the destination folder as C:android-sdk.
3.Start the SDK manager.
4.Cancel the Installation of packages.
5.Copy and replace the platforms, platform-tools, extras, temp folders
  from DVD to C:/android-sdk.
6. Click Refresh in the Installed Packages option of AVD Manager.
   You will see something like this
7.Add the ADK to the PATH
  1. Add : C:android-sdktools;C:android-sdkplatformsandroid-4tools;
     before the JAVA path.


8.Workaround for a missing adb
  Due to a recent change in the Android SDK file structure, Titanium Developer
  expects the adb.exe executable to be in pathtoandroid-sdk-windowstools
  whereas it currently resides in pathtoandroid-sdk-windowsplatform-tools.

  To resolve this issue:
           >Simply copy adb.exe and AdbWinApi.dll from platform-tools
           to the tools directory.

  NOTE: Remember to repeat this process with adb each time
        Google updates the Platform-Tools package, or Android
        SDK itself.
Verify ADK Install
1. Open a new command window and enter the commands below.
     > aapt v
     > android list
2. If you've configured everything correctly, you should see something
   similar to.
Install Python 2.7.x

1.Launch the Python installer and use the defaults.



                             Verify Install
1. Open a new command window and enter the commands below.
     > python --version
2. If you've configured everything correctly, you should see something
   similar to.
Install SCons 1.2.0.x


1.Launch the SCons installer and use the defaults.

                              Verify Install

1. Open a new command window and enter the commands below.
     > scons --version
2. If you've configured everything correctly, you should see something
   similar to
Install Git

1.Launch the Git Installer.
2.Click Next to start the setup.
3.Click Next to accept the License Agreement.
4.Set Destination Folder as C:Git.
5.Ensure that the following packages are selected for installation & click NEXT.
6.Leave the default Git text in the text field and click Next .
7.Select Run Git from the Windows Command Prompt radio button
  & click Next.
8.Select Checkout as-is, commit as-is radio button & click Next.
9. Wait for the installation to complete.
10.Click the Finish button to complete the installation.

                              Verify Install

1. Open a new command window and enter the commands below.
     > git --version
     > git config –list
2. If you've configured everything correctly, you should see something
   similar to
Install Titanium Studio


1.Launch the Titanium Studio setup.
2. Click Next to start.
3.Click I Agree to accept the License Agreement.
4.Set the destination folder to C:Titanium Studio & click Next.
5.Click Next.
6.Click Next.
6.Click Install to start Installation.
7.Click Next.
8.Click Close.
9.Launch the Titanium Studio from Desktop.
10.Set the Workspace to C:Titanium Studio Workspace.
Lets run our first app on emulator

1.Goto: File>New>Titanium Mobile Project
2.Fill the Details of the App & click Finish.
Run the code.
After the Studio displays : Deployed hello ... Application should be running.
You will see something like this in the emulator
The Application Project Structure

• Build
          .apk

• Resources
       app.js
       Splash Screen
       Application Icon

• Tiapp.xml



Titanium follows MVC : Model-View-Controller
The Titanium Architecture




How does Titanium work ?

   • Pre-compiler

   • Front-end compiler

   • Platform compiler & packager
Titanium Design Concepts




The following are the major design components in Titanium:

    • Windows - windows host one or most Views

    • Views - views draw content on the screen

    • Widgets - widgets are special types of views that
      perform specific actions like buttons
Self-contained Windows

  For example, to create a simple Window, you could do the following:




var win = Ti.UI.createWindow();    >>Window is similar to page of HTML

var view = Ti.UI.createView({     >>One window can have many views
backgroundColor:'red',
width:200,
height:150,
top:150
});

win.add(view);                    >> Add view to the window.

win.open();                        >> Open the window.
For Alert:

    view.addEventListener(‘click',function()
    {
      alert(‘You clicked Upper View’);
    });


Create a new View for animation

    var view2 = Ti.UI.createView({
    backgroundColor:'red',
    width:50,
    height:50,
    bottom:50
    });

    win.add(view2);
Adding interactivity


For Animation


view2.addEventListener(‘dbclick',function()
{
  view2.animate({
         width:150,
         height:150,
         duration:1000
         });
});
Labels


                         Text to be displayed on screen



var mylabel = Titanium.UI.createLabel({
    text: 'Wow! This is a Label',
    height:'auto',
    width:'auto',
    color:'#900',
    font:{fontSize:20},
    textAlign:'center',
    top: 10
});
Text Fields


                         Text to be entered within a field



var tf1 = Titanium.UI.createTextField({
    hintText: 'You Name Here',
    height:35,
    top:40,
    left:10,
    width:250
});

tf1.addEventListener('blur',function(e){       //if focus moved away from tf1
        alert('Welcome ' + tf1.value);
});
Button


                      Add your own buttons and functions



var button = Titanium.UI.createButton({       //create Button
  title: 'Hello !',
  width: 100
});

win.add(button);

button.addEventListener('click',function(e)   //if button is clicked
{
  alert("You just clicked the button");       //display alert message
});
Picker


                    Add Picker which functions as drop-down box



var picker = Titanium.UI.createPicker();
var data = [];
data[0]=Titanium.UI.createPickerRow({title:'Bananas'});
data[1]=Titanium.UI.createPickerRow({title:'Strawberries'});
data[2]=Titanium.UI.createPickerRow({title:'Mangoes'});
data[3]=Titanium.UI.createPickerRow({title:'Grapes'});

picker.add(data);
win.add(picker);

picker.addEventListener('change',function(e){         //if picker is changed
         alert('You selected '+e.row);
});
Activity Indicator


         Display this if some Activity is to be performed in background



var actInd = Titanium.UI.createActivityIndicator({   //activity indicator
    height:50,
    width:10,
    message: 'You cannot do anything now'
});

actInd.show();
Animations


                    We can add Animations to any widgets



var animation = Titanium.UI.createAnimation({         //define animation
        height:100,
        duration:1000,
        repeat:5,
        autoreverse:true
});

Object.animate(animation);        //start animation
ImageView


Eg: ImageView from Titanium API



var myimage = Ti.UI.createImageView({
 image: 'android/appicon.png',
 width:128,
 height:128,
 borderColor:'#aaa',
 borderRadius:10,
 borderWidth:5
});
Adding interactivity to ImageView

On Touch Start:

    myimage.addEventListener('touchstart',function(e)
    {
      myimage.animate({
            width:200,
            height:200,
            duration:500
            });
    });


On Touch End:

   myimage.addEventListener('touchend',function(e)
   {
     myimage.animate({
           width:128,
           height:128,
           duration:500
           });
   });
Table View


                         Creation of static or dynamic Tables



var data = [{title:"Row 1"},{title:"Row 2"}];
data.push({title:'Row 3'});

var table = Titanium.UI.createTableView({       //static creation of table
          data:data,
          backgroundColor: 'blue',
          rowHeight: 20,
          separatorColor: 'red'
});

table.appendRow({title:'Row 4'});               //dynamically add rows to table

table.addEventListener('click',function(e){
         alert(e.rowData.title);
});
Titanium Appcelerator - Beginners

Weitere ähnliche Inhalte

Was ist angesagt?

Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Mikkel Flindt Heisterberg
 
Building apps for multiple devices
Building apps for multiple devicesBuilding apps for multiple devices
Building apps for multiple devicesTerry Ryan
 
Ios actions and outlets
Ios actions and outletsIos actions and outlets
Ios actions and outletsveeracynixit
 
Appium Mobile Testing: Nakov at BurgasConf - July 2021
Appium Mobile Testing: Nakov at BurgasConf - July 2021Appium Mobile Testing: Nakov at BurgasConf - July 2021
Appium Mobile Testing: Nakov at BurgasConf - July 2021Svetlin Nakov
 
不能承受的感動 - iOS App實機測試
不能承受的感動 - iOS App實機測試不能承受的感動 - iOS App實機測試
不能承受的感動 - iOS App實機測試彼得潘 Pan
 
打造你的第一個iPhone APP
打造你的第一個iPhone APP打造你的第一個iPhone APP
打造你的第一個iPhone APP彼得潘 Pan
 
iPhone University Developer Program
iPhone University Developer ProgramiPhone University Developer Program
iPhone University Developer ProgramJussi Pohjolainen
 
Mobile App Testing ScanAgile 2012
Mobile App Testing ScanAgile 2012Mobile App Testing ScanAgile 2012
Mobile App Testing ScanAgile 2012Daniel Knott
 
Ti.conf titanium on firefoxos
Ti.conf titanium on firefoxosTi.conf titanium on firefoxos
Ti.conf titanium on firefoxosAlessio Ricco
 
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014Andrew McElroy
 
Developing AIR for Mobile with Flash Professional CS5.5
Developing AIR for Mobile with Flash Professional CS5.5Developing AIR for Mobile with Flash Professional CS5.5
Developing AIR for Mobile with Flash Professional CS5.5Chris Griffith
 
Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?Bitbar
 

Was ist angesagt? (20)

Desarrollo AIR Mobile
Desarrollo AIR MobileDesarrollo AIR Mobile
Desarrollo AIR Mobile
 
Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)
 
Building apps for multiple devices
Building apps for multiple devicesBuilding apps for multiple devices
Building apps for multiple devices
 
Ios actions and outlets
Ios actions and outletsIos actions and outlets
Ios actions and outlets
 
I Phone101
I Phone101I Phone101
I Phone101
 
Appium Mobile Testing: Nakov at BurgasConf - July 2021
Appium Mobile Testing: Nakov at BurgasConf - July 2021Appium Mobile Testing: Nakov at BurgasConf - July 2021
Appium Mobile Testing: Nakov at BurgasConf - July 2021
 
TiConf EU 2014
TiConf EU 2014TiConf EU 2014
TiConf EU 2014
 
不能承受的感動 - iOS App實機測試
不能承受的感動 - iOS App實機測試不能承受的感動 - iOS App實機測試
不能承受的感動 - iOS App實機測試
 
打造你的第一個iPhone APP
打造你的第一個iPhone APP打造你的第一個iPhone APP
打造你的第一個iPhone APP
 
iPhone University Developer Program
iPhone University Developer ProgramiPhone University Developer Program
iPhone University Developer Program
 
Mobile App Testing ScanAgile 2012
Mobile App Testing ScanAgile 2012Mobile App Testing ScanAgile 2012
Mobile App Testing ScanAgile 2012
 
Presentation
PresentationPresentation
Presentation
 
Ti.conf titanium on firefoxos
Ti.conf titanium on firefoxosTi.conf titanium on firefoxos
Ti.conf titanium on firefoxos
 
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
 
Developing AIR for Mobile with Flash Professional CS5.5
Developing AIR for Mobile with Flash Professional CS5.5Developing AIR for Mobile with Flash Professional CS5.5
Developing AIR for Mobile with Flash Professional CS5.5
 
Architecting iOS Project
Architecting iOS ProjectArchitecting iOS Project
Architecting iOS Project
 
Synapseindia android apps application
Synapseindia android apps applicationSynapseindia android apps application
Synapseindia android apps application
 
Your First Adobe Flash Application for Android
Your First Adobe Flash Application for AndroidYour First Adobe Flash Application for Android
Your First Adobe Flash Application for Android
 
Android programming-basics
Android programming-basicsAndroid programming-basics
Android programming-basics
 
Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?
 

Ähnlich wie Titanium Appcelerator - Beginners

Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]Sentinel Solutions Ltd
 
Using prime[31] to connect your unity game to azure mobile services
Using prime[31] to connect your unity game to azure mobile servicesUsing prime[31] to connect your unity game to azure mobile services
Using prime[31] to connect your unity game to azure mobile servicesDavid Voyles
 
Writing videogames with titanium appcelerator
Writing videogames with titanium appceleratorWriting videogames with titanium appcelerator
Writing videogames with titanium appceleratorAlessio Ricco
 
android training_material ravy ramio
android training_material ravy ramioandroid training_material ravy ramio
android training_material ravy ramioslesulvy
 
Android Bootcamp Tanzania:understanding ui in_android
Android Bootcamp Tanzania:understanding ui in_androidAndroid Bootcamp Tanzania:understanding ui in_android
Android Bootcamp Tanzania:understanding ui in_androidDenis Minja
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorialAbid Khan
 
Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Mikkel Flindt Heisterberg
 
iPhone/iPad Development with Titanium
iPhone/iPad Development with TitaniumiPhone/iPad Development with Titanium
iPhone/iPad Development with TitaniumAxway Appcelerator
 
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CAAppcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CAJeff Haynie
 
Introduction to Titanium and how to connect with a PHP backend
Introduction to Titanium and how to connect with a PHP backendIntroduction to Titanium and how to connect with a PHP backend
Introduction to Titanium and how to connect with a PHP backendJoseluis Laso
 
Android Tutorial
Android TutorialAndroid Tutorial
Android TutorialFun2Do Labs
 
How to build twitter bot using golang from scratch
How to build twitter bot using golang from scratchHow to build twitter bot using golang from scratch
How to build twitter bot using golang from scratchKaty Slemon
 
Local Notification Tutorial
Local Notification TutorialLocal Notification Tutorial
Local Notification TutorialKetan Raval
 
Implementation of Push Notification in React Native Android app using Firebas...
Implementation of Push Notification in React Native Android app using Firebas...Implementation of Push Notification in React Native Android app using Firebas...
Implementation of Push Notification in React Native Android app using Firebas...naseeb20
 
Tizen-based Samsung TV SDK Overview
Tizen-based Samsung TV SDK OverviewTizen-based Samsung TV SDK Overview
Tizen-based Samsung TV SDK OverviewRyo Jin
 
Android App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structureAndroid App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structureVijay Rastogi
 
What's great in Appcelerator Titanium 0.8
What's great in Appcelerator Titanium 0.8What's great in Appcelerator Titanium 0.8
What's great in Appcelerator Titanium 0.8Jeff Haynie
 

Ähnlich wie Titanium Appcelerator - Beginners (20)

Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]
 
Using prime[31] to connect your unity game to azure mobile services
Using prime[31] to connect your unity game to azure mobile servicesUsing prime[31] to connect your unity game to azure mobile services
Using prime[31] to connect your unity game to azure mobile services
 
Sencha Touch MVC
Sencha Touch MVCSencha Touch MVC
Sencha Touch MVC
 
Writing videogames with titanium appcelerator
Writing videogames with titanium appceleratorWriting videogames with titanium appcelerator
Writing videogames with titanium appcelerator
 
android training_material ravy ramio
android training_material ravy ramioandroid training_material ravy ramio
android training_material ravy ramio
 
Android Bootcamp Tanzania:understanding ui in_android
Android Bootcamp Tanzania:understanding ui in_androidAndroid Bootcamp Tanzania:understanding ui in_android
Android Bootcamp Tanzania:understanding ui in_android
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)
 
iPhone/iPad Development with Titanium
iPhone/iPad Development with TitaniumiPhone/iPad Development with Titanium
iPhone/iPad Development with Titanium
 
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CAAppcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
 
UIAutomator
UIAutomatorUIAutomator
UIAutomator
 
Introduction to Titanium and how to connect with a PHP backend
Introduction to Titanium and how to connect with a PHP backendIntroduction to Titanium and how to connect with a PHP backend
Introduction to Titanium and how to connect with a PHP backend
 
Android Tutorial
Android TutorialAndroid Tutorial
Android Tutorial
 
How to build twitter bot using golang from scratch
How to build twitter bot using golang from scratchHow to build twitter bot using golang from scratch
How to build twitter bot using golang from scratch
 
Local Notification Tutorial
Local Notification TutorialLocal Notification Tutorial
Local Notification Tutorial
 
04 objective-c session 4
04  objective-c session 404  objective-c session 4
04 objective-c session 4
 
Implementation of Push Notification in React Native Android app using Firebas...
Implementation of Push Notification in React Native Android app using Firebas...Implementation of Push Notification in React Native Android app using Firebas...
Implementation of Push Notification in React Native Android app using Firebas...
 
Tizen-based Samsung TV SDK Overview
Tizen-based Samsung TV SDK OverviewTizen-based Samsung TV SDK Overview
Tizen-based Samsung TV SDK Overview
 
Android App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structureAndroid App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structure
 
What's great in Appcelerator Titanium 0.8
What's great in Appcelerator Titanium 0.8What's great in Appcelerator Titanium 0.8
What's great in Appcelerator Titanium 0.8
 

Kürzlich hochgeladen

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Kürzlich hochgeladen (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

Titanium Appcelerator - Beginners

  • 2. How to Develop Mobile Apps ? Mobile app Cross Core SDKs Platform Web I-Phone Android Blackberry Titanium Framework Mobile Sencha Jquery Touch
  • 3. Web Frameworks for application development are . . . - Loren Brichter, creator “Twitter for iPhone”/Tweetie
  • 4.  Titanium is an open source framework for building Native mobile applications.  Open Source (Apache 2.0).  Supported OS : iOS Android BlackBerry webOS  Has its Own IDE with code completion & debugging* support.  Facilitates for submitting the app on Market.
  • 5.
  • 6. Requirements: >For Android Emulator & Development 1.Sun Java Development Kit 6 (aka 1.6) 2.Android Development Kit >For Building Titanium Mobile 1.Python 2.5/2.6 2.Scons 1.2.0.x 3.Git
  • 8. Setting up the environment and path 1. Goto : Control Panel > System & Security > System > Advanced System Settings > Environment Variables. 2. Goto : Path in System Variables & Edit. 3. Add : C:Javajdk1.6.0_21bin; to path.
  • 9. Verify Java Install 1. Open a new command window and enter the command below. > javac -version 2. If you've configured the PATH correctly, you should see something similar to. 3. This means our JAVA is installed correctly.
  • 10. Installing the Android Development Kit (ADK) 1.Launch the installer_r09-windows setup. 2.Rename the destination folder as C:android-sdk.
  • 11. 3.Start the SDK manager. 4.Cancel the Installation of packages. 5.Copy and replace the platforms, platform-tools, extras, temp folders from DVD to C:/android-sdk. 6. Click Refresh in the Installed Packages option of AVD Manager. You will see something like this
  • 12. 7.Add the ADK to the PATH 1. Add : C:android-sdktools;C:android-sdkplatformsandroid-4tools; before the JAVA path. 8.Workaround for a missing adb Due to a recent change in the Android SDK file structure, Titanium Developer expects the adb.exe executable to be in pathtoandroid-sdk-windowstools whereas it currently resides in pathtoandroid-sdk-windowsplatform-tools. To resolve this issue: >Simply copy adb.exe and AdbWinApi.dll from platform-tools to the tools directory. NOTE: Remember to repeat this process with adb each time Google updates the Platform-Tools package, or Android SDK itself.
  • 13. Verify ADK Install 1. Open a new command window and enter the commands below. > aapt v > android list 2. If you've configured everything correctly, you should see something similar to.
  • 14. Install Python 2.7.x 1.Launch the Python installer and use the defaults. Verify Install 1. Open a new command window and enter the commands below. > python --version 2. If you've configured everything correctly, you should see something similar to.
  • 15. Install SCons 1.2.0.x 1.Launch the SCons installer and use the defaults. Verify Install 1. Open a new command window and enter the commands below. > scons --version 2. If you've configured everything correctly, you should see something similar to
  • 16. Install Git 1.Launch the Git Installer. 2.Click Next to start the setup. 3.Click Next to accept the License Agreement. 4.Set Destination Folder as C:Git. 5.Ensure that the following packages are selected for installation & click NEXT.
  • 17. 6.Leave the default Git text in the text field and click Next . 7.Select Run Git from the Windows Command Prompt radio button & click Next.
  • 18. 8.Select Checkout as-is, commit as-is radio button & click Next.
  • 19. 9. Wait for the installation to complete. 10.Click the Finish button to complete the installation. Verify Install 1. Open a new command window and enter the commands below. > git --version > git config –list 2. If you've configured everything correctly, you should see something similar to
  • 20. Install Titanium Studio 1.Launch the Titanium Studio setup. 2. Click Next to start. 3.Click I Agree to accept the License Agreement. 4.Set the destination folder to C:Titanium Studio & click Next. 5.Click Next. 6.Click Next. 6.Click Install to start Installation. 7.Click Next. 8.Click Close. 9.Launch the Titanium Studio from Desktop. 10.Set the Workspace to C:Titanium Studio Workspace.
  • 21. Lets run our first app on emulator 1.Goto: File>New>Titanium Mobile Project 2.Fill the Details of the App & click Finish.
  • 22. Run the code. After the Studio displays : Deployed hello ... Application should be running. You will see something like this in the emulator
  • 23. The Application Project Structure • Build .apk • Resources app.js Splash Screen Application Icon • Tiapp.xml Titanium follows MVC : Model-View-Controller
  • 24. The Titanium Architecture How does Titanium work ? • Pre-compiler • Front-end compiler • Platform compiler & packager
  • 25. Titanium Design Concepts The following are the major design components in Titanium: • Windows - windows host one or most Views • Views - views draw content on the screen • Widgets - widgets are special types of views that perform specific actions like buttons
  • 26. Self-contained Windows For example, to create a simple Window, you could do the following: var win = Ti.UI.createWindow(); >>Window is similar to page of HTML var view = Ti.UI.createView({ >>One window can have many views backgroundColor:'red', width:200, height:150, top:150 }); win.add(view); >> Add view to the window. win.open(); >> Open the window.
  • 27. For Alert: view.addEventListener(‘click',function() { alert(‘You clicked Upper View’); }); Create a new View for animation var view2 = Ti.UI.createView({ backgroundColor:'red', width:50, height:50, bottom:50 }); win.add(view2);
  • 28. Adding interactivity For Animation view2.addEventListener(‘dbclick',function() { view2.animate({ width:150, height:150, duration:1000 }); });
  • 29. Labels Text to be displayed on screen var mylabel = Titanium.UI.createLabel({ text: 'Wow! This is a Label', height:'auto', width:'auto', color:'#900', font:{fontSize:20}, textAlign:'center', top: 10 });
  • 30. Text Fields Text to be entered within a field var tf1 = Titanium.UI.createTextField({ hintText: 'You Name Here', height:35, top:40, left:10, width:250 }); tf1.addEventListener('blur',function(e){ //if focus moved away from tf1 alert('Welcome ' + tf1.value); });
  • 31. Button Add your own buttons and functions var button = Titanium.UI.createButton({ //create Button title: 'Hello !', width: 100 }); win.add(button); button.addEventListener('click',function(e) //if button is clicked { alert("You just clicked the button"); //display alert message });
  • 32. Picker Add Picker which functions as drop-down box var picker = Titanium.UI.createPicker(); var data = []; data[0]=Titanium.UI.createPickerRow({title:'Bananas'}); data[1]=Titanium.UI.createPickerRow({title:'Strawberries'}); data[2]=Titanium.UI.createPickerRow({title:'Mangoes'}); data[3]=Titanium.UI.createPickerRow({title:'Grapes'}); picker.add(data); win.add(picker); picker.addEventListener('change',function(e){ //if picker is changed alert('You selected '+e.row); });
  • 33. Activity Indicator Display this if some Activity is to be performed in background var actInd = Titanium.UI.createActivityIndicator({ //activity indicator height:50, width:10, message: 'You cannot do anything now' }); actInd.show();
  • 34. Animations We can add Animations to any widgets var animation = Titanium.UI.createAnimation({ //define animation height:100, duration:1000, repeat:5, autoreverse:true }); Object.animate(animation); //start animation
  • 35. ImageView Eg: ImageView from Titanium API var myimage = Ti.UI.createImageView({ image: 'android/appicon.png', width:128, height:128, borderColor:'#aaa', borderRadius:10, borderWidth:5 });
  • 36. Adding interactivity to ImageView On Touch Start: myimage.addEventListener('touchstart',function(e) { myimage.animate({ width:200, height:200, duration:500 }); }); On Touch End: myimage.addEventListener('touchend',function(e) { myimage.animate({ width:128, height:128, duration:500 }); });
  • 37. Table View Creation of static or dynamic Tables var data = [{title:"Row 1"},{title:"Row 2"}]; data.push({title:'Row 3'}); var table = Titanium.UI.createTableView({ //static creation of table data:data, backgroundColor: 'blue', rowHeight: 20, separatorColor: 'red' }); table.appendRow({title:'Row 4'}); //dynamically add rows to table table.addEventListener('click',function(e){ alert(e.rowData.title); });