Saturday, March 30, 2013

TableLayout use in android xml.

The code has been written in two files
a) main.xml
b) tableActivity.java

The code is as follows

a) main.xml


<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TableRow>
        <Button android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:text="Table Row1 Button1" />
        <Button android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:text="Table Row1 Button2" />
    </TableRow>
    <TableRow>
        <Button android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:text="Table Row2 Button1" />
        <Button android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:text="Table Row2 Button2" />
    </TableRow>
    <TableRow>
        <Button android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:text="Table Row3 Button1" />
        <Button android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:text="Table Row3 Button2" />
    </TableRow>
</TableLayout>



b) tableActivity.java


package org.example.table;

import android.app.Activity;
import android.os.Bundle;

public class tableActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

Friday, March 29, 2013

How to decrease the size of radio buttons in android xml

1. Create radio_button.xml in drawable.


<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/btn_radio_on" android:state_checked="true" android:state_pressed="false"/>
    <item android:drawable="@drawable/btn_radio_off" android:state_checked="false" android:state_pressed="false"/>
    <item android:drawable="@drawable/btn_radio_on_pressed" android:state_checked="true" android:state_pressed="true"/>
    <item android:drawable="@drawable/btn_radio_off_pressed" android:state_checked="false" android:state_pressed="true"/>

</selector>

note: images used in radio_button.xml file.









2. Use radiogroup in any layout.


 <RadioGroup
                        android:id="@+id/radioGroup1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignBottom="@+id/radioButton3"
                        android:layout_alignParentLeft="true"
                        android:layout_below="@+id/imageView2" >

                        <RadioButton
                            android:id="@+id/radio0"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:checked="true"
                            android:text="Name"
                            android:button="@drawable/radio_button"
                            android:textColor="#000000" />

                        <RadioButton
                            android:id="@+id/radio1"
                            android:layout_width="wrap_content"
                            android:button="@drawable/radio_button"
                            android:layout_height="wrap_content"
                            android:text="Code"
                            android:textColor="#000000" />
                    </RadioGroup>

Android Custom Button Style

1. http://www.mindfreakerstuff.com/2012/09/50-useful-android-custom-button-style-set-1/#shakespeare
2. http://technotzz.wordpress.com/2012/06/19/fancy-gradient-buttons-for-android/

Friday, March 22, 2013

When Landscape view is used then how can change the layout in landscape view?


1. Create new folder in res/layout-land.
2. Make two layout file with same name main.xml
3. Now place one layout file which is for landscape view in res/layout-land/main.xml


Now when you change view of device that can be take layout automatically from the layout.


Tuesday, March 12, 2013

How to detact Internet connection availibility in android ?

1. Create Layout 

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Detect Internet Status" />

    <Button android:id="@+id/btn_check"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="Check Internet Status"
        android:layout_centerInParent="true"/>

</RelativeLayout>

2.Create ConnectionDetector class

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;

public class ConnectionDetector {
     private Context _context;
   
        public ConnectionDetector(Context context){
            this._context = context;
        }
   
        public boolean isConnectingToInternet(){
            ConnectivityManager connectivity = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE);
              if (connectivity != null)
              {
                  NetworkInfo[] info = connectivity.getAllNetworkInfo();
                  if (info != null)
                      for (int i = 0; i < info.length; i++)
                          if (info[i].getState() == NetworkInfo.State.CONNECTED)
                          {
                              return true;
                          }
   
              }
              return false;
        }

}

3. now in main activity class write following code.

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.view.Menu;
import android.view.View;
import android.widget.Button;


public class MainActivity extends Activity {

    // flag for Internet connection status
    Boolean isInternetPresent = false;

    // Connection detector class
    ConnectionDetector cd;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
       
        Button btn_check=(Button) findViewById(R.id.btn_check);
       
        // creating connection detector class instance
        cd = new ConnectionDetector(getApplicationContext());
       
        btn_check.setOnClickListener(new View.OnClickListener()
        {
            public void onClick(View v)
            {

                // get Internet status
                isInternetPresent = cd.isConnectingToInternet();

                // check for Internet status
                if (isInternetPresent)
                {
                    // Internet Connection is Present
                    // make HTTP requests
                    showAlertDialog(MainActivity.this, "Internet Connection","You have internet connection", true);
                }
                else
                {
                    // Internet connection is not present
                    // Ask user to connect to Internet
                    showAlertDialog(MainActivity.this, "No Internet Connection","You don't have internet connection.", false);
                }
            }

        });
    }
  
    public void showAlertDialog(Context context, String title, String message, Boolean status) {
        AlertDialog alertDialog = new AlertDialog.Builder(context).create();

        // Setting Dialog Title
        alertDialog.setTitle(title);

        // Setting Dialog Message
        alertDialog.setMessage(message);

        // Setting alert dialog icon
        //alertDialog.setIcon((status) ? R.drawable.success : R.drawable.fail);

        // Setting OK Button
        alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
            }
        });

        // Showing Alert Message
        alertDialog.show();
    }
   
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

Friday, March 8, 2013

How to use SQLiteAssetHelper Library with SQLite Database

Jar file and documentation are available at  https://github.com/jgilfelt/android-sqlite-asset-helper.

It is used to add your database folder in asset folder in your folder hierarchy and use it in your Application. 


  1. Add android-sqlite-asset-helper.jar to lib directory.
  2. Copy database in a zip file in assets/databases/database_name.zip.
  3. Create class:
    public class MyDatabase extends SQLiteAssetHelper {
    
        private static final String DATABASE_NAME = "database_name";
        private static final int DATABASE_VERSION = 1;
    
        public MyDatabase(Context context) {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);  
        }
     }