Showing posts with label Mobile. Show all posts
Showing posts with label Mobile. Show all posts

Tuesday, 23 September 2014

Android Google+ Sign In Problem

Last week I was working to implement Google+ authentication in an Android app. The process is well documented on Android Developers and Google provides also a sample app on GitHub.

As stated in the quickstart, before start coding you should create a new project into the Google Developer Console, in order to register your app on the Google APIs. You have to provide your Android certificate SHA1 fingerprint and your app package name, then everything should work.

Clearly, it didn't.

While trying to login with the sample app I got back on the log an error saying:

ConnectionResult.getErrorCode() = 4

According to the documentation for ConnectionResult code 4 stands for: SIGN_IN_REQUIRED, but no other explanation is given. After many hours of searches and tests, I discovered that I was simply missing the definition of the sign-in screen in the Google Developer Console.



In the lateral menu of the Developer Console, select APIs & auth and the Consent screen fill in the required fields, save, give it a couple of minutes and you should be OK.


Hope it helps someone.

Monday, 21 October 2013

Android Packages Organization

I like my stuff to be organized, in the same way I like my code to be organized. Here's the structure that I usually adopt for my Android projects:

  • com.<company-name>.<project-name>: The main package, here I store only the Application class. All following packages will be sub-packages of this one.
  • .gui: Contains all the classes related to UI management. Usually this package is empty, the content is organized in sub packages.
  • .gui.activities: Contains all the Activity classes.
  • .gui.fragments: Contains all the Fragment classes.
  • .gui.views: Contains all the View classes.
  • .gui.adapters: Contains all the Adapter classes.
  • .gui.dialogs: Contains all the Dialog definition classes.
  • .gui.support: Contains all the UI related classes that doesn't fit in previously described packages.
  • .domain: Contains all the java beans that represents the application domain.
  • .domain.enums: Contains all the enumeration files related to the application domain.
  • .core: Contains all the core logic classes. These classes form a layer that services the UI classes managing local storage, web service connection, data elaboration, ...
  • .db: Contains all the database management classes.
  • .db.tables: Contains all the database table definition classes.
  • web: Contains all the web service communication classes.
  • web.messages: Contains all the message definition classes.
What do you think of it? Every comment or suggestion is welcome.

Sunday, 4 August 2013

Samsung Galaxy Nexus problems


Screen turning on automatically

This morning my Galaxy Nexus decided he didn't want to stand by. Every time I locked the screen, it turned on again automatically. Well, after some research it turns out that this can be a software or an hardware problem. Some people resolved the (SW) problem with a  factory reset of the device, i haven't tried...
In my case it was a simple HW problem, because i solved it with some simple steps:
  1. Turn off
  2. Take out the battery
  3. Blow with strong inside the power plug
  4. Take a wooden toothpick and gently clean the plug
  5. Wait a couple of minutes
  6. Insert the battery
  7. Turn on
In a few words it was just dirty...

While doing this, check also the orientation of the male part of the USB connector, it should be coming out straight, it shouldn't bend down or up. If it does, try carefully to bring it to a straight position using the toothpick or a small screwdriver.

If this didn't solved your problem, and you have no fear to open your phone, you could buy a replacement connector board on eBay for something like 10$.

Phone not charging

Since I'm at it, some time ago I faced another problem related to the power plug that prevented the phone from charging. The male part of the connector was bend down, making it straight (as described before) solved the problem.

GPS not fixing

Another problem I've experienced is the malfunctioning of the GPS receiver, it started all of a sudden, without apparent reason. All the location based application wasn't fixing the signal, the GPS icon would just blink forever.
What I did was simply to turn off the phone, remove the battery, wait some seconds and then turn it on again. Then it started working properly.

Hope this helps, let me know.

Friday, 3 May 2013

Samsung Galaxy Young problems




I'm an unlucky owner of a Samsung Galaxy Young (AKA Galaxy Y), a (very)low-end device. During use of this device I've faced some frustrating problems like phone that reboots automatically or network connection disappearing until you rebooted it. Adding the ridiculously short battery life it was just unusable.
I've looked for a solution to the problem, and found it in the "Use only 2G networks" option, that can be found under "Settings > Wireless and networks > Mobile networks". Now I have no more reboot or network problems, and I count stand-by battery life in days, not hours! If you haven't got a data connection, or if you are OK without a 3G one, give it a try!