How to open my app in Google Play market from code?

Another one simple tip for Android developers. In a lot of applications you can see the pop-up with the text „Rate our app in Google Play”, then you click OK, you are redirecting to the market.
How it is done? The solution contains few lines of code. Below is sample function, which can open your app in Google Play market.

private void openGooglePlay()
    {
  Uri uri = Uri.parse("market://details?id=" + getApplicationContext().getPackageName()); //get current package name
  Intent googlePlay = new Intent(Intent.ACTION_VIEW, uri);
  googlePlay.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  try {
   getApplicationContext().startActivity(googlePlay);
  } catch (Exception e) {
     //your catching exceptions...
  }
    }

Custom font in Android application

Short and simple tip for mobile developers. Default, in Android projects you don’t have much choice to choose a font.

It’s simple to use your custom font in app. The first step is copy your font to „assets/fonts” in your project’s files (ttf and otf format are support).
After copying files, go to your Activity class and add following code:

TextView tvYourBoringTextView; //in section of declaration
//few lines later in OnCreate:
tvYourBoringTextView = (TextView) findViewById(R.id.tvYourBoringTextView); //find your control from XML
//and the final step:
Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/yourfont.ttf");
tvYourBoringTextView.setTypeface(typeface);

It’s a way to set your custom font programmatically. Soon I will tell you about setting custom font from XML.
This simple example lets you understand how it works.

Jak zrobić wielojęzyczną aplikację na Android?

To nie takie trudne jakby mogło się wydawać. Całość ogranicza się do stworzenia kolejnego folderu w projekcie Android. Tłumaczenie dla domyślnego języka naszej aplikacji znajduje się w folderze values. To właśnie stamtąd (strings.xml) będą wczytywane. Dlatego warto zachować estetykę kodu i nie trzymać w nim string’ów, tylko wczytywać je z tłumaczenia.

Jak dodać tłumaczenie?

W katalogu res, tworzony podkatalog o nazwie: values-[skrót języka]. Np.: values-pl, values-jp, values-de etc. Oczywiście powinieneś odwzorować strukturę z katalogu domyślnego values.
Przejdź do widoku graficznego swojej activity, żeby upewnić się, że dobrze utworzyłeś pliki/katalogi. Jeśli korzystasz z Eclipse, będziesz mógł wyświetlić okienko swojej aplikacji z różnych wersjach językowych. Z tamtego miejsca możesz również dodać tłumaczenie; jest to ostatnia opcja Add new translation.
Warto też żebyś zobaczył wpis o pozyskiwaniu lokalizacji użytkownika w Android – nie chodzi o GPS. Może Ci się przydać gdy logika aplikacji będzie zależna od regionu w jakim jest używana.

Jak uzyskać informację o bieżących ustawieniach lokalizacji użytkownika?

Nie chodzi tutaj o namierzanie via GPS. Wyjaśnię na przykładzie – właśnie piszę apkę, którą wrzucę w Google Play dla dwóch krajów: Polska oraz Stany Zjednoczone. Mniejsza o to co ta aplikacja potrafi, ale chodzi o to, że wykonuje pewne obliczenia na miarach. Tutaj zaczyna się problem, w Europie mamy mm, cm, m, km…, w USA są cale, stopy.
Musiałem odpowiednio przeliczyć wpisywane wartości do jednej skali. Żeby sprawdzić jaki kraj jest ustawiony na urządzeniu, co wiąże się bezpośrednio z tym jakie aplikacje będą dostępne w Google Play należy użyć kodu:

Locale language = getResources().getConfiguration().locale;     
if(language != null)
{
 if(language.getLanguage().equals("pl"))
     {
      //operations for polish users 
     }
     else
     {
      //others users
     }
}

W tym przykładzie, do weryfikacji używam skrótu języka ustawionego w urządzeniu. Jednak, myślę, że warto zainteresować się Locale, można z niego wydobyć dużo ciekawszych informacji jak np. pełna nazwa kraju, pełna nazwa języka i wiele innych informacji, które mogą się okazać przydatne.
Tutaj link do reference Locale.