Categorydevice

Developing for Amazon Kindle Fire

amazon kindle fire

Kindle Fire development could be a little bit tricky. There are five different device configurations available.
One device has a little bit strange config. It is sw533dp (smallestWidth) because of 1280×800 resolution with hdpi density.

I’ve summarized info to the table:

resolution dpi size sw
Kindle Fire HDX 8.9″ 2560×1600 xhdpi xlarge sw800
Kindle Fire HDX 7″ 1920×1200 xhdpi large sw600
Kindle Fire HD 7″ (2nd/3rd gen) 1280×800 hdpi large sw533
Kindle Fire HD 8.9″ 1920×1200 hdpi xlarge sw800
Kindle Fire (1st/2nd gen) 1024×600 mdpi large sw600
Nexus 7 1280×800 tvdpi large sw600
Nexus 10 2560×1600 xhdpi xlarge sw800
So you may consider to have something like drawable-sw533dp or layout-sw533dp in your project.

Sniff traffic on Android device

That’s quite easy task to sniff traffic on real Android device (steps are for Windows PC).

  1. You need HTTP sniffer application named Fiddler (http://www.fiddler2.com/fiddler2/). Download and install it.
  2. Run Fiddler and go to tools/Fiddler options/Connections – set “allow remote computers to connect”. Restart Fiddler.
  3. Run ipconfig of see in “control panel” your IP address
  4. Your Android device and your PC must be in one WiFi network to be connected
  5. Go to Android device WiFi connection settings and setup proxy

    Use your PC IP address and port 8888
  6. Enjoy

You can also use Charles for MacOS/Linux/Windows (http://www.charlesproxy.com/) in the same way.

Android Gingerbread 2.3 on Nexus One

We created Gingerbread build for our Nexus One.

    1. Internet SIP Calls works but… sound goes only one way:)
    2. Device startup time is awesome

      Waiting for official build

      //DL

      ScreenTest your Nook!

      Remember simple ScreenTest application that we developed some time ago? We’ve tried to run it on Nook Android powered device!

      It looks pretty amazing without any modifications:)

      Looking forward to test GoogleTV!

      //DL

      long or notlong

      As you know you can name layout or resource folders with “-long” or “-notlong” postfix.
      Documentation says:

      1. long – resources for screens of any size or density that have a significantly taller (in portrait mode) and wider (in landscape mode) aspect ratio than the baseline screen configuration.
      2. notlong – resources for use only on screens that have an aspect ratio that is similar to the baseline screen configuration.

      What does it mean in practice?

      hvga – notlong
      qvga – notlong
      wqvga400 – long
      wqvga432 – long
      wvga800 – long
      wvga854 – long

      i.e. if you have aspect ration > 1.5 like 1.78 (480×854) long folders will be used by Android.

      For example if you scale layout hvga (1.5) to wvga854 (1.78) – you should take into account additional 480*1.5=720; 854-730=134 pixels in the middle.

      p.s. Motorola Flipout is notlong also because it is just landscape qvga.

      //DL

      HTC Legend & Desire Grayscale Reproduction Issue

      It was reported by Phandroid that all or some of HTC Legend and Desire Android smartphones have poor grayscale reproduction.

      Now you can quick check your HTC device does it have this grayscale issue or not using small tool from Android Market – Screen Test.
      Originally application was created to help in dead pixels finding. Current release has some extra useful screens to test your device and now includes grayscale gradient to be sure that your HTC Legend or Desire phone is fine.

      You can download application from Android Market by searching “Screen Test” or just scan QR-code below.

      ScreenTest QR Code

      And don’t forget to comment on this or original Phandroid post to clarify is this is the issue for all HTC Legend phones or not.

      Add Headset button support to your Android application

      It’s relatively easy to add headset button support to your application. For example you want to play/pause media playback in your super media player.

      But here are a few moments that you should take into consideration:

        1. You should register your broadcast receiver inside your application (not in manifest file). Otherwise Google Music player will catch your broadcast and aboard it. http://android.git.kernel.org/?p=platform/packages/apps/Music.git;a=blob;f=src/com/android/music/MediaButtonIntentReceiver.java
        2. Your IntentFilter priority should be higher that other media players priorities in your phone:) That’s kind of tricky thing.

          The code snippet will look like:

          MediaButtonIntentReceiver mMediaButtonReceiver = new MediaButtonIntentReceiver();
          IntentFilter mediaFilter = new IntentFilter(Intent.ACTION_MEDIA_BUTTON);
          mediaFilter.setPriority(MEDIA_BUTTON_INTENT_EMPIRICAL_PRIORITY_VALUE);
          registerReceiver(mMediaButtonReceiver, mediaFilter);
          

          And MediaButtonIntentReceiver.java

          public class MediaButtonIntentReceiver extends BroadcastReceiver {
          
              public MediaButtonIntentReceiver() {
                  super();
              }
          
              @Override
              public void onReceive(Context context, Intent intent) {
                  String intentAction = intent.getAction();
                  if (!Intent.ACTION_MEDIA_BUTTON.equals(intentAction)) {
                      return;
                  }
                  KeyEvent event = (KeyEvent)intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
                  if (event == null) {
                      return;
                  }
                  int action = event.getAction();
                  if (action == KeyEvent.ACTION_DOWN) {
          	    // do something
                  }
                  abortBroadcast();
              }
          }
          
          1. Don’t forget to unregister your broadcast receiver
          2. Add “android.permission.BLUETOOTH” permission if you want to support bluetooth headset

          // DL

          Samsung Bada (vs Android phones?)

          Bada… in short

          – no multitask for user’s apps
          – no background services for user’s apps. only push notification from Bada server
          – Bada social hub (twitter, facebook, myspace)
          – 1GHz
          – C++ development (Eclipse plug-in) – only for Windows
          – 7-days mandatory app review to sell your app (Samsung app store)
          – DRM application protection
          – Billing integration with i-Free in Russia
          – Global developers chalenge (2.7M$) Mar 16 – Aug 15 ‘2010

          and the first Bada phone (Samsung Wave)… for the price of Nexus One

          Samsung Wave (Bada)

          //DL

          Device distribution in Russia

          Some interesting statistics about devices. I believe almost 99% of these devices owners are in Russia or can speak Russian:)

          And the winner is… HTC Hero! 🙂 nothing unexpected – the first official Android phone on the Russian market. And yes – HTC Hero is still 1.5… sad.

          p.s. stats are based on VKontakte Android client

          //DL

          Android safe mode: prevent 3rd party apps from booting

          Interesting thing… you have “safe mode” on your Android phone. Simple press and hold “menu” button during start up. You will see “safe mode” at the bottom left corner (like in Windows… lol).

          3rd party apps won’t be loaded… so you can easily uninstall broken or harmful applications thru Application Manager.

          http://groups.google.com/group/android-platform/browse_thread/thread/73ebca079ce7f47a

          tested on my Google Ion

          Thanks thevery for the tip)

          //DL

          © 2019 Android Tales

          Theme by Anders NorenUp ↑