Skip to main content

Supporting multiple screens in Android–m-Mathurat

al-ma'thurat bersama Ustaz Don Daniyal - tablet mode  al-ma'thurat bersama Ustaz Don Daniyal - phone mode

Figure 1: M-Mathurat on tablet (left) and on phone (right).

Preliminary designed for small screen Android smartphone, we decided to support bigger screen in Android tablet (Samsung Galaxy Note and above). The main reason is, more than 20% of the device installing m-Mathurat are big screen devices (Figure 2), and 10% are using Android Honeycomb (Figure 3).

al-ma'thurat bersama Ustaz Don Daniyal - device installs

Figure 2: M-Mathurat active device installs (device type) statistic.

al-ma'thurat bersama Ustaz Don Daniyal - Android versions installs

Figure 3: M-Mathurat active device installs (Android versions) statistic.

The Android management team (especially Andy Rubin) believe that there suppose only one version of app for all devices. Meaning that there is only one release of app that could cater smaller screen smartphone and also tablet. Yeah… Heck of terrible days for developer, definitely. Anyway, we managed to get through.

What we did was, checking the screen size during the application start. Referring to the official reference of Android (http://developer.android.com/guide/practices/screens_support.html), xlarge screens are normally more than 960dpi width.

image

The code to determine the screen width in dpi is;


Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth(); // deprecated
int height = display.getHeight(); // deprecated
if (height>width){
width=height;
}

//normal smartphone screen
if(width<960){
//set orientation to portrait
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
//big screen tablet
else {
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}

Comments

Popular posts from this blog

Simple search – result appears in the same page

This PHP code is a simple search example. It needs the user to enter a name and the PHP script will to the searching by the name provided by the user in the text box. <form name='search' method='get' action=''> Insert the firstname <input type='text' name='txtname'> <input type='submit' value='search name'> </form> <?php //database connect $db=mysqli_connect("localhost","root","","mycompanyhr"); //checking database connection if ($db==false) { echo "Connect failed: ". mysqli_connect_error($db); exit(); } else { echo "Connection successful"; } $n=$_GET['txtname']; $sql="select EMPNO, FIRSTNAME, LASTNAME, WORKDEPT, PHONENO from employee where FIRSTNAME like '%$n%' "; $rs=mysqli_query($db,$sql); if($rs==false){ echo ("Query cannot be executed!<br>"); echo ("SQL Error : ".mysqli_error($db)); } else...

Several English proverbs and the Malay pair

Or you could download here for the Malay proverbs app – https://play.google.com/store/apps/details?id=net.kerul.peribahasa English proverbs and the Malay pair Corpus Reference: Amir Muslim, 2009. Peribahasa dan ungkapan Inggeris-Melayu. DBP, Kuala Lumpur http://books.google.com.my/books/about/Peribahasa_dan_ungkapan_Inggeris_Melayu.html?id=bgwwQwAACAAJ CTRL+F to search Proverbs in English Definition in English Similar Malay Proverbs Definition in Malay 1 Where there is a country, there are people. A country must have people. Ada air adalah ikan. Ada negeri adalah rakyatnya. 2 Dry bread at home is better than roast meat home's the best hujan emas di negeri orang,hujan batu di negeri sendiri Betapa baik pun tempat orang, baik lagi tempat sendiri. 3 There's no accounting for tastes We can't assume that every people have a same feel Kepala sama hitam hati lain-lain. Dalam kehidupan ini, setiap insan berbeza cara, kesukaan, perangai, tabia...

Bootstrap Template for PHP database system - MyCompanyHR

HTML without framework is dull. Doing hard-coded CSS and JS are quite difficult with no promising result on cross platform compatibility. So I decided to explore BootStrap as they said it is the most popular web framework. What is BootStrap? - Bootstrap is the most popular HTML, CSS, and JavaScript framework for developing responsive, mobile-first web sites. (  http://www.w3schools.com/bootstrap/   ) Available here -  http://getbootstrap.com/ Why you need Flat-UI? Seems like a beautiful theme to make my site look professional. Anyway you could get variety of BootStrap theme out there, feel free to select here  http://bootstraphero.com/the-big-badass-list-of-twitter-bootstrap-resources/ Flat-UI is from DesignModo -   http://designmodo.com/flat/ Web Programming MyCompanyHR – PHP & MySQL mini project (with Boostrap HTML framework) Template 1: Template for the Lab Exercise. This is a project sample of a staff record management system. It h...

Mobile Apps using HTML interface with jQueryMobile

This is the main tutorial for developing a mobile web app using the HTML  interface with jQueryMobile. The series contains tutorial on how to use HTML and jQueryMobile to construct the app’s interface, PHP+MySQL to run the back-end, AJAX, using phoneGap/Cordova to generate Android APK, and lastly to upload to Google Play Store. These are the link of completed tutorials related to Mobile Web Apps Development Mobile Apps using HTML interface with JQUERYMOBILE (this page) Complete code sample of Mobile Web Apps with FRONT-END and BACK-END Using AJAX to populate data from mobile web interface Generating APK using BUILD.PHONEGAP.com Generating Android Project using CORDOVA Publishing to Google Play Store Mobile Web Apps development TRAINING The sample app published in Google Play Store jQueryMobile is a JavaScript + CSS framework born from jQuery. The best place to learn jQueryMobile is by accessing the official website at http://demos.jquerymobile.com/ As the na...

Using Fling Motion Gesture in Android

The layout . I’m using the ViewFlipper to demonstrate this simple fling application. So, what is Fling… It’s also known as the swiping action on your mobile device screen. In this demo, I prepared an Activity with ViewFlipper layout that has 3 screens. Green, Blue and Yellow. <? xml version="1.0" encoding="utf-8" ?> < LinearLayout xmlns : android = "http://schemas.android.com/apk/res/android" android : orientation = "vertical" android : layout_width = "fill_parent" android : layout_height = "fill_parent" > < TableLayout android : id = "@+id/LinearLayout01" android : layout_width = "fill_parent" android : layout_height = "wrap_content" > < TableRow > < TextView android : id = "@+id/btnback" android : text = "Fling left - Back " android : layout_width = ...