SlideShare a Scribd company logo
Mobile Programming with J2ME
               By Oluwatosin Adesanya
Lesson 01:
Basic Java Programming
Java is ...
     •   A Pure OOP Language
     •   A Hybrid Programming Language
     •   First Compiled and Interpreted
     •   Runs on a JVM (Java Virtual Machine)



                      Byte Code




Source                                          Object
 Code                                           Code
Getting Started

• JDK (Java Development Kit)
• Editor (Notepad) OR ...
• Integrated Development Environment (Netbeans, Eclipse,
  JCreator etc.)
Setting Up Java

• Install the JDK
• The JDK Sits in C:Program FilesJavajdk1.6.0
• Set the PATH Environmental Variable (How?)
Setting the PATH Environmental Variable

Open your Systems Property: choose Advanced System Settings, Click
the Environmental Variable Button on the Dialog that shows Up
Setting the PATH Environmental Variable

Scroll and Select Path , Click Edit Button
Setting the PATH Environmental Variable

Append the current path with the path to the Java bin folder
Running Java

• Save your Java source code as a .java file
• Use the javac Command to compile your source codes (.java files)
  e.g javac Result.java
• A .class file is generated called a bytecode
• Use java Command to run the .class file e.g java Result
• Do not add .class when compiling




      Source                                          Object
                  javac     Byte Code     java
       Code                                           Code
The Structure of a Java Program

• Java Programs are made up of classes
• Classes are made up of methods
• Java existing (ready-made) classes are found in the Java Class
  Libraries (Also Called Java APIs)
• Execution of Java programs begin at the main method
A Simple Java Program


public class HelloWorld {
  public static void main(String[] args) {
      System.out.println("Hello World!");
  }
}
Classes and Objects

• A Class is like a factory from which Objects are churned Out.

   Example
   Class Car could produce objects Volkswagen bettles, Toyota Camri,
   Peugeout 306

   An Object is a model of the Real World and has
   States (Or Properties) and
   Behaviours (Or Actions)

   Example
   Object Car States are Color, Speed, Size, Plate Licence No, Cost
   Behaviours are Start, Stop, Accelerate, Fuel, Open Door, etc.
Creating a Class

Use the class Keyword

Example
public class HelloWorld {
          .
          .
          .
    }

Do NOT Forget!
Name your java file ClassName.java
Adding States (Properties)

• States in Java are simply variables (Otherwise called fields)

   Example

   public class PaySlip {
       int numdone;
       String name;
   }


   Observe?!
   Every Line of Java code ends with a semicolon (;)

  int,float, double,
  boolean, char … are Java Primitive Types
Adding Behaviours (Methods)

•   Methods are functions that control states or fields or variables. They
    change the state of an object.

    Example

    public class PaySlip {
        int numdone;
        String name;

         public double getPay() {
               return 40.00 * numdone;
         }
                                                         Method getPay()
    }


    Guess What? We already have a working Java Class!
Using Our Class PaySlip

We implement another tester class which
contains the main method.


public class TestPaySlip {
      public static void main(String[] args){
            PaySlip opay=new PaySlip();
            System.out.println("n"+opay.getPay());
      }
}
Constructors

•   Initializes the Object after memory allocation
•   Takes the same name as the Class
•   May accept parameters OR... may not
•   Every Class has a default constructor that accepts no parameter
•   Has No Return Type
•   Can be Overloaded (there can be multiple Constructors)
Constructors
public class PaySlip {
   int numdone;
   String name;

    public PaySlip(int numdone, String name) {
        this.numdone=numdone; this.name=name;
    }

    public PaySlip(){
        name=“Nobody”;
        numdone=0;
    }

    public double getPay() {
        return 40.00 * numdone;
    }
}
Sorry...



• Confused?
• Questions?
Lesson 02:
Java 2 Micro Edition(J2ME)
J2ME is ...

•   Java for small devices
•   Divided into Configurations, Profiles and Optional APIs

    Configurations, Profiles and Optional APIs combined together make up
    a stack

    Configurations: Specifies a JVM. We have CDC and CLDC

    CLDC (Connected Limited Device Configuration) is designed for
    devices with limited memory, displays, battery power and inputs.

    Profiles: Layered on top of CLDC and adds APIs for specific devices.
    We have MIDP, PDAP and Personal Profiles

    MIDP (Mobile Information Device Profile) has characteristics that makes
    most low end phones and PDAs fit in. J2ME is covered by MIDPs
Anatomy of MIDP Apps
MIDP Apps are ...

• Called MIDlets
• Portable
• Secured
• represented by instances of
  javax.microedition.midlet.MIDlet class
• Distributed as JAR (Java Archive) files along with a MANIFEST file
  and an Application Descriptor File (.jad file)
• Reduced to small sizes before distribution by an Obfuscator




    Popular J2ME Apps: Opera Mini, 2go, Go Bible
The MIDlet Life Cycle
Shall We Create a MIDlet?

package com.thinkit2ru;

import javax.microedition.midlet.*;

public class Metric extends MIDlet {

    public void startApp() {
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }
}
Remember the Constructor?
package com.thinkit2ru;

import javax.microedition.midlet.*;

public class Metric extends MIDlet {

    public Metric() {          The Contructor:
    }                          Build Components Here
    public void startApp() {
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }
}
You need to Know...

•   Primitive data types
•   String Manipulation
•   Control Statements
•   Arrays and other data structures
•   GUI Design
•   Database Connectivity
•   Multithreading
•   Ethics and Conventions
Questions Please...
System.out.println(“Thank You”);

More Related Content

PPTX
Java Class 6 | Java Class 6 |Threads in Java| Applets | Swing GUI | JDBC | Ac...
PPT
Presentation on java
PPTX
Statics in java | Constructors | Exceptions in Java | String in java| class 3
PPTX
Core java complete ppt(note)
PPTX
OOPS in java | Super and this Keyword | Memory Management in java | pacakages...
PDF
Access modifiers
PDF
PPT
Core Java Programming | Data Type | operator | java Control Flow| Class 2
Java Class 6 | Java Class 6 |Threads in Java| Applets | Swing GUI | JDBC | Ac...
Presentation on java
Statics in java | Constructors | Exceptions in Java | String in java| class 3
Core java complete ppt(note)
OOPS in java | Super and this Keyword | Memory Management in java | pacakages...
Access modifiers
Core Java Programming | Data Type | operator | java Control Flow| Class 2

What's hot (20)

PDF
Core Java Tutorial
PPT
Core java
PPTX
Core java
PPT
Java Tutorial
PPTX
1_JavIntro
PPTX
Collection Framework in Java | Generics | Input-Output in Java | Serializatio...
PPT
Java tutorials
PPTX
Java basic part 2 : Datatypes Keywords Features Components Security Exceptions
PPTX
Java 201 Intro to Test Driven Development in Java
PPTX
Java 101 Intro to Java Programming
PDF
Basic java for Android Developer
ODP
Synapseindia reviews.odp.
PPT
Java for the Beginners
PPTX
Core Java introduction | Basics | free course
PDF
New Features Of JDK 7
PPT
Core java Basics
PPSX
Intro to Object Oriented Programming with Java
PPTX
Manuel - SPR - Intro to Java Language_2016
PPTX
Introduction to java 101
Core Java Tutorial
Core java
Core java
Java Tutorial
1_JavIntro
Collection Framework in Java | Generics | Input-Output in Java | Serializatio...
Java tutorials
Java basic part 2 : Datatypes Keywords Features Components Security Exceptions
Java 201 Intro to Test Driven Development in Java
Java 101 Intro to Java Programming
Basic java for Android Developer
Synapseindia reviews.odp.
Java for the Beginners
Core Java introduction | Basics | free course
New Features Of JDK 7
Core java Basics
Intro to Object Oriented Programming with Java
Manuel - SPR - Intro to Java Language_2016
Introduction to java 101
Ad

Similar to Java Programming and J2ME: The Basics (20)

PPTX
1 java fundamental KSHRD
PDF
Java programming material for beginners by Nithin, VVCE, Mysuru
PDF
Introduction java programming
PPTX
PDF
Javanotes
PPT
Chapter 1 java
PDF
JAVA Object Oriented Programming (OOP)
PPT
JavaClassPresentation
PPT
Java platform
PPT
Fundamentals of oop lecture 2
PPT
Java Simple Introduction in single course
PPT
java01.pptbvuyvyuvvvvvvvvvvvvvvvvvvvvyft
PPT
Introduction what is java
PPT
PPT
Java01
PPT
RIBBUN SOFTWARE
PPT
PPT
PPT
PPT
JAVA ppt tutorial basics to learn java programming
1 java fundamental KSHRD
Java programming material for beginners by Nithin, VVCE, Mysuru
Introduction java programming
Javanotes
Chapter 1 java
JAVA Object Oriented Programming (OOP)
JavaClassPresentation
Java platform
Fundamentals of oop lecture 2
Java Simple Introduction in single course
java01.pptbvuyvyuvvvvvvvvvvvvvvvvvvvvyft
Introduction what is java
Java01
RIBBUN SOFTWARE
JAVA ppt tutorial basics to learn java programming
Ad

Recently uploaded (20)

PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
Computing-Curriculum for Schools in Ghana
PDF
Classroom Observation Tools for Teachers
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
Pharma ospi slides which help in ospi learning
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PPTX
master seminar digital applications in india
PPTX
Cell Types and Its function , kingdom of life
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
human mycosis Human fungal infections are called human mycosis..pptx
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Abdominal Access Techniques with Prof. Dr. R K Mishra
STATICS OF THE RIGID BODIES Hibbelers.pdf
Computing-Curriculum for Schools in Ghana
Classroom Observation Tools for Teachers
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Final Presentation General Medicine 03-08-2024.pptx
Pharma ospi slides which help in ospi learning
O5-L3 Freight Transport Ops (International) V1.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
Microbial diseases, their pathogenesis and prophylaxis
Supply Chain Operations Speaking Notes -ICLT Program
master seminar digital applications in india
Cell Types and Its function , kingdom of life
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx

Java Programming and J2ME: The Basics

  • 1. Mobile Programming with J2ME By Oluwatosin Adesanya
  • 2. Lesson 01: Basic Java Programming
  • 3. Java is ... • A Pure OOP Language • A Hybrid Programming Language • First Compiled and Interpreted • Runs on a JVM (Java Virtual Machine) Byte Code Source Object Code Code
  • 4. Getting Started • JDK (Java Development Kit) • Editor (Notepad) OR ... • Integrated Development Environment (Netbeans, Eclipse, JCreator etc.)
  • 5. Setting Up Java • Install the JDK • The JDK Sits in C:Program FilesJavajdk1.6.0 • Set the PATH Environmental Variable (How?)
  • 6. Setting the PATH Environmental Variable Open your Systems Property: choose Advanced System Settings, Click the Environmental Variable Button on the Dialog that shows Up
  • 7. Setting the PATH Environmental Variable Scroll and Select Path , Click Edit Button
  • 8. Setting the PATH Environmental Variable Append the current path with the path to the Java bin folder
  • 9. Running Java • Save your Java source code as a .java file • Use the javac Command to compile your source codes (.java files) e.g javac Result.java • A .class file is generated called a bytecode • Use java Command to run the .class file e.g java Result • Do not add .class when compiling Source Object javac Byte Code java Code Code
  • 10. The Structure of a Java Program • Java Programs are made up of classes • Classes are made up of methods • Java existing (ready-made) classes are found in the Java Class Libraries (Also Called Java APIs) • Execution of Java programs begin at the main method
  • 11. A Simple Java Program public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } }
  • 12. Classes and Objects • A Class is like a factory from which Objects are churned Out. Example Class Car could produce objects Volkswagen bettles, Toyota Camri, Peugeout 306 An Object is a model of the Real World and has States (Or Properties) and Behaviours (Or Actions) Example Object Car States are Color, Speed, Size, Plate Licence No, Cost Behaviours are Start, Stop, Accelerate, Fuel, Open Door, etc.
  • 13. Creating a Class Use the class Keyword Example public class HelloWorld { . . . } Do NOT Forget! Name your java file ClassName.java
  • 14. Adding States (Properties) • States in Java are simply variables (Otherwise called fields) Example public class PaySlip { int numdone; String name; } Observe?! Every Line of Java code ends with a semicolon (;) int,float, double, boolean, char … are Java Primitive Types
  • 15. Adding Behaviours (Methods) • Methods are functions that control states or fields or variables. They change the state of an object. Example public class PaySlip { int numdone; String name; public double getPay() { return 40.00 * numdone; } Method getPay() } Guess What? We already have a working Java Class!
  • 16. Using Our Class PaySlip We implement another tester class which contains the main method. public class TestPaySlip { public static void main(String[] args){ PaySlip opay=new PaySlip(); System.out.println("n"+opay.getPay()); } }
  • 17. Constructors • Initializes the Object after memory allocation • Takes the same name as the Class • May accept parameters OR... may not • Every Class has a default constructor that accepts no parameter • Has No Return Type • Can be Overloaded (there can be multiple Constructors)
  • 18. Constructors public class PaySlip { int numdone; String name; public PaySlip(int numdone, String name) { this.numdone=numdone; this.name=name; } public PaySlip(){ name=“Nobody”; numdone=0; } public double getPay() { return 40.00 * numdone; } }
  • 20. Lesson 02: Java 2 Micro Edition(J2ME)
  • 21. J2ME is ... • Java for small devices • Divided into Configurations, Profiles and Optional APIs Configurations, Profiles and Optional APIs combined together make up a stack Configurations: Specifies a JVM. We have CDC and CLDC CLDC (Connected Limited Device Configuration) is designed for devices with limited memory, displays, battery power and inputs. Profiles: Layered on top of CLDC and adds APIs for specific devices. We have MIDP, PDAP and Personal Profiles MIDP (Mobile Information Device Profile) has characteristics that makes most low end phones and PDAs fit in. J2ME is covered by MIDPs
  • 23. MIDP Apps are ... • Called MIDlets • Portable • Secured • represented by instances of javax.microedition.midlet.MIDlet class • Distributed as JAR (Java Archive) files along with a MANIFEST file and an Application Descriptor File (.jad file) • Reduced to small sizes before distribution by an Obfuscator Popular J2ME Apps: Opera Mini, 2go, Go Bible
  • 25. Shall We Create a MIDlet? package com.thinkit2ru; import javax.microedition.midlet.*; public class Metric extends MIDlet { public void startApp() { } public void pauseApp() { } public void destroyApp(boolean unconditional) { } }
  • 26. Remember the Constructor? package com.thinkit2ru; import javax.microedition.midlet.*; public class Metric extends MIDlet { public Metric() { The Contructor: } Build Components Here public void startApp() { } public void pauseApp() { } public void destroyApp(boolean unconditional) { } }
  • 27. You need to Know... • Primitive data types • String Manipulation • Control Statements • Arrays and other data structures • GUI Design • Database Connectivity • Multithreading • Ethics and Conventions