Why this java code not working?

whats the error log

2 Likes
AndroidRuntime:
    [mkdir] Created dir: C:\Users\dhana\appinventor-sources\appinventor\components\build\classes\AndroidRuntime
    [javac] Compiling 283 source files to C:\Users\dhana\appinventor-sources\appinventor\components\build\classes\AndroidRuntime
    [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.7
    [javac] C:\Users\dhana\appinventor-sources\appinventor\components\src\com\ads\inter\interads.java:41: error: ';' expected
    [javac]     public String SetAdUnit(String UnitId) {
    [javac]                            ^
    [javac] C:\Users\dhana\appinventor-sources\appinventor\components\src\com\ads\inter\interads.java:41: error: ';' expected
    [javac]     public String SetAdUnit(String UnitId) {
    [javac]                                          ^
    [javac] C:\Users\dhana\appinventor-sources\appinventor\components\src\com\ads\inter\interads.java:49: error: ';' expected
    [javac]     public void LoadAd(){
    [javac]                       ^
    [javac] C:\Users\dhana\appinventor-sources\appinventor\components\src\com\ads\inter\interads.java:54: error: ';' expected
    [javac] public void onAdLoaded(){
    [javac]                       ^
    [javac] C:\Users\dhana\appinventor-sources\appinventor\components\src\com\ads\inter\interads.java:59: error: ';' expected
    [javac]     private void showInterstitial(){
    [javac]                                  ^
    [javac] C:\Users\dhana\appinventor-sources\appinventor\components\src\com\ads\inter\interads.java:66: error: reached end of file while parsing
    [javac] }
    [javac]  ^
    [javac] 6 errors
    [javac] 1 warning

BUILD FAILED
C:\Users\dhana\appinventor-sources\appinventor\build.xml:46: The following error occurred while executing this line:
C:\Users\dhana\appinventor-sources\appinventor\components\build.xml:212: The following error occurred while executing this line:
C:\Users\dhana\appinventor-sources\appinventor\build-common.xml:125: Compile failed; see the compiler error output for details.

When i solving these errors.
it showing me another 6 error and 1 warning.
then i removing the 6 error and 1 warning.
it show me another 6 error and 1 warning.
And so on.

anything else do you need about this query

Add a curley closing bracket at the end.

1 Like

now it say 5 error and 1 warning
here is the log

AndroidRuntime:
    [mkdir] Created dir: C:\Users\dhana\appinventor-sources\appinventor\components\build\classes\AndroidRuntime
    [javac] Compiling 283 source files to C:\Users\dhana\appinventor-sources\appinventor\components\build\classes\AndroidRuntime
    [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.7
    [javac] C:\Users\dhana\appinventor-sources\appinventor\components\src\com\ads\inter\interads.java:41: error: ';' expected
    [javac]     public String SetAdUnit(String UnitId) {
    [javac]                            ^
    [javac] C:\Users\dhana\appinventor-sources\appinventor\components\src\com\ads\inter\interads.java:41: error: ';' expected
    [javac]     public String SetAdUnit(String UnitId) {
    [javac]                                          ^
    [javac] C:\Users\dhana\appinventor-sources\appinventor\components\src\com\ads\inter\interads.java:49: error: ';' expected
    [javac]     public void LoadAd(){
    [javac]                       ^
    [javac] C:\Users\dhana\appinventor-sources\appinventor\components\src\com\ads\inter\interads.java:54: error: ';' expected
    [javac] public void onAdLoaded(){
    [javac]                       ^
    [javac] C:\Users\dhana\appinventor-sources\appinventor\components\src\com\ads\inter\interads.java:59: error: ';' expected
    [javac]     private void showInterstitial(){
    [javac]                                  ^
    [javac] 5 errors
    [javac] 1 warning

BUILD FAILED
C:\Users\dhana\appinventor-sources\appinventor\build.xml:46: The following error occurred while executing this line:
C:\Users\dhana\appinventor-sources\appinventor\components\build.xml:212: The following error occurred while executing this line:
C:\Users\dhana\appinventor-sources\appinventor\build-common.xml:125: Compile failed; see the compiler error output for details.

Assuming the last Java code posted is accurate, it looks like you forgot a closing curly brace for the onCreate method, so the rest of your code is considered to be a part of that function body (which is wrong).

Also, you'll probably get a compiler warning or error on that method because you annotated it @Override but there isn't a onCreate method in AndroidNonvisibleComponent or its supers. You could move some of that logic into the constructor, and most of it isn't needed since it's inflating a view layout, which you can't do in a component.

1 Like

i have do some changes in my code.
can you check my code again please.

package in.vetbossel.googleadmob;

import java.io.File; 

import com.google.appinventor.components.annotations.*;
import com.google.appinventor.components.common.*;


import com.google.appinventor.components.annotations.DesignerComponent;
import com.google.appinventor.components.annotations.DesignerProperty;
import com.google.appinventor.components.annotations.PropertyCategory;
import com.google.appinventor.components.annotations.SimpleEvent;
import com.google.appinventor.components.annotations.SimpleFunction;
import com.google.appinventor.components.annotations.SimpleObject;
import com.google.appinventor.components.annotations.SimpleProperty;
import com.google.appinventor.components.annotations.UsesLibraries;
import com.google.appinventor.components.annotations.UsesPermissions;
import com.google.appinventor.components.annotations.UsesActivities;
import com.google.appinventor.components.common.ComponentCategory;
import com.google.appinventor.components.common.PropertyTypeConstants;
import com.google.appinventor.components.runtime.util.MediaUtil;
import com.google.appinventor.components.common.ComponentCategory;
import com.google.appinventor.components.common.PropertyTypeConstants;
import com.google.appinventor.components.common.YaVersion;
import com.google.appinventor.components.runtime.*;

import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;
 
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.reward.RewardItem;
import com.google.android.gms.ads.reward.RewardedVideoAd;
import com.google.android.gms.ads.reward.RewardedVideoAdListener;
 
@DesignerComponent(version = 1, // Update version here, You must do for each new release to upgrade your extension
                   description = "googleadmob",
                   category = ComponentCategory.EXTENSION,
                   nonVisible = true,
                   iconName = "images/extension.png") // Change your extension's icon from here; can be a direct url

@SimpleObject(external = true)
@UsesPermission(permissionNames = "android.permission.INTERNET", "android.permission.ACCESS_NETWORK_STATE")
@UsesLibraries(libraries = "play-services-ads-15.0.0.jar")
public class googleadmob extends AndroidNonvisbleComponent {
 
    private Context context;
    private RewardedVideoAd mRewardedVideoAd;
 public googleadmob(final ComponentContainer container) {
super(container.$form());
        this.container = container;
}
@SimpleFunction
public void Initialize(String unitID){
        MobileAds.initialize(this, unitID);
 
}
@SimpleFunction
public void LoadAd(){
        //RewardedVideoAd
        mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this);
        mRewardedVideoAd.loadAd("unitID", new AdRequest.Builder().build());
RewardedVideoAdListener rewardedVideoAdListener = new RewardedVideoAdListener() {
        @Override
        public void onRewardedVideoAdLoaded() {
Loaded();
}
@Override
        public void onRewardedVideoAdOpened() {
Opened();
}
@Override
        public void onRewardedVideoStarted() {
Opened();
}
@Override
        public void onRewardedVideoAdClosed() {
Closed();
}
@Override
        public void onRewarded(RewardItem rewardItem) {
String currency = rewardItem.getType();
String amount rewardItem.getAmount();
Rewarded(currency,amount);

}
@Override
        public void onRewardedVideoAdLeftApplication() {

LeftApp();

}
@Override
        public void onRewardedVideoAdFailedToLoad(int i) {

Failed();

}
       }

 @SimpleFunction(description = "Block description")
    public void showRewardedAd(AndroidViewComponent layout) {
        if (mRewardedVideoAd != null && mRewardedVideoAd.isLoaded()) {
View view = layout.getView();
            mRewardedVideoAd.show(view);
        }
    @SimpleEvent
public void Loaded(){
EventDispatcher.dispatchEvent(this,"Loaded");
}
 
@SimpleEvent
public void Failed(){
EventDispatcher.dispatchEvent(this,"Failed");
}
@SimpleEvent
public void Opened(){
EventDispatcher.dispatchEvent(this,"Opened");
}
@SimpleEvent
public void Started(){
EventDispatcher.dispatchEvent(this,"Started");
}
@SimpleEvent
public void Closed(){
EventDispatcher.dispatchEvent(this,"Closed");
}
@SimpleEvent
public void LeftApp(){
EventDispatcher.dispatchEvent(this,"LeftApp");
}
}

If you're not using any code editor, then use it, it will correct your mistakes in code!

1 Like

okay now i am using notepad ++

2 Likes

Ide is better

1 Like

Notepad++ is a text IDE and not a Java IDE.

5 Likes

Okay, eclipse IDE is good or not ??

Don't go much off-topic please