10

So I have been going through the Android Developer training on the official site and there is a point where they want us to finally instantiate our database.

So they tell us to use this snippet of code:

FeedReaderDbHelper mDbHelper = new FeedReaderDbHelper(getContext());

However, I'm getting an error for the getContext() method. It states that it cannot find a symbol for that method.

So I searched the source and that method in the View class just cannot be found. Is this a deprecated method? And if this isn't an option, is there any other way we can grab the context of a view?

Thank you!

LalienX
  • 191
  • 1
  • 2
  • 10

4 Answers4

6

The line of code you pass is:

FeedReaderDbHelper mDbHelper = new FeedReaderDbHelper(geContext());


It should work if you substitute for any of these code lines :

FeedReaderDbHelper mDbHelper = new FeedReaderDbHelper(getContext());

Or

FeedReaderDbHelper mDbHelper = new FeedReaderDbHelper(getApplicationContext());

Or

FeedReaderDbHelper mDbHelper = new FeedReaderDbHelper(this);


The android developer documentation of the Context:

https://developer.android.com/reference/android/content/Context.html

You might found helpful too look in this question, that explains what is Context for:

What is 'Context' on Android?

Community
  • 1
  • 1
lcsvcn
  • 1,184
  • 3
  • 13
  • 28
0

In your code you have used geContext() change it to getContext() or getApplicationContext() or if calling the object from inside an activity simply pass this

Nikhil Jain
  • 193
  • 1
  • 8
0

The View class does have a getContext method.

You either have a typo, or your code is not located in a non-static method of a sub-class of View.

Eran
  • 387,369
  • 54
  • 702
  • 768
0

Thats how I made it

  1. MainActivity

    FeedReaderContract contract = new FeedReaderContract(this);

  2. I edited the constructor of the class FeedReaderContract

    mDbHelper = new FeedReaderDbHelper(getContext());

  3. The method getContext()

    public Context getContext() { return context; }

Luis
  • 9
  • 2