Getting error when run my first appium test in android device in windows machine

I am getting error in the eclipse when I run my first test in the eclipse using appium.

Following is my code:

package Appium;


import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.remote.MobileCapabilityType;

//import org.openqa.selenium.remote.CapabilityType;

public class Appium {

    WebDriver driver;

    public void Appium() throws MalformedURLException{
        //Set up desired capabilities and pass the Android app-activity and app-package to Appium
        DesiredCapabilities capabilities = new DesiredCapabilities();

        capabilities.setCapability("BROWSER_NAME", "Chrome");
        capabilities.setCapability("VERSION", "5.1"); 
        capabilities.setCapability("deviceName","Nexus 5");

       capabilities.setCapability("appPackage", "");
    // This package name of your app (you can get it from apk info app)
        capabilities.setCapability("appActivity",""); // This is Launcher activity of your app (you can get it from apk info app)
    //Create RemoteWebDriver instance and connect to the Appium server
     //It will launch the Calculator App in Android Device using the configurations specified in Desired Capabilities
       driver = new RemoteWebDriver(new URL(""), capabilities);

    public void testCal() throws Exception {
       //locate the Text on the calculator by using
       WebElement two=driver.findElement("2"));;
       WebElement plus=driver.findElement("+"));;
       WebElement four=driver.findElement("4"));;
       WebElement equalTo=driver.findElement("="));;
       //locate the edit box of the calculator by using By.tagName()
       WebElement results=driver.findElement(By.tagName("EditText"));
        //Check the calculated value on the edit box
    assert results.getText().equals("6"):"Actual value is : "+results.getText()+" did not match with expected value: 6";


    public void teardown(){
        //close the app


When I run this code using testNg,I am getting following error:

FAILED CONFIGURATION: @BeforeClass Appium java.lang.NoClassDefFoundError: org/json/JSONObject at org.openqa.selenium.logging.profiler.HttpProfilerLogEntry.constructMessage(HttpProfilerLogEntry.

Could you please somepone help on this?.I am new to appium.