0

AndroidManifest.java

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.bidnextjob.bidnextjob">

    <!-- Lat lon fetching permission by GPSTracker class start and also use for google map -->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="com.bidnextjob.bidnextjob.permission.C2D_MESSAGE" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.FLASHLIGHT" />
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <!-- Allows access to the flashlight -->
    <permission
        android:name="android.permission.FLASHLIGHT"
        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
        android:protectionLevel="normal" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/MyTheme">
        <activity android:name=".SplashActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".MainActivity" />
        <activity android:name=".LoginActivity" />
        <activity android:name=".RegisterActivity" />
        <activity
            android:name=".HomeActivity"
            android:windowSoftInputMode="stateAlwaysHidden" />
        <activity android:name=".FilterActivity" />
        <activity android:name=".JobDetailsActivity" />
        <activity android:name=".EditProfileActivity"
            android:windowSoftInputMode="stateAlwaysHidden"/>
        <activity
            android:name=".ChatActivity"
            android:windowSoftInputMode="stateAlwaysHidden" />

        <activity android:name=".AboutUsActivity" />
        <activity android:name=".HelpActivity" />
        <activity android:name=".ReviewActivity" />
        <activity
            android:name=".CommentActivity"
            android:windowSoftInputMode="stateAlwaysHidden" />
        <activity android:name=".ForgetPasswordActivity" />
        <activity
            android:name=".PlaceBidActivity"
            android:windowSoftInputMode="stateAlwaysHidden" />
        <activity
            android:name=".EditBidActivity"
            android:windowSoftInputMode="stateAlwaysHidden" />
        <activity android:name=".JobDetails1Activity" />
        <activity android:name=".NotificationsActivity" />
        <activity android:name=".ChooseCategoryActivity" />
        <activity android:name=".BidDetailsActivity" />
        <activity android:name=".EditAddressActivity" />
        <activity android:name=".UpdateProfileActivity" />
        <activity android:name=".GiveRatingActivity" />
        <activity android:name=".ArchiveActivity"/>
        <activity android:name=".AutoCompleteAddress"/>
        <activity
            android:name=".SocialLoginActivity"
            android:label=".SocialLoginActivity" />

        <meta-data
            android:name="com.facebook.sdk.ApplicationId"
            android:value="@string/facebook_app_id" />

        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />

        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="<some api key>" />

        <activity
            android:name="com.facebook.FacebookActivity"
            android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

        <service android:name="utilities.gcm.GcmIntentService" />

        <receiver
            android:name="utilities.gcm.GcmBroadcastReceiver"
            android:permission="com.google.android.c2dm.permission.SEND">
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

                <category android:name="com.bidnextjob.bidnextjob" />
            </intent-filter>
        </receiver>
    </application>
</manifest>

I'm accessing a Pojo class having static method for returning value. When I access this static method in my Splash Screen class(Launcher page), I get a NoClassDefFoundError for that Pojo class. How to avoid this exception without making the method non-static?

LogCat

FATAL EXCEPTION: main
Process: com.bidnextjob.bidnextjob, PID: 30515
java.lang.NoClassDefFoundError: shared_pref.SharedStorage
at com.bidnextjob.bidnextjob.SplashActivity.onCreate(SplashActivity.java:21)
at android.app.Activity.performCreate(Activity.java:5280)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2322)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2410)
at android.app.ActivityThread.access$800(ActivityThread.java:155)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1331)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:5388)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:655)
at dalvik.system.NativeStart.main(Native Method)

Pojo class

package shared_pref;

public class SharedStorage {
    static SharedPreferences preference;

    private static String prefData="ExampleStructApp";

    public static String UserId= "UserId";
    public static String UserType= "UserType";

    public static void setValue(Context context,String key,String data){
        preference = context.getSharedPreferences(prefData, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = preference.edit();
        editor.putString(key,data);
        editor.commit();
    }

    public static String getValue(Context context,String key){
        preference = context.getSharedPreferences(prefData, Context.MODE_PRIVATE);
        String id = preference.getString(key,"");
        return id;
    }

    public static void resetValue(Context context){
        preference = context.getSharedPreferences(prefData, Context.MODE_PRIVATE);
        preference.edit().clear().commit();
    }
}

Splash Screen class

public class SplashActivity extends AppCompatActivity {


    private String user_id = "";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);

        // Here I get NoClassDefFoundError
        user_id = SharedStorage.getValue(getApplicationContext(),"UserId");



        new Handler().postDelayed(new Runnable() {

            @Override
            public void run() {

                if(user_id != null && !user_id.isEmpty()){
                    startActivity(new Intent(SplashActivity.this, HomeActivity.class));
                    finish();
                }else{
                    startActivity(new Intent(SplashActivity.this, MainActivity.class));
                    finish();
                }
            }
        }, 3000);

    }
}
Ped7g
  • 16,236
  • 3
  • 26
  • 63
Somnath Pal
  • 137
  • 1
  • 4
  • 10

0 Answers0