I am getting this error:

> android.content.Context.getMainLooper()' on a null object reference
>
When calling 
new GoogleApiClient.Builder(getApplication())
                    .addConnectionCallbacks(this)
                    .addOnConnectionFailedListener(this)
                    .addApi(LocationServices.API)
                    .build();

 

On Tuesday, February 8, 2011 at 10:54:05 AM UTC-5, nate wrote:
>
> Thanks for the response.  The assets that I needed for the test 
> project were specifically built for testing and we could not 
> distribute them in the assets of our app (we are keeping the app 
> footprint small), but the workaround I posted above worked fine to get 
> the assets from the test project. 
>
> On Feb 4, 5:04 pm, "A. Elk" <[email protected]> wrote: 
> > Hmmm. 
> > 
> > ServiceTestCase.getSystemContext() returns the context of the test 
> > package. ServiceTestCase.getApplication() gets the Application 
> > instance in use by the service under test. It's probably better to use 
> > that Application object to look at the assets you want. 
> > 
> > When you wrote getContext(), I didn't understand which class you were 
> > talking about. In a test case class, calling getContext() will usually 
> > default to AndroidTestCase.getContext(), which will give you the 
> > context of the test package. In an instrumented test case like 
> > ActivityInstrumentationTestCase2, you have an Instrumentation object, 
> > so you can call getTargetContext() on that object to get the context 
> > of the instrumented component under test. 
> > 
> > To come back to the original problem, which assets do you need to use? 
> > Could you build them into your test package as well as the application 
> > under test, instead of trying to get them from the app on the fly? 
> > 
> > On Feb 4, 11:20 am, nate <[email protected]> wrote: 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > > OK, I found a solution: 
> > 
> > > I created a context to our test package and was able to access the 
> > > assets: 
> > 
> > > mTestAppContext = getContext().createPackageContext("com.blah.test", 
> > > Context.CONTEXT_IGNORE_SECURITY); 
> > 
> > > Just in case anyone else needs a workaround. 
> > 
> > > On Feb 4, 10:36 am, nate <[email protected]> wrote: 
> > 
> > > > Also, i put the test assets in the target project's directory and 
> was 
> > > > able to access them with: 
> > 
> > > > getSystemContext().getAssets().list(".") 
> > 
> > > > On Feb 4, 10:31 am, nate <[email protected]> wrote: 
> > 
> > > > > I checked my setUp() method and I do call super.setUp() as the 
> first 
> > > > > line.  The reason I believe the contexts are the same are 
> two-fold: 
> > 
> > > > > I tried both: 
> > 
> > > > > getSystemContext().getAssets().list(".") 
> > > > > getContext().getAssets().open("."); 
> > 
> > > > > and neither of them listed any files.  The second reason is that I 
> > > > > read the code for ServiceTestCase and saw that the 
> getSystemContext() 
> > > > > is just the 
> > > > > same context retrieved by getContext(), but it's grabbed before 
> any 
> > > > > tests have a chance to mess with it(according to the comment in 
> the 
> > > > > code): 
> > 
> > > > > @Override 
> > > > >     protected void setUp() throws Exception { 
> > > > >         super.setUp(); 
> > 
> > > > >         // get the real context, before the individual tests have 
> a 
> > > > > chance to muck with it 
> > > > >         mSystemContext = getContext(); 
> > 
> > > > >     } 
> > 
> > > > > So it would seem that getting the context to the app the testcase 
> is 
> > > > > in is not possible with the ServiceTestCase, unless I am missing 
> > > > > something. 
> > 
> > > > > On Feb 3, 9:15 pm, "A. Elk" <[email protected]> 
> wrote: 
> > 
> > > > > > What leads you to believe that both Context objects contain the 
> same 
> > > > > > information? If you do a getSystemContext() you should get the 
> context 
> > > > > > that's stored during setUp(). The only thing that might screw 
> this up 
> > > > > > is if you overrode setUp() but forgot to call super.setUp() 
> first. 
> > 
> > > > > > On Feb 2, 2:08 pm, nate <[email protected]> wrote: 
> > 
> > > > > > > Hey Everyone, 
> > > > > > >    I don't know if I am doing something wrong here, but when I 
> am 
> > > > > > > trying to use the ServiceTestCase class to test my Service, I 
> cannot 
> > > > > > > get a context which points to the test project.  getContext() 
> and 
> > > > > > > getSystemContext() both seem to point to the target project's 
> > > > > > > context.  The reason I need the context of my test app is that 
> i have 
> > > > > > > some assets which i need to be able to use in order to test 
> the 
> > > > > > > service in question.  Does anyone know of a workaround or 
> could point 
> > > > > > > me at a way of resolving this?  (i looked through the source 
> of 
> > > > > > > ServiceTestCase and didn't see another way) 
> > 
> > > > > > > Something similar to instrumentationtestcase's 
> > > > > > > getInstrumentation.getContext() is what I am looking for. 
> > 
> > > > > > > Thanks.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to