tag:blogger.com,1999:blog-34407783851109076262024-03-13T08:57:22.567-07:00Java and Android Programming TutorialsAndroid Programming TutorialsAnonymoushttp://www.blogger.com/profile/08221238899969453036noreply@blogger.comBlogger11125tag:blogger.com,1999:blog-3440778385110907626.post-35055039760185961672013-06-13T00:31:00.000-07:002016-04-09T00:02:30.978-07:00Interface in java<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
An interface is a group or collection of abstract methods or incomplete methods. A class implements methods should override declared method in interface. All methods should be public in interface because of access of method in implemented class.<br />
An interface is implicitly abstract so we don't need to use abstract keyword. And all method of interface also by default abstract and incomplete.<br />
<br />
Points for interface declaration and use:<br />
<br />
1:- Method of interface should not static and final, You can't create static methods in interfaces. All methods are instance methods.<br />
2:- All variables in interface are by default public static final. So we don't need to use it. if we use it , it will be redundant.<br />
3:- Interface can not be instantiated.<br />
4:- Interface have .java extension.<br />
<br />
<br />
Example:-<br />
<br />
public abstract interface TestInterface{ // Interfaces are always abstract <br />
<br />
public static final String EX_CONSTANT = "ABC";<br />
public static final int EX_INT_CONSTANT = 5;<br />
public static final double EX_DOUBLE = 5.0;<br />
public static final Integer EX_INTEGER = 10;<br />
<br />
public void testMethod(); // Interface methods are always public<br />
abstract void anotherTestMethod(); // Also redundant<br />
<br />
}<br />
<br />
Difference between Interface and Class :-<br />
<br />
1:- we can not create object of interface.<br />
2:- it don't have constructor.<br />
3:- Method of interface are abstract.<br />
4:- It have incomplete methods.<br />
5:- Method must be public.<br />
6:- All variable is by default public static final.<br />
7:- An interface can extends mulple interface.<br />
8:- An interface not extended by class , it is implemented.<br />
<br />
Example:- <br />
<br />
/* File name : Dog.java */<br />
interface Dog {<br />
<br />
public void bark();<br />
public void eat();<br />
}<br />
<br />
<br />
Now implementing interface in Behaviour.class<br />
<br />
/* File name : Behaviour.java */<br />
public class Behaviour implements Dog{<br />
<br />
public void eat(){<br />
System.out.println("eat");<br />
}<br />
<br />
public void bark(){<br />
System.out.println("bark");<br />
}<br />
<br />
<br />
<br />
public static void main(String args[]){<br />
Behaviour obj = new Behaviour();<br />
obj.eat();<br />
obj.bark();<br />
}<br />
}<br />
<div>
<br /></div>
</div>
Anonymoushttp://www.blogger.com/profile/08221238899969453036noreply@blogger.com0tag:blogger.com,1999:blog-3440778385110907626.post-32584983794035678512013-06-01T12:04:00.003-07:002013-06-13T00:02:45.706-07:00Abstracttion with Abstract class<div dir="ltr" style="text-align: left;" trbidi="on">
Abstraction is the ability to provide a class abstract in OOP. Abstract class can not be instantiated. All other property of Abstract class is same as normal class. but we can not instantiate abstract class.<br />
<br />
We have to use abstract keyword to declare abstract class.<br />
<br />
<br />
<br />
/* File name : Company.java */<br />
public abstract class Company<br />
{<br />
private String a;<br />
private String b;<br />
private int c;<br />
public Company(String a, String b, int c)<br />
{<br />
System.out.println("constructor");<br />
this.a= a;<br />
this.b= b;<br />
this.c= c;<br />
}<br />
public double a()<br />
{<br />
System.out.println("a");<br />
return 0.0;<br />
}<br />
public void b()<br />
{<br />
System.out.println("b");<br />
}<br />
public String toString()<br />
{<br />
return a+ " " + b+ " " + c;<br />
}<br />
<br />
public String b()<br />
{<br />
return b;<br />
}<br />
<br />
}<br />
<br />
<br />
Above class have same declaration and implementation just like simple class. but is have declared as abstract class. But the question is What is the difference between Abstract class and normal class. <br />
I have provide below example to understand abstract class.<br />
<br />
<br />
if you would try as follows:<br />
<br />
/* File name : AbstractDemo.java */<br />
public class AbstractDemo<br />
{<br />
public static void main(String [] args)<br />
{<br />
<br />
Company e = new Company("Abhi", "India", 22);<br />
<br />
System.out.println("\n its my name--");<br />
e.b();<br />
}<br />
}<br />
<br />
<br />
When we compile above class then you would get following error:<br />
<br />
Company .java:46: Employee is abstract; cannot be instantiated<br />
<br />
Company e = new Company ("abhi.", "india", 22);<br />
^<br />
1 error<br />
<br />
We can not instantiate Abstract Class. rather you can create instance of anonymous subclass of your abstract class. below example describes how can i do it.<br />
<br />
<br />
public class AbstractDemo<br />
{<br />
public static void main(String [] args)<br />
{<br />
<br />
Company e = new Company("Abhi", "India"){<br />
<br />
@Override<br />
public void mailCheck() { // You need to implement abstract method<br />
System.out.print("Abstract");<br />
}<br />
<br />
};<br />
<br />
e.b();<br />
}<br />
}<br />
<br />
<br />
From above example we can instantiate abstract class anonymous subclass.<br />
<br /></div>
Anonymoushttp://www.blogger.com/profile/08221238899969453036noreply@blogger.com0tag:blogger.com,1999:blog-3440778385110907626.post-18655807923743308772013-05-30T13:06:00.003-07:002013-05-30T13:06:42.233-07:00Lambda Expression in Java 8<div dir="ltr" style="text-align: left;" trbidi="on">
Current New topic in Java 8 is lambda expressions.Lambda expressions are just like methods, a body and return type and it has arguments. It is just like anonymous methods or we can say that method without name. <br />
<br />
There are fallowing statement about Lembda Expressions:--<br />
<br />
1) Lambda expression does't necessory to have parameters.<br />2) If there are no parameters to be passed, then an empty parentheses is given.<br />3) Type of the passed parameter can be explicitly declared or can be taken from context.<br />4) Lambda expression body does't necessory to have statements.<br />5) Body of expression should be enclosed in curly braces, if there is only one statement curly brace is not needed.<br />
6) Lambda expression <em>is converted into</em> an instance of a functional interface. <br />
<br />
<br />
There is fallowing example for lemda expression:----<br />
<br />
If we have fallowing list that we want to sort it. We can do it by fallowing way.<br />
<br />
<span style="color: #b45f06;">List<Person> personList = new ArrayList<>();<br />personList.add(new Person("Virat", "Kohli"));<br />personList.add(new Person("Arun", "Kumar"));<br />personList.add(new Person("Rajesh", "Mohan"));<br />personList.add(new Person("Rahul", "Dravid"));<br /><br /><br />//Sorting using Anonymous Inner class.<br />Collections.sort(personList, new Comparator<Person>(){<br />public int compare(Person p1, Person p2){<br />return p1.firstName.compareTo(p2.firstName);<br />}<br />});</span><br /><br />But We Can reduce the code and more precise by using Lembda Expression as Fallowing:<br />
<br /><span style="color: #b45f06;">Collections.sort(personList, (p1, p2) -> p1.firstName.compareTo(p2.firstName));</span><br />
<span style="color: #b45f06;"> </span><br />
<br />
<br />
<br /></div>
Anonymoushttp://www.blogger.com/profile/08221238899969453036noreply@blogger.com0tag:blogger.com,1999:blog-3440778385110907626.post-58251941808325434692013-05-30T12:22:00.003-07:002013-05-30T12:22:48.342-07:00<div dir="ltr" style="text-align: left;" trbidi="on">
Pyramid Programs in C Languages:<br />
<br />
<br />
Program 1:- <br />
<br />
*<br /> ***<br /> *****<br /> *******<br /> *********<br /><br /><br /><span style="color: #b45f06;"><b>Solution:</b></span><br /><br /><span style="color: #cc0000;">#include <stdio.h><br /><br />int main()<br />{<br /> int row, c, n, temp;<br /><br /> printf("Enter the number of rows in pyramid of stars you wish to see ");<br /> scanf("%d",&n);<br /><br /> temp = n;<br /><br /> for ( row = 1 ; row <= n ; row++ )<br /> {<br /> for ( c = 1 ; c < temp ; c++ )<br /> printf(" ");<br /><br /> temp--;<br /><br /> for ( c = 1 ; c <= 2*row - 1 ; c++ )<br /> printf("*");<br /><br /> printf("\n");<br /> }<br /><br /> return 0;<br />}</span><br />
<br />
<br />
Output:-<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-UlKqhnHkqhI/UaekwPxRynI/AAAAAAAADds/SBLAa7NJB3A/s1600/pyramid.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="124" src="http://3.bp.blogspot.com/-UlKqhnHkqhI/UaekwPxRynI/AAAAAAAADds/SBLAa7NJB3A/s320/pyramid.png" width="320" /></a></div>
<br />
<br />
-------------------------------------------------------------------------------------------------------------<br />
<br />
<br />
<br />
Program 2:-<br />
<br />
<br />
*<br />**<br />***<br />****<br />*****<br /><br /><br /><span style="color: #cc0000;">Solution:-- </span><br /><br /><span style="color: #b45f06;">#include <stdio.h><br /><br />int main()<br />{<br /> int n, c, k;<br /><br /> printf("Enter number of rows\n");<br /> scanf("%d",&n);<br /><br /> for ( c = 1 ; c <= n ; c++ )<br /> {<br /> for( k = 1 ; k <= c ; k++ )<br /> printf("*");<br /><br /> printf("\n");<br /> }<br /><br /> return 0;<br />}</span><br />
<br />
<br />
<br />
------------------------------------------------------------------------------------------------------------<br />
<br />
<br />
<br />
<br />
<br />
A<br />B B<br />C C C<br />D D D D<br />E E E E E<br /><br /><br />Solution :--<br /><br /><br /><br /><span style="color: #b45f06;">#include<stdio.h><br />int main()<br />{<br /> int i,j;<br /> char input,temp='A';<br /> printf("Enter uppercase character you want in triangle at last row: ");<br /> scanf("%c",&input);<br /> for(i=1;i<=(input-'A'+1);++i)<br /> {<br /> for(j=1;j<=i;++j)<br /> printf("%c",temp);<br /> ++temp;<br /> printf("\n");<br /> }<br /> return 0;<br />}</span><br />
--------------------------------------------------------------------------------------------------------------<br />
<br />
<br />
<br /> *<br /> * * *<br /> * * * * *<br /> * * * * * * *<br />* * * * * * * * *<br /><br /><br /><span style="color: #b45f06;"><br />#include <stdio.h><br />int main()<br />{<br /> int i,space,rows,k=0;<br /> printf("Enter the number of rows: ");<br /> scanf("%d",&rows);<br /> for(i=1;i<=rows;++i)<br /> {<br /> for(space=1;space<=rows-i;++space)<br /> {<br /> printf(" ");<br /> }<br /> while(k!=2*i-1)<br /> {<br /> printf("* ");<br /> ++k;<br /> }<br /> k=0;<br /> printf("\n");<br /> }<br /> return 0;<br />}</span><br />
<br />
<br />
<br />
---------------------------------------------------------------------------------------------------------------- <br />
<br />
<br />
<br />
1<br /> 2 3 2<br /> 3 4 5 4 3<br /> 4 5 6 7 6 5 4<br />5 6 7 8 9 8 7 6 5<br /><br /><br /><br /><span style="color: #b45f06;">#include <stdio.h><br />int main()<br />{<br /> int i,space,rows,k=0,count=0,count1=0;<br /> printf("Enter the number of rows: ");<br /> scanf("%d",&rows);<br /> for(i=1;i<=rows;++i) <br /> {<br /> for(space=1;space<=rows-i;++space)<br /> {<br /> printf(" ");<br /> ++count;<br /> }<br /> while(k!=2*i-1)<br /> {<br /> if (count<=rows-1) <br /> {<br /> printf("%d ",(i+k));<br /> ++count;<br /> }<br /> else<br /> {<br /> ++count1;<br /> printf("%d ", (i+k-2*count1)); <br /> }<br /> ++k;<br /> }<br /> count1=count=k=0;<br /> printf("\n");<br /> }<br /> return 0;<br />}</span><br />
<span style="color: #b45f06;"><br /></span>
<br />
================================================================================<br />
<br />
<br />
* * * * * * * * *<br /> * * * * * * *<br /> * * * * *<br /> * * *<br /> *<br /> <br /> <br /> <br /> <br /> <br /><span style="color: #b45f06;"> #include<stdio.h><br />int main()<br />{<br /> int rows,i,j,space;<br /> printf("Enter number of rows: ");<br /> scanf("%d",&rows);<br /> for(i=rows;i>=1;--i)<br /> {<br /> for(space=0;space<rows-i;++space)<br /> printf(" ");<br /> for(j=i;j<=2*i-1;++j)<br /> printf("* ");<br /> for(j=0;j<i-1;++j)<br /> printf("* ");<br /> printf("\n");<br /> }<br /> return 0;<br />}</span><br />
<br />
<br />
<br />
<br />
=========================================================================<br />
<br />
<br />
<br /> 1<br /> 1 1<br /> 1 2 1<br /> 1 3 3 1<br /> 1 4 6 4 1<br /> 1 5 10 10 5 1 <br /><br /><span style="color: #b45f06;">#include<stdio.h><br />int main()<br />{<br /> int rows,coef=1,space,i,j;<br /> printf("Enter number of rows: ");<br /> scanf("%d",&rows);<br /> for(i=0;i<rows;i++)<br /> {<br /> for(space=1;space<=rows-i;space++)<br /> printf(" ");<br /> for(j=0;j<=i;j++)<br /> {<br /> if (j==0||i==0)<br /> coef=1;<br /> else<br /> coef=coef*(i-j+1)/j;<br /> printf("%4d",coef);<br /> }<br /> printf("\n");<br /> }<br />}</span><br />
<span style="color: #b45f06;"><br /></span>
<br />
===========================================================================<br />
<br />
<br />
1<br />2 3<br />4 5 6<br />7 8 9 10<br /><br /><span style="color: #b45f06;">#include<stdio.h><br />int main()<br />{<br /> int rows,i,j,k=0;<br /> printf("Enter number of rows: ");<br /> scanf("%d",&rows);<br /> for(i=1;i<=rows;i++)<br /> {<br /> for(j=1;j<=i;++j)<br /> printf("%d ",k+j);<br /> ++k;<br /> printf("\n");<br /> }<br />}</span><br />
<br />
<br /></div>
Anonymoushttp://www.blogger.com/profile/08221238899969453036noreply@blogger.com0tag:blogger.com,1999:blog-3440778385110907626.post-58803732519297591722013-05-28T00:13:00.001-07:002013-05-30T13:12:39.847-07:00Side Slider in for Android<div dir="ltr" style="text-align: left;" trbidi="on">
Slider on side is more toughest task , i have try to implement it. Below code shows how to implement it.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-XPqsKHZrgSY/UaRt7J_r0CI/AAAAAAAADQ8/R8vmTsoo8IY/s1600/device-2013-05-28-140808.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-XPqsKHZrgSY/UaRt7J_r0CI/AAAAAAAADQ8/R8vmTsoo8IY/s320/device-2013-05-28-140808.png" width="192" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<br />
<br />
<br />
<br />
1:- MainActivity.java:-<br />
<br />
<br />
<span style="color: #990000;">package com.example.sideslider;</span><br />
<span style="color: #990000;"><br /></span>
<span style="color: #990000;">import android.os.Bundle;</span><br />
<span style="color: #990000;">import android.app.Activity;</span><br />
<span style="color: #990000;">import android.view.Menu;</span><br />
<span style="color: #990000;"><br /></span>
<span style="color: #990000;">import android.app.Activity;</span><br />
<span style="color: #990000;">import android.os.Bundle;</span><br />
<span style="color: #990000;">import android.view.View;</span><br />
<span style="color: #990000;">import android.view.animation.Animation;</span><br />
<span style="color: #990000;">import android.view.animation.AnimationUtils;</span><br />
<span style="color: #990000;">import android.widget.Button;</span><br />
<span style="color: #990000;">import android.widget.CheckBox;</span><br />
<span style="color: #990000;">import android.widget.TextView;</span><br />
<span style="color: #990000;">public class MainActivity extends Activity {</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>/** Called when the activity is first created. */</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>CheckBox c1,c2,c3;</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>int key=0;</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public void onCreate(Bundle savedInstanceState) {</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>super.onCreate(savedInstanceState);</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>setContentView(R.layout.main);</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>final CustomisedPanel popup = (CustomisedPanel)</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>findViewById(R.id.popup_window);</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>popup.setVisibility(View.GONE);</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>final Button btn=(Button)findViewById(R.id.show_popup_button);</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>btn.setOnClickListener(new View.OnClickListener() {</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public void onClick(View arg0) {</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>if(key==0){</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>key=1;</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>popup.setVisibility(View.VISIBLE);</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>btn.setBackgroundResource(R.drawable.direction_right);</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>} else if(key==1){</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>key=0;</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>popup.setVisibility(View.GONE);</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>btn.setBackgroundResource(R.drawable.direction_right);</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>});</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span><br />
<span style="color: #990000;">}</span><br />
<span style="color: #990000;"><br /></span>
--------------------------------------------------------------------------------------------------------<br />
<br />
<br />
2:-CustomisedPanel.java:-<br />
<br />
<br />
<span style="color: #990000;"> package com.example.sideslider;</span><br />
<span style="color: #990000;"><br /></span>
<span style="color: #990000;"><br /></span>
<span style="color: #990000;">import java.util.ArrayList;</span><br />
<span style="color: #990000;">import java.util.Iterator;</span><br />
<span style="color: #990000;">import java.util.List;</span><br />
<span style="color: #990000;">import java.util.Map;</span><br />
<span style="color: #990000;">import android.content.Context;</span><br />
<span style="color: #990000;">import android.graphics.Canvas;</span><br />
<span style="color: #990000;">import android.graphics.Paint;</span><br />
<span style="color: #990000;">import android.graphics.PointF;</span><br />
<span style="color: #990000;">import android.graphics.RectF;</span><br />
<span style="color: #990000;">import android.graphics.Paint.Style;</span><br />
<span style="color: #990000;">import android.util.AttributeSet;</span><br />
<span style="color: #990000;">import android.view.MotionEvent;</span><br />
<span style="color: #990000;">import android.widget.LinearLayout;</span><br />
<span style="color: #990000;">public class CustomisedPanel extends LinearLayout</span><br />
<span style="color: #990000;">{</span><br />
<span style="color: #990000;">private Paint innerPaint, borderPaint ;</span><br />
<span style="color: #990000;">public CustomisedPanel(Context context, AttributeSet attrs) {</span><br />
<span style="color: #990000;">super(context, attrs);</span><br />
<span style="color: #990000;">init();</span><br />
<span style="color: #990000;">}</span><br />
<span style="color: #990000;">public CustomisedPanel(Context context) {</span><br />
<span style="color: #990000;">super(context);</span><br />
<span style="color: #990000;">init();</span><br />
<span style="color: #990000;">}</span><br />
<span style="color: #990000;">private void init() {</span><br />
<span style="color: #990000;">innerPaint = new Paint();</span><br />
<span style="color: #990000;">innerPaint.setARGB(225, 75, 75, 75); //gray</span><br />
<span style="color: #990000;">innerPaint.setAntiAlias(true);</span><br />
<span style="color: #990000;">borderPaint = new Paint();</span><br />
<span style="color: #990000;">borderPaint.setARGB(255, 255, 255, 255);</span><br />
<span style="color: #990000;">borderPaint.setAntiAlias(true);</span><br />
<span style="color: #990000;">borderPaint.setStyle(Style.STROKE);</span><br />
<span style="color: #990000;">borderPaint.setStrokeWidth(2);</span><br />
<span style="color: #990000;">}</span><br />
<span style="color: #990000;">public void setInnerPaint(Paint innerPaint) {</span><br />
<span style="color: #990000;">this.innerPaint = innerPaint;</span><br />
<span style="color: #990000;">}</span><br />
<span style="color: #990000;">public void setBorderPaint(Paint borderPaint) {</span><br />
<span style="color: #990000;">this.borderPaint = borderPaint;</span><br />
<span style="color: #990000;">}</span><br />
<span style="color: #990000;">@Override</span><br />
<span style="color: #990000;">protected void dispatchDraw(Canvas canvas) {</span><br />
<span style="color: #990000;">RectF drawRect = new RectF();</span><br />
<span style="color: #990000;">drawRect.set(0,0, getMeasuredWidth(), getMeasuredHeight());</span><br />
<span style="color: #990000;">canvas.drawRoundRect(drawRect, 5, 5, innerPaint);</span><br />
<span style="color: #990000;">canvas.drawRoundRect(drawRect, 5, 5, borderPaint);</span><br />
<span style="color: #990000;">super.dispatchDraw(canvas);</span><br />
<span style="color: #990000;">}</span><br />
<span style="color: #990000;">}</span><br />
<div>
-----------------------------------------------------------------------------------------------</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
3:-main.xml</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<span style="color: #990000;"> <?xml version="1.0" encoding="utf-8"?></span></div>
<div>
<span style="color: #990000;"><LinearLayout</span></div>
<div>
<span style="color: #990000;">xmlns:android="http://schemas.android.com/apk/res/android"</span></div>
<div>
<span style="color: #990000;">android:orientation="horizontal"</span></div>
<div>
<span style="color: #990000;">android:gravity="center_vertical"</span></div>
<div>
<span style="color: #990000;">android:background="@drawable/rectangle"</span></div>
<div>
<span style="color: #990000;">android:layout_width="fill_parent"</span></div>
<div>
<span style="color: #990000;">android:layout_height="fill_parent"></span></div>
<div>
<span style="color: #990000;"><com.example.sideslider.CustomisedPanel</span></div>
<div>
<span style="color: #990000;">android:id="@+id/popup_window"</span></div>
<div>
<span style="color: #990000;">android:orientation="vertical"</span></div>
<div>
<span style="color: #990000;">android:layout_width="wrap_content"</span></div>
<div>
<span style="color: #990000;">android:layout_height="wrap_content"</span></div>
<div>
<span style="color: #990000;">android:gravity="left"</span></div>
<div>
<span style="color: #990000;">android:padding="1px"</span></div>
<div>
<span style="color: #990000;">android:background="#ffffff"></span></div>
<div>
<span style="color: #990000;"><CheckBox android:id="@+id/check1"</span></div>
<div>
<span style="color: #990000;">android:layout_width="wrap_content"</span></div>
<div>
<span style="color: #990000;">android:textColor="#FFFFFF"</span></div>
<div>
<span style="color: #990000;">android:layout_height="wrap_content"</span></div>
<div>
<span style="color: #990000;">android:text="Satellite View" /></span></div>
<div>
<span style="color: #990000;"><CheckBox android:id="@+id/check2"</span></div>
<div>
<span style="color: #990000;">android:layout_width="wrap_content"</span></div>
<div>
<span style="color: #990000;">android:textColor="#FFFFFF"</span></div>
<div>
<span style="color: #990000;">android:layout_height="wrap_content"</span></div>
<div>
<span style="color: #990000;">android:text="Street View" /></span></div>
<div>
<span style="color: #990000;"><CheckBox android:id="@+id/check3"</span></div>
<div>
<span style="color: #990000;">android:textColor="#FFFFFF"</span></div>
<div>
<span style="color: #990000;">android:layout_width="wrap_content"</span></div>
<div>
<span style="color: #990000;">android:layout_height="wrap_content"</span></div>
<div>
<span style="color: #990000;">android:text="Traffic" /></span></div>
<div>
<span style="color: #990000;"></com.example.sideslider.CustomisedPanel></span></div>
<div>
<span style="color: #990000;"><Button android:id="@+id/show_popup_button"</span></div>
<div>
<span style="color: #990000;">android:layout_width="wrap_content"</span></div>
<div>
<span style="color: #990000;">android:layout_height="wrap_content"</span></div>
<div>
<span style="color: #990000;">android:background="@drawable/direction_right"/></span></div>
<div>
<span style="color: #990000;"><br /></span></div>
<div>
<span style="color: #990000;"><br /></span></div>
<div>
<span style="color: #990000;"></LinearLayout></span></div>
<div>
<span style="color: #990000;">------------------------------------------------------------------------------------------------------</span></div>
<div>
<span style="color: #990000;"><br /></span></div>
<div>
<span style="color: #990000;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
<span style="color: #990000;"><br /></span></div>
<div>
<span style="color: #990000;"><br /></span></div>
<div>
<span style="color: #990000;"><br /></span></div>
</div>
Anonymoushttp://www.blogger.com/profile/08221238899969453036noreply@blogger.com0tag:blogger.com,1999:blog-3440778385110907626.post-27201169374078210462013-05-28T00:12:00.001-07:002013-05-28T00:50:39.413-07:00Android ListView Indexer<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<b><br /></b>
<b>Below I have Declared all code , java classes, xml and Manifiest file also:- </b><br />
<b><br /></b>
<b><br /></b>
<b><br /></b>
<b>1:- SideIndex.java file</b><br />
<span style="color: #cc0000;"><br /></span>
<b><span style="color: #990000;">package andriod.abhi.sideindex;</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;">import java.util.ArrayList;</span></b><br />
<b><span style="color: #990000;">import java.util.Arrays;</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;">import de.helloandroid.sideindex.R;</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;">import android.app.Activity;</span></b><br />
<b><span style="color: #990000;">import android.os.Bundle;</span></b><br />
<b><span style="color: #990000;">import android.view.GestureDetector;</span></b><br />
<b><span style="color: #990000;">import android.view.Gravity;</span></b><br />
<b><span style="color: #990000;">import android.view.MotionEvent;</span></b><br />
<b><span style="color: #990000;">import android.view.View;</span></b><br />
<b><span style="color: #990000;">import android.view.View.OnTouchListener;</span></b><br />
<b><span style="color: #990000;">import android.widget.ArrayAdapter;</span></b><br />
<b><span style="color: #990000;">import android.widget.LinearLayout;</span></b><br />
<b><span style="color: #990000;">import android.widget.ListView;</span></b><br />
<b><span style="color: #990000;">import android.widget.TextView;</span></b><br />
<b><span style="color: #990000;">import android.widget.LinearLayout.LayoutParams;</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;">public class SideIndex extends Activity</span></b><br />
<b><span style="color: #990000;">{</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private GestureDetector mGestureDetector;</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// x and y coordinates within our side index</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private static float sideIndexX;</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private static float sideIndexY;</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// height of side index</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private int sideIndexHeight;</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// number of items in the side index</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private int indexListSize;</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// list with items for side index</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private ArrayList<Object[]> indexList = null;</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// an array with countries to display in the list</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>static String[] COUNTRY= new String[]</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>{ </span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>"British Virgin Islands", "Brunei", "Bulgaria", "Burkina Faso",</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>"Burundi", "Cote d'Ivoire", "Cambodia", "Cameroon", "Canada",</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>"Cape Verde", "Cayman Islands", "Central African Republic", "Chad",</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>"Chile", "China", "Reunion", "Romania", "Russia", "Rwanda",</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>"Sqo Tome and Principe", "Saint Helena", "Saint Kitts and Nevis",</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>"Saint Lucia", "Saint Pierre and Miquelon", "Belize", "Benin",</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>"Bermuda", "Bhutan", "Bolivia", "Christmas Island",</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>"Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo",</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>"Cook Islands", "Costa Rica", "Croatia", "Cuba", "Cyprus",</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>"Czech Republic", "Democratic Republic of the Congo", "Denmark",</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>"Djibouti", "Dominica", "Dominican Republic",</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>"Former Yugoslav Republic of Macedonia", "France", "French Guiana",</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>"French Polynesia", "Macau", "Madagascar", "Malawi", "Malaysia",</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>"Maldives", "Mali", "Malta", "Marshall Islands", "Yemen",</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>"Yugoslavia", "Zambia", "Zimbabwe" };</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public void onCreate(Bundle savedInstanceState)</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>{</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>super.onCreate(savedInstanceState);</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>setContentView(R.layout.main);</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// Sortin array</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Arrays.sort(COUNTRY);</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>final ListView lv1 = (ListView) findViewById(R.id.ListView);</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>lv1.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, COUNTRY));</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mGestureDetector = new GestureDetector(this, new SideIndexGestureListener());</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public boolean onTouchEvent(MotionEvent event)</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>{</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>if (mGestureDetector.onTouchEvent(event))</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>{</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>return true;</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>} else</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>{</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>return false;</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private ArrayList<Object[]> createIndex(String[] strArr)</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>{</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>ArrayList<Object[]> tmpIndexList = new ArrayList<Object[]>();</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Object[] tmpIndexItem = null;</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>int tmpPos = 0;</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>String tmpLetter = "";</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>String currentLetter = null;</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>String strItem = null;</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>for (int j = 0; j < strArr.length; j++)</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>{</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>strItem = strArr[j];</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>currentLetter = strItem.substring(0, 1);</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// every time new letters comes</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// save it to index list</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>if (!currentLetter.equals(tmpLetter))</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>{</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tmpIndexItem = new Object[3];</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tmpIndexItem[0] = tmpLetter;</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tmpIndexItem[1] = tmpPos - 1;</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tmpIndexItem[2] = j - 1;</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tmpLetter = currentLetter;</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tmpPos = j + 1;</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tmpIndexList.add(tmpIndexItem);</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// save also last letter</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tmpIndexItem = new Object[3];</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tmpIndexItem[0] = tmpLetter;</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tmpIndexItem[1] = tmpPos - 1;</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tmpIndexItem[2] = strArr.length - 1;</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tmpIndexList.add(tmpIndexItem);</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// and remove first temporary empty entry</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>if (tmpIndexList != null && tmpIndexList.size() > 0)</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>{</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tmpIndexList.remove(0);</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>return tmpIndexList;</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public void onWindowFocusChanged(boolean hasFocus)</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>{</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>super.onWindowFocusChanged(hasFocus);</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>final ListView listView = (ListView) findViewById(R.id.ListView);</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>LinearLayout sideIndex = (LinearLayout) findViewById(R.id.sideIndex);</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>sideIndexHeight = sideIndex.getHeight();</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>sideIndex.removeAllViews();</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>TextView tmpTV = null;</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// we'll create the index list</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>indexList = createIndex(COUNTRY);</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>indexListSize = indexList.size();</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// maximal number of item, which could be displayed</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>int indexMaxSize = (int) Math.floor(sideIndex.getHeight() / 20);</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>int tmpIndexListSize = indexListSize;</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// handling that case when indexListSize > indexMaxSize</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>while (tmpIndexListSize > indexMaxSize)</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>{</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tmpIndexListSize = tmpIndexListSize / 2;</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// computing delta (only a part of items will be displayed to save a</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// place)</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>double delta = indexListSize / tmpIndexListSize;</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>String tmpLetter = null;</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Object[] tmpIndexItem = null;</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// show every m-th letter</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>for (double i = 1; i <= indexListSize; i = i + delta)</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>{</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tmpIndexItem = indexList.get((int) i - 1);</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tmpLetter = tmpIndexItem[0].toString();</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tmpTV = new TextView(this);</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tmpTV.setText(tmpLetter);</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tmpTV.setGravity(Gravity.CENTER);</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tmpTV.setTextSize(20);</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1);</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>tmpTV.setLayoutParams(params);</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>sideIndex.addView(tmpTV);</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// and set a touch listener for it</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>sideIndex.setOnTouchListener(new OnTouchListener()</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>{</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public boolean onTouch(View v, MotionEvent event)</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>{</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// now you know coordinates of touch</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>sideIndexX = event.getX();</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>sideIndexY = event.getY();</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// and can display a proper item it country list</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>displayListItem();</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>return false;</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>});</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>class SideIndexGestureListener extends</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>GestureDetector.SimpleOnGestureListener</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>{</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public boolean onScroll(MotionEvent e1, MotionEvent e2,</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>float distanceX, float distanceY)</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>{</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// we know already coordinates of first touch</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// we know as well a scroll distance</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>sideIndexX = sideIndexX - distanceX;</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>sideIndexY = sideIndexY - distanceY;</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// when the user scrolls within our side index</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// we can show for every position in it a proper</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// item in the country list</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>if (sideIndexX >= 0 && sideIndexY >= 0)</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>{</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>displayListItem();</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>return super.onScroll(e1, e2, distanceX, distanceY);</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public void displayListItem()</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>{</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// compute number of pixels for every side index item</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>double pixelPerIndexItem = (double) sideIndexHeight / indexListSize;</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// compute the item index for given event position belongs to</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>int itemPosition = (int) (sideIndexY / pixelPerIndexItem);</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// compute minimal position for the item in the list</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>int minPosition = (int) (itemPosition * pixelPerIndexItem);</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// get the item (we can do it since we know item index)</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Object[] indexItem = indexList.get(itemPosition);</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// and compute the proper item in the country list</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>int indexMin = Integer.parseInt(indexItem[1].toString());</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>int indexMax = Integer.parseInt(indexItem[2].toString());</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>int indexDelta = Math.max(1, indexMax - indexMin);</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>double pixelPerSubitem = pixelPerIndexItem / indexDelta;</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>int subitemPosition = (int) (indexMin + (sideIndexY - minPosition) / pixelPerSubitem);</span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>ListView listView = (ListView) findViewById(R.id.ListView);</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>listView.setSelection(subitemPosition);</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span></b><br />
<b><span style="color: #990000;">}</span></b><br />
<span style="color: #cc0000;"><b><br /></b></span>
<b>------------------------------------------------------------------------------------------------------------------------------</b><br />
<span style="color: #cc0000;"><b><br /></b></span>
<b>2:- main.xml</b><br />
<span style="color: #cc0000;"><b><br /></b></span>
<span style="color: #cc0000;"><b><br /></b></span>
<span style="color: #cc0000;"><b><br /></b></span>
<b><span style="color: #990000;"></span></b><br />
<b><span style="color: #990000;"><LinearLayout </span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>xmlns:android="http://schemas.android.com/apk/res/android"</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>android:orientation="vertical" </span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_width="fill_parent"</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_height="wrap_content"></span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span><LinearLayout </span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>android:orientation="horizontal"</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_width="fill_parent" </span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_height="wrap_content"></span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span><ListView </span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>android:id="@+id/ListView" </span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_width="0dp"</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>android:fastScrollEnabled="true"</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_height="wrap_content" </span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_weight="1"></span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span></ListView></span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span><LinearLayout </span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>android:orientation="vertical"</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>android:background="#FFF" </span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>android:id="@+id/sideIndex"</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_width="40dip" </span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_height="fill_parent"</span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span>android:gravity="center_horizontal"></span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span></LinearLayout><span class="Apple-tab-span" style="white-space: pre;"> </span></span></b><br />
<b><span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span></LinearLayout></span></b><br />
<b><span style="color: #990000;"></LinearLayout></span></b><br />
<br />
<b>------------------------------------------------------------------------------------------------------------------------------</b><br />
<b><br /></b>
<b><br /></b>
<b><br /></b>
<b>3:- Manifiest file:- </b><br />
<b><br /></b>
<b><br /></b>
<b><br /></b>
<b> <span style="color: #990000;"><?xml version="1.0" encoding="utf-8"?></span></b><br />
<b><span style="color: #990000;"><manifest xmlns:android="http://schemas.android.com/apk/res/android"</span></b><br />
<b><span style="color: #990000;"> package="de.helloandroid.sideindex"</span></b><br />
<b><span style="color: #990000;"> android:versionCode="1"</span></b><br />
<b><span style="color: #990000;"> android:versionName="1.0"></span></b><br />
<b><span style="color: #990000;"> <application android:icon="@drawable/icon" android:label="@string/app_name"></span></b><br />
<b><span style="color: #990000;"> <activity android:name="andriod.abhi.sideindex.SideIndex"</span></b><br />
<b><span style="color: #990000;"> android:label="@string/app_name"></span></b><br />
<b><span style="color: #990000;"> <intent-filter></span></b><br />
<b><span style="color: #990000;"> <action android:name="android.intent.action.MAIN" /></span></b><br />
<b><span style="color: #990000;"> <category android:name="android.intent.category.LAUNCHER" /></span></b><br />
<b><span style="color: #990000;"> </intent-filter></span></b><br />
<b><span style="color: #990000;"> </activity></span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"> </application></span></b><br />
<b><span style="color: #990000;"> <uses-sdk android:minSdkVersion="3" /></span></b><br />
<b><span style="color: #990000;"><br /></span></b>
<b><span style="color: #990000;"></manifest> </span></b><br />
</div>
Anonymoushttp://www.blogger.com/profile/08221238899969453036noreply@blogger.com0tag:blogger.com,1999:blog-3440778385110907626.post-67346598705995606642013-05-28T00:11:00.003-07:002013-05-29T10:00:15.633-07:00Customised ListView With Images<div dir="ltr" style="text-align: left;" trbidi="on">
Custom ListView with images contains Custom Adapter that i have explained it in below examples:----<br />
1:- CustomListView.java<br />
<br />
<br />
<span style="color: #990000;">package com.example.demo;</span><br />
<span style="color: #990000;"><br /></span>
<span style="color: #990000;">import java.util.ArrayList;</span><br />
<span style="color: #990000;"><br /></span>
<span style="color: #990000;">import android.app.Activity;</span><br />
<span style="color: #990000;">import android.app.ListActivity;</span><br />
<span style="color: #990000;">import android.os.Bundle;</span><br />
<span style="color: #990000;">import android.view.LayoutInflater;</span><br />
<span style="color: #990000;">import android.view.View;</span><br />
<span style="color: #990000;">import android.view.ViewGroup;</span><br />
<span style="color: #990000;">import android.widget.ArrayAdapter;</span><br />
<span style="color: #990000;">import android.widget.CheckBox;</span><br />
<span style="color: #990000;">import android.widget.ImageView;</span><br />
<span style="color: #990000;">import android.widget.TextView;</span><br />
<span style="color: #990000;">import android.widget.Toast;</span><br />
<span style="color: #990000;"><br /></span>
<span style="color: #990000;">public class CustomListView extends ListActivity {</span><br />
<span style="color: #990000;"><br /></span>
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> ArrayList<String> listItems=new ArrayList<String>();</span><br />
<span style="color: #990000;"><br /></span>
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> //DEFINING STRING ADAPTER WHICH WILL HANDLE DATA OF LISTVIEW</span><br />
<span style="color: #990000;">//<span class="Apple-tab-span" style="white-space: pre;"> </span> ArrayAdapter<String> adapter;</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> MyPerformanceArrayAdapter adapter;</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> //RECORDING HOW MUCH TIMES BUTTON WAS CLICKED</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> int clickCounter=0;</span><br />
<span style="color: #990000;"><br /></span>
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> @Override</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> public void onCreate(Bundle icicle) {</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> super.onCreate(icicle);</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> setContentView(R.layout.main);</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> adapter=new MyPerformanceArrayAdapter(this,listItems);</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> setListAdapter(adapter);</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> }</span><br />
<span style="color: #990000;"><br /></span>
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> //METHOD WHICH WILL HANDLE DYNAMIC INSERTION</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> public void addItems(View v) {</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> listItems.add("Clicked : "+clickCounter++);</span><br />
<span style="color: #990000;">//<span class="Apple-tab-span" style="white-space: pre;"> </span> adapter.add(listItems.get(0));</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> adapter.notifyDataSetChanged();</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> }</span><br />
<span class="Apple-tab-span" style="white-space: pre;"><span style="color: #990000;"> </span></span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> public class MyPerformanceArrayAdapter extends ArrayAdapter<String> {</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> private final Activity context;</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> private final ArrayList<String> names;</span><br />
<span style="color: #990000;"><br /></span>
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> </span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> public MyPerformanceArrayAdapter(Activity context, ArrayList<String> listItems) {</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> super(context, R.layout.list_layout, listItems);</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> this.context = context;</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> this.names = listItems;</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> }</span><br />
<span style="color: #990000;"><br /></span>
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> @Override</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> public View getView(int position, View convertView, ViewGroup parent) {</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> View rowView = convertView;</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> if (rowView == null) {</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> LayoutInflater inflater = context.getLayoutInflater();</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> rowView = inflater.inflate(R.layout.list_layout, null);</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> ViewHolder viewHolder = new ViewHolder();</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> viewHolder.text = (TextView) rowView.findViewById(R.id.textview);</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> viewHolder.image = (CheckBox) rowView</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> .findViewById(R.id.checkbox);</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> rowView.setTag(viewHolder);</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> }</span><br />
<span style="color: #990000;"><br /></span>
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> ViewHolder holder = (ViewHolder) rowView.getTag();</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> String s = names.get(position);</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> holder.text.setText(s);</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> </span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> return rowView;</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> }</span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>} </span><br />
<span style="color: #990000;"><span class="Apple-tab-span" style="white-space: pre;"> </span> class ViewHolder {</span><br />
<span style="color: #990000;"> <span class="Apple-tab-span" style="white-space: pre;"> </span> public TextView text;</span><br />
<span style="color: #990000;"> <span class="Apple-tab-span" style="white-space: pre;"> </span> public CheckBox image;</span><br />
<span style="color: #990000;"> <span class="Apple-tab-span" style="white-space: pre;"> </span> }</span><br />
<span style="color: #990000;"><br /></span>
<span style="color: #990000;">}</span><br />
<div>
------------------------------------------------------------------------------------------------------------</div>
<div>
2:- main.xml</div>
<div>
<br /></div>
<div>
<div>
<span style="color: #990000;"><?xml version="1.0" encoding="utf-8"?></span></div>
<div>
<span style="color: #990000;"><LinearLayout</span></div>
<div>
<span style="color: #990000;"> xmlns:android="http://schemas.android.com/apk/res/android"</span></div>
<div>
<span style="color: #990000;"> android:orientation="vertical"</span></div>
<div>
<span style="color: #990000;"> android:layout_width="fill_parent"</span></div>
<div>
<span style="color: #990000;"> android:layout_height="fill_parent" ></span></div>
<div>
<span style="color: #990000;"> <Button</span></div>
<div>
<span style="color: #990000;"> android:id="@+id/addBtn"</span></div>
<div>
<span style="color: #990000;"> android:text="Add New Item"</span></div>
<div>
<span style="color: #990000;"> android:layout_width="fill_parent"</span></div>
<div>
<span style="color: #990000;"> android:layout_height="wrap_content"</span></div>
<div>
<span style="color: #990000;"> android:onClick="addItems"/></span></div>
<div>
<span style="color: #990000;"> <ListView</span></div>
<div>
<span style="color: #990000;"> android:id="@android:id/list"</span></div>
<div>
<span style="color: #990000;"> android:layout_width="fill_parent"</span></div>
<div>
<span style="color: #990000;"> android:layout_height="fill_parent"</span></div>
<div>
<span style="color: #990000;"> android:drawSelectorOnTop="false"</span></div>
<div>
<span style="color: #990000;"> /></span></div>
<div>
<span style="color: #990000;"></LinearLayout></span></div>
</div>
<div>
<span style="color: #990000;"><br /></span></div>
<div>
<span style="color: #990000;">----------------------------------------------------------------------------------------------------------</span></div>
<div>
<span style="color: #990000;"><br /></span></div>
<div>
3:- list_layout.xml:- </div>
<div>
<span style="color: #990000;"></span><br />
<div>
<span style="color: #990000;"><br /></span></div>
<span style="color: #990000;">
<div>
<br /></div>
<div>
<?xml version="1.0" encoding="utf-8"?></div>
<div>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"</div>
<div>
android:layout_width="match_parent"</div>
<div>
android:layout_height="match_parent"</div>
<div>
android:orientation="horizontal" ></div>
<div>
</div>
<div>
<CheckBox </div>
<div>
android:layout_width="wrap_content"</div>
<div>
android:layout_height="wrap_content"</div>
<div>
android:id="@+id/checkbox"/></div>
<div>
<TextView </div>
<div>
android:layout_width="wrap_content"</div>
<div>
android:layout_height="wrap_content"</div>
<div>
android:text="hello"</div>
<div>
android:id="@+id/textview"/></div>
<div>
</div>
<div>
<br /></div>
<div>
</LinearLayout></div>
</span></div>
</div>
Anonymoushttp://www.blogger.com/profile/08221238899969453036noreply@blogger.com0tag:blogger.com,1999:blog-3440778385110907626.post-42681652155347078492013-05-28T00:11:00.001-07:002013-05-28T00:11:13.154-07:00Sql Lite Databas in android<div dir="ltr" style="text-align: left;" trbidi="on">
<br /></div>
Anonymoushttp://www.blogger.com/profile/08221238899969453036noreply@blogger.com0tag:blogger.com,1999:blog-3440778385110907626.post-77448948607190290322013-05-28T00:09:00.001-07:002013-06-03T00:13:10.530-07:00Android Fragment Life Cycle<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<i><br /></i></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both;">
<b><u><i><br /></i></u></b></div>
<div class="separator" style="clear: both;">
<i><u style="font-weight: bold;">onAttach:_ </u>( Activity) called once the fragment is associated with its activity.</i></div>
<div class="separator" style="clear: both;">
<b><u><i><br /></i></u></b></div>
<div class="separator" style="clear: both;">
<b><u><i>onCreate():-</i></u></b></div>
<div class="separator" style="clear: both;">
<i><br /></i></div>
<div class="separator" style="clear: both;">
<i>System calls this method while creating new fragment. If user want to remain essential componet while other methods call like onPause() or onResume() methods.</i></div>
<div class="separator" style="clear: both;">
<i> </i></div>
<div class="separator" style="clear: both;">
<b><u><i>onCreateView():-</i></u></b></div>
<div class="separator" style="clear: both;">
<i>System calls this method when View to be added in activity or draw user interface for user view. it will return View from the method. if we return null, it will not show UI in application.</i></div>
<div class="separator" style="clear: both;">
<i> </i></div>
<div class="separator" style="clear: both;">
<i><br /></i></div>
<i><br /></i>
<div class="separator" style="clear: both; text-align: center;">
<i><br /></i></div>
<div class="separator" style="clear: both; text-align: center;">
<i><br /></i></div>
<div class="separator" style="clear: both; text-align: center;">
<i><br /></i></div>
<div class="separator" style="clear: both; text-align: center;">
<i><br /></i></div>
<div class="separator" style="clear: both; text-align: center;">
<i><br /></i></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-UNhR44MV5cI/UaX9J7dJ5iI/AAAAAAAADTM/Yt0kDXXPIFM/s1600/activity_fragment_lifecycle.jpg.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><i><img border="0" height="320" src="http://3.bp.blogspot.com/-UNhR44MV5cI/UaX9J7dJ5iI/AAAAAAAADTM/Yt0kDXXPIFM/s320/activity_fragment_lifecycle.jpg.png" width="161" /></i></a></div>
<div class="separator" style="clear: both; text-align: center;">
<i><br /></i></div>
<div class="separator" style="clear: both; text-align: center;">
<i><b><u><br /></u></b></i></div>
<div class="separator" style="clear: both; text-align: justify;">
<i><b><u>onActivityCreated(Bundle) :- </u></b>tells the fragment that its activity has completed its own Activity.onCreate().</i></div>
<div class="separator" style="clear: both; text-align: justify;">
<i><br /></i></div>
<div class="separator" style="clear: both; text-align: justify;">
<i><b><u> onViewStateRestored(Bundle)</u></b> :_ tells the fragment that all of the saved state of its view hierarchy has been restored.</i></div>
<div class="separator" style="clear: both; text-align: justify;">
<i><br /></i></div>
<div class="separator" style="clear: both; text-align: justify;">
<i><b><u>onStart()</u></b> :-makes the fragment visible to the user (based on its containing activity being started).</i></div>
<div class="separator" style="clear: both; text-align: justify;">
<i><br /></i></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: justify;">
<i><b><u>onResume() :- </u></b>makes the fragment interacting with the user (based on its containing activity being resumed).</i></div>
<div class="separator" style="clear: both; text-align: justify;">
<i>As a fragment is no longer being used, it goes through a reverse series of callbacks:</i></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: justify;">
<b><u><i><br /></i></u></b></div>
<div class="separator" style="clear: both; text-align: justify;">
<b><u><i>onPause():_</i></u></b><i>It indicate that user leaves this fragment , but it is not going to destroyed. </i></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: justify;">
<i><b><u><br /></u></b></i></div>
<div class="separator" style="clear: both; text-align: justify;">
<i><b><u>onStop()</u></b> :- fragment is no longer visible to the user either because its activity is being stopped or a fragment operation is modifying it in the activity.</i></div>
<div class="separator" style="clear: both; text-align: justify;">
<i><b><u><br /></u></b></i></div>
<div class="separator" style="clear: both; text-align: justify;">
<i><b><u>onDestroyView()</u></b> :- allows the fragment to clean up resources associated with its View.</i></div>
<div class="separator" style="clear: both; text-align: justify;">
<i><b><u><br /></u></b></i></div>
<div class="separator" style="clear: both; text-align: justify;">
<i><b><u>onDestroy()</u></b> :- called to do final cleanup of the fragment's state.</i></div>
<div class="separator" style="clear: both; text-align: justify;">
<i><b><u><br /></u></b></i></div>
<div class="separator" style="clear: both; text-align: justify;">
<i><b><u>onDetach()</u></b> :- called immediately prior to the fragment no longer being associated with its activity.</i></div>
<br />
<div class="separator" style="clear: both; text-align: justify;">
<i> </i></div>
<br />
<br /></div>
Anonymoushttp://www.blogger.com/profile/08221238899969453036noreply@blogger.com0tag:blogger.com,1999:blog-3440778385110907626.post-64406922365696380792013-05-28T00:02:00.000-07:002013-05-28T00:02:01.305-07:00BroadCast Receiver for Android<div dir="ltr" style="text-align: left;" trbidi="on">
<br /></div>
Anonymoushttp://www.blogger.com/profile/08221238899969453036noreply@blogger.com0tag:blogger.com,1999:blog-3440778385110907626.post-36134994997981211532013-04-03T10:54:00.002-07:002013-05-28T00:06:00.709-07:00Android Activity Life Cycle<div dir="ltr" style="text-align: left;" trbidi="on">
<i><br /></i>
<br />
An activity is a user interaction screen that the user use the device at one time. An application can have multiple activities , and the user go back and among them. That's why activities are the most visible part of our application.<br />
<br />
I usually use a website as an analogy for activities. Just like a website consists of multiple pages, so does an Android application consist of multiple activities. Just like a website has a “home page,” an Android app has a “main” activity, usually the one that is shown first when you launch the application. And just like a website has to provide some sort of navigation among various pages, an Android app should do the same.<br />
<br />
for example: on the website, we can navigate from a page on one website to a page on another. Similarly, in Android, we look at an activity of an application, and navigate to another activity of an application in a completely separate application. For example, if you are in your Contacts app and you choose to text a friend, you’d be launching the activity to compose a text message in the Messaging application.<br />
<br />
Launching an activity can be quite expensive. It may involve creating a new Linux process, allocating memory for all the UI objects, inflating all the objects from XML layouts, and setting up the whole screen. Since we’re doing a lot of work to launch an activity, it would be a waste to just toss it out once the user leaves that screen. To avoid this waste, the activity life cycle is managed via Activity Manager.<br />
<br />
Activity Manager is responsible for creating, destroying, and managing activities. For example, when the user starts an application for the first time, the Activity Manager will create its activity and put it onto the screen. Later, when the user switches screens, the Activity Manager will move that previous activity to a holding place. This way, if the user wants to go back to an older activity, it can be started more quickly. Older activities that the user hasn’t used in a while will be destroyed in order to free more space for the currently active one. This mechanism is designed to help improve the speed of the user interface and thus improve the overall user experience.<br />
<br />
Programming for Android is conceptually different than programming for some other environments. In Android, you find yourself responding more to certain changes in the state of your application rather than driving that change yourself. It is a managed, container-based environment similar to programming for Java applets or servlets. So, when it comes to an activity life cycle, you don’t get to say what state the activity is in, but you have plenty of opportunity to say what happens during the transitions from state to state. Figure 4-1 shows the states that an activity can go through.<br />
<div>
<br /></div>
<br />
<i>Android operating system have Java classes that extended it's predefined classes with different method. Activity is also a predefined class that have predefined method. All method run sequentially by nature of life cycle . Activity is a class that represent UI part in android. it have some sequential flow as per different conditions</i>.<br />
<br />
An activity is a user interaction screen that the user use the device at one time. An application can have multiple activities , and the user go back and among them. That's why activities are the most visible part of our application.<br />
<br />
I usually use a website as an analogy for activities. Just like a website consists of multiple pages, so does an Android application consist of multiple activities. Just like a website has a “home page,” an Android app has a “main” activity, usually the one that is shown first when you launch the application. And just like a website has to provide some sort of navigation among various pages, an Android app should do the same.<br />
<br />
for example: on the website, we can navigate from a page on one website to a page on another. Similarly, in Android, we look at an activity of an application, and navigate to another activity of an application in a completely separate application. For example, if you are in your Contacts app and you choose to text a friend, you’d be launching the activity to compose a text message in the Messaging application.<br />
<br />
Launching an activity can be quite expensive. It may involve creating a new Linux process, allocating memory for all the UI objects, inflating all the objects from XML layouts, and setting up the whole screen. Since we’re doing a lot of work to launch an activity, it would be a waste to just toss it out once the user leaves that screen. To avoid this waste, the activity life cycle is managed via Activity Manager.<br />
<br />
Activity Manager is responsible for creating, destroying, and managing activities. For example, when the user starts an application for the first time, the Activity Manager will create its activity and put it onto the screen. Later, when the user switches screens, the Activity Manager will move that previous activity to a holding place. This way, if the user wants to go back to an older activity, it can be started more quickly. Older activities that the user hasn’t used in a while will be destroyed in order to free more space for the currently active one. This mechanism is designed to help improve the speed of the user interface and thus improve the overall user experience.<br />
<br />
<br />
<div>
<br /></div>
<br />
<br />
<b><span style="color: #990000;"> For Activity We have to know first <em> What is an Activity?</em></span></b><br />
<b><span style="color: #990000;"><em><br /></em></span></b>
<span style="color: #990000;">An activity is a user interaction screen that the user use the device at one time. An application can have multiple activities , and the user go back and among them. That's why activities are the most visible part of our application.<em><br /></em></span>
<span style="color: #4c1130;"><em><span style="color: #990000;">Activity represents the view part of android with the use of different methods to show and upload the user interface. </span></em></span><br />
<br />
<br />
<span style="color: purple;">android activity life cycle method sequence are below: </span><br />
<br />
<br />
<b><span style="color: #4c1130;">1:-</span> <span style="color: #38761d;"> onCreate();</span></b><br />
<div dir="ltr" style="text-align: left;" trbidi="on">
<b> </b></div>
<div dir="ltr" style="text-align: left;" trbidi="on">
<b> <span style="color: #4c1130;"> 2:- </span><span style="color: #38761d;">onStart();</span> or <span style="color: #741b47;">onRestart();</span></b></div>
<div dir="ltr" style="text-align: left;" trbidi="on">
</div>
<div dir="ltr" style="text-align: left;" trbidi="on">
<b> <span style="color: #4c1130;"> </span></b><br />
<b><span style="color: #4c1130;"> 3:-</span> <span style="color: #e69138;">onResume();</span></b></div>
<div dir="ltr" style="text-align: left;" trbidi="on">
<b><br /></b></div>
<div dir="ltr" style="text-align: left;" trbidi="on">
<b> <span style="color: #4c1130;">4:-</span><span style="color: #e69138;"> onPause();</span></b></div>
<div dir="ltr" style="text-align: left;" trbidi="on">
<b><br /></b></div>
<div dir="ltr" style="text-align: left;" trbidi="on">
<b> <span style="color: #4c1130;"> 5:-</span><span style="color: #38761d;"> onStop();</span></b></div>
<div dir="ltr" style="text-align: left;" trbidi="on">
<b><br /></b></div>
<div dir="ltr" style="text-align: left;" trbidi="on">
<b> <span style="color: #4c1130;">6:-</span> <span style="color: #cc0000;">onDestroy();</span></b></div>
<div dir="ltr" style="text-align: left;" trbidi="on">
<br /></div>
<div dir="ltr" style="text-align: left;" trbidi="on">
<br /></div>
<div dir="ltr" style="text-align: left;" trbidi="on">
1:- onCreate():-<br />
<br />
<br />
<span style="color: #b45f06;">When an activity doesn’t exist in memory, it is in a starting state. While it’s starting up, the activity will go through a whole set of callback methods that you as a developer have an opportunity to fill out. Eventually, the activity will be in a running state.</span><br />
<span style="color: #b45f06;"><br /></span>
<span style="color: #b45f06;">Keep in mind that this transition from starting state to running state is one of the most expensive operations in terms of computing time, and this also directly affects the battery life of the device. This is the exact reason why we don’t automatically destroy activities that are no longer shown. The user might want to come back to them, so we keep them around for a while.</span><br />
<div>
<br /></div>
<br />
<span style="color: #b45f06;"><br /></span>
<span style="color: #b45f06;"> In Android Activity Life Cycle, this method </span><span style="color: #b45f06;">Called when the activity is first created. Android first method of life cycle is onCreate(), it has parameter Bundle type named as <b>savedInstanceState</b>. that contains bundle information send by previous activity. it will register all the views and bind data to lists.</span><br />
<br />
2:- onRestart():-<br />
<br />
<span style="color: #b45f06;"><span style="background-color: white; font-family: Arial, Verdana, Geneva, Helvetica, sans-serif; font-size: 13px; line-height: 19px;">The activity in a running state is the one that is currently on the screen and interacting with the user. We also say this activity is in focus, meaning that all user interactions—such as typing, touching the screen, and clicking buttons—are handled by this one activity. As such, there is only one running activity at any given time.</span><br style="background-color: white; font-family: Arial, Verdana, Geneva, Helvetica, sans-serif; font-size: 13px; line-height: 19px;" /><br style="background-color: white; font-family: Arial, Verdana, Geneva, Helvetica, sans-serif; font-size: 13px; line-height: 19px;" /><span style="background-color: white; font-family: Arial, Verdana, Geneva, Helvetica, sans-serif; font-size: 13px; line-height: 19px;">The running activity is the one that has priority in terms of getting the memory and resources it needs to run as quickly as possible. This is because Android wants to make sure the running activity is zippy and responsive to the user.</span></span><br />
<span style="color: #b45f06;"><br /></span>
<span style="color: #b45f06;">In Android Activity Life Cycle, this method</span> <span style="color: #b45f06;">called after your activity has been stopped, it being started
again. Always followed by onStart()</span>.<br />
<br />
2:- onStart():- <span style="color: #b45f06;">In Android Activity Life Cycle, this method </span><span style="color: #b45f06;">Android Acitvity now starting all Views to visualisation state for all the Views. and it will now proceed to onResume() Method.</span><br />
<br />
3:- onResume():-<span style="color: #b45f06;">In Android Activity Life Cycle, this method is called</span> <span style="color: #b45f06;">With in this state Activity goes in foreground and the user can interact with it. </span><br />
<br />
<br />
4:- onPause():- <span style="background-color: white; color: #333333; font-family: Arial, Verdana, Geneva, Helvetica, sans-serif; font-size: 13px; line-height: 19px;">When an activity is not in focus (i.e., not interacting with the user) but still visible on the screen, we say it’s in a </span><em class="bbc_em" style="background-color: white; color: #333333; font-family: Arial, Verdana, Geneva, Helvetica, sans-serif; font-size: 13px; line-height: 19px;">paused state</em><span style="background-color: white; color: #333333; font-family: Arial, Verdana, Geneva, Helvetica, sans-serif; font-size: 13px; line-height: 19px;">. This is not a typical scenario, because the device’s screen is usually small, and an activity is either taking up the whole screen or none at all. We often see this case with dialog boxes that come up in front of an activity, causing it to become Paused. All activities go through a paused state en route to being stopped.</span><br />
<br style="background-color: white; color: #333333; font-family: Arial, Verdana, Geneva, Helvetica, sans-serif; font-size: 13px; line-height: 19px;" /><span style="background-color: white; color: #333333; font-family: Arial, Verdana, Geneva, Helvetica, sans-serif; font-size: 13px; line-height: 19px;">Paused activities still have high priority in terms of getting memory and other resources. This is because they are visible and cannot be removed from the screen without making it look very strange to the user.</span><br />
<span style="color: #b45f06;"><span style="color: #b45f06;"><br /></span></span>
<span style="color: #b45f06;"><span style="color: #b45f06;"><br /></span></span>
<span style="color: #b45f06;"><span style="color: #b45f06;">In Android Activity Life Cycle, this method called </span>When user call another activity by present activity then it will goes onPause() State.</span><br />
<span style="color: #b45f06;">it will be onPause() state untill it shows up.</span><br />
<br />
5:- onStop():- <span style="color: #b45f06;"> <span style="background-color: white; font-family: Arial, Verdana, Geneva, Helvetica, sans-serif; font-size: 13px; line-height: 19px;">When an activity is not visible, but still in memory, we say it’s in a </span><em class="bbc_em" style="background-color: white; font-family: Arial, Verdana, Geneva, Helvetica, sans-serif; font-size: 13px; line-height: 19px;">stopped state</em><span style="background-color: white; font-family: Arial, Verdana, Geneva, Helvetica, sans-serif; font-size: 13px; line-height: 19px;">. Stopped activity could be brought back to the front to become a Running activity again. Or, it could be destroyed and removed from memory.</span></span><br />
<span style="color: #b45f06;"><br style="background-color: white; font-family: Arial, Verdana, Geneva, Helvetica, sans-serif; font-size: 13px; line-height: 19px;" /><span style="background-color: white; font-family: Arial, Verdana, Geneva, Helvetica, sans-serif; font-size: 13px; line-height: 19px;">The system keeps activities around in a stopped state because it is likely that the user will still want to get back to those activities some time soon, and restarting a stopped activity is far cheaper than starting an activity from scratch. That is because we already have all the objects loaded in memory and simply have to bring it all up to the foreground.</span><br style="background-color: white; font-family: Arial, Verdana, Geneva, Helvetica, sans-serif; font-size: 13px; line-height: 19px;" /><br style="background-color: white; font-family: Arial, Verdana, Geneva, Helvetica, sans-serif; font-size: 13px; line-height: 19px;" /><span style="background-color: white; font-family: Arial, Verdana, Geneva, Helvetica, sans-serif; font-size: 13px; line-height: 19px;">Stopped activities can be removed from memory at any point.</span></span><br />
<span style="color: #b45f06;"><br /></span>
<span style="color: #b45f06;">In Android Activity Life Cycle, this method is called </span><span style="color: #b45f06;">When activity No Longer Visible and not called then the activtiy goes onStop() State.</span><br />
<span style="color: #b45f06;">we will next
receive either onRestart(), onDestroy(), or nothing, depending on
later user activity. </span><br />
<br />
6:- <b>onDestroy():- </b><span style="background-color: white; color: #333333; font-family: Arial, Verdana, Geneva, Helvetica, sans-serif; font-size: 13px; line-height: 19px;">A destroyed activity is no longer in memory. The Activity Manager decided that this activity is no longer needed and has removed it. Before the activity is destroyed, it can perform certain actions, such as save any unsaved information. However, there’s no guarantee that your activity will be stopped prior to being destroyed. It is possible for a paused activity to be destroyed as well. For that reason, it is better to do important work, such as saving unsaved data, en route to a paused state rather than a destroyed state.</span><br />
<span style="color: #b45f06;">In Android Activity Life Cycle, this method called</span><span style="color: #b45f06;"> Activty goes destroy State when it will got any error or get closed. this can also be happed when the system is temporarily destroying this
instance of the activity to save space.</span><br />
<br />
<br />
<br />
<b>When Activity first Time load below methods called:</b>-<br />
<br />
<pre class="default prettyprint prettyprinted"><code><span class="pln">----> <span style="color: #b45f06;">onCreate</span></span><span style="color: #b45f06;"><span class="pun">()</span></span><span class="pln">
----> <span style="color: #b45f06;">onStart</span></span><span style="color: #b45f06;"><span class="pun">()</span></span><span class="pln">
----> <span style="color: #b45f06;">onResume</span></span><span style="color: #b45f06;"><span class="pun">()</span></span></code></pre>
<pre class="default prettyprint prettyprinted"><code><span class="pun"> </span></code></pre>
<pre class="default prettyprint prettyprinted"><b><code><span class="pun">When We go to another Activity Then below Methods Called.</span></code></b></pre>
<pre class="default prettyprint prettyprinted"><b><code><span class="pun"> </span></code></b></pre>
<pre class="default prettyprint prettyprinted"><code><span class="pun"><code><span class="pln">---> <span style="color: #b45f06;">onPause</span></span><span style="color: #b45f06;"><span class="pun">()</span></span><span class="pln">
---> <span style="color: #b45f06;">onStop</span></span><span style="color: #b45f06;"><span class="pun">()</span></span></code> </span></code></pre>
<b>When returning from Second Activity to First Acitvity then below Methods Called.</b><br />
<br />
<pre class="default prettyprint prettyprinted"><code><span class="pln">---> <span style="color: #b45f06;">onRestart</span></span><span style="color: #b45f06;"><span class="pun">()</span></span><span class="pln">
---> <span style="color: #b45f06;">onStart</span></span><span style="color: #b45f06;"><span class="pun">()</span></span></code></pre>
<pre class="default prettyprint prettyprinted"><code><span class="pun">---></span><span class="pln"> <span style="color: #b45f06;">onResume</span></span><span style="color: #b45f06;"><span class="pun">()</span></span></code></pre>
<pre class="default prettyprint prettyprinted"><code><span class="pun"> </span></code></pre>
<pre class="default prettyprint prettyprinted"><b><code><span class="pun">When we exit from Application these methods Called</span></code></b></pre>
<pre class="default prettyprint prettyprinted"><b><code><span class="pun"> </span></code></b></pre>
<pre class="default prettyprint prettyprinted"><code><span class="pun"><code><span class="pln">---> <span style="color: #b45f06;">onPause</span></span><span style="color: #b45f06;"><span class="pun">()</span></span><span class="pln">
---> <span style="color: #b45f06;">onStop</span></span><span style="color: #b45f06;"><span class="pun">()</span></span><span class="pln">
---> <span style="color: #b45f06;">onDestroy</span></span><span style="color: #b45f06;"><span class="pun">()</span></span></code> </span></code></pre>
<pre class="default prettyprint prettyprinted"><code><span class="pun">
</span></code></pre>
<pre class="default prettyprint prettyprinted"><code><span class="pun">
</span></code></pre>
<br />
<br />
<br />
Activity Life Cycle sequence are below: --<br />
<br />
<br />
<br />
<img alt="Image" src="http://www.anddev.org/images/android/activity_lifecycle.png" /><br />
<span style="color: #cc0000;">for more detail go to</span> <a href="http://developer.android.com/training/basics/activity-lifecycle/index">http://developer.android.com/training/basics/activity-lifecycle/index</a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<b>Example for Activity Life Cycle:------------</b><br />
<br />
<br />
<br />
<span style="color: #cc0000;">package com.android.demo;</span><br />
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;">import android.app.Activity;</span><br />
<span style="color: #cc0000;">import android.os.Bundle;</span><br />
<span style="color: #cc0000;">import android.widget.Toast;</span><br />
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;">public class ActivityA exends Activity{</span><br />
<span style="color: #cc0000;"> </span><br />
<span style="color: #cc0000;"> Button btn;</span><br />
<span style="color: #cc0000;"> @Override</span><br />
<span style="color: #cc0000;"> protected void onCreate(Bundle savedInstanceState) {</span><br />
<span style="color: #cc0000;"> // TODO Auto-generated method stub</span><br />
<span style="color: #cc0000;"> super.onCreate(savedInstanceState);</span><br />
<span style="color: #cc0000;"> Toast.makeText(this, "create", 2000).show();</span><br />
<span style="color: #cc0000;">Button btn =(Button)findViewById(R.id.btn);</span><br />
<span style="color: #cc0000;"> btn.setOnClickListener(new OnClickListener() {</span><br />
<span style="color: #cc0000;"> </span><br />
<span style="color: #cc0000;"> @Override</span><br />
<span style="color: #cc0000;"> public void onClick(View arg0) {</span><br />
<span style="color: #cc0000;"> // TODO Auto-generated method stub</span><br />
<span style="color: #cc0000;"> Intent intent = new Intent(this, AcitivityB.class);</span><br />
<span style="color: #cc0000;"> startActivity(intent);</span><br />
<span style="color: #cc0000;"> }</span><br />
<span style="color: #cc0000;"> });</span><br />
<span style="color: #cc0000;"> </span><br />
<span style="color: #cc0000;"> }</span><br />
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;"> @Override</span><br />
<span style="color: #cc0000;"> protected void onStart() {</span><br />
<span style="color: #cc0000;"> // TODO Auto-generated method stub</span><br />
<span style="color: #cc0000;"> super.onStart();</span><br />
<span style="color: #cc0000;"> Toast.makeText(this, "start", 2000).show();</span><br />
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;"> }</span><br />
<span style="color: #cc0000;"> </span><br />
<span style="color: #cc0000;"> @Override</span><br />
<span style="color: #cc0000;"> protected void onRestart() {</span><br />
<span style="color: #cc0000;"> // TODO Auto-generated method stub</span><br />
<span style="color: #cc0000;"> super.onRestart();</span><br />
<span style="color: #cc0000;"> Toast.makeText(this, "restart", 2000).show();</span><br />
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;"> }</span><br />
<span style="color: #cc0000;"> </span><br />
<span style="color: #cc0000;"> @Override</span><br />
<span style="color: #cc0000;"> protected void onResume() {</span><br />
<span style="color: #cc0000;"> // TODO Auto-generated method stub</span><br />
<span style="color: #cc0000;"> super.onResume();</span><br />
<span style="color: #cc0000;"> Toast.makeText(this, "resume", 2000).show();</span><br />
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;"> }</span><br />
<span style="color: #cc0000;"> </span><br />
<span style="color: #cc0000;"> @Override</span><br />
<span style="color: #cc0000;"> protected void onPause() {</span><br />
<span style="color: #cc0000;"> // TODO Auto-generated method stub</span><br />
<span style="color: #cc0000;"> super.onPause();</span><br />
<span style="color: #cc0000;"> Toast.makeText(this, "pause", 2000).show();</span><br />
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;"> }</span><br />
<span style="color: #cc0000;"> </span><br />
<span style="color: #cc0000;"> @Override</span><br />
<span style="color: #cc0000;"> protected void onStop() {</span><br />
<span style="color: #cc0000;"> // TODO Auto-generated method stub</span><br />
<span style="color: #cc0000;"> super.onStop();</span><br />
<span style="color: #cc0000;"> Toast.makeText(this, "pause", 2000).show();</span><br />
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;"> }</span><br />
<span style="color: #cc0000;"> </span><br />
<span style="color: #cc0000;"> @Override</span><br />
<span style="color: #cc0000;"> protected void onDestroy() {</span><br />
<span style="color: #cc0000;"> // TODO Auto-generated method stub</span><br />
<span style="color: #cc0000;"> super.onDestroy();</span><br />
<span style="color: #cc0000;"> Toast.makeText(this, "destroy", 2000).show();</span><br />
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;"> }</span><br />
<span style="color: #cc0000;"> </span><br />
<span style="color: #cc0000;">}</span><br />
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;">///////////////////////////////// Activity B//////////////////////////////////////////////</span><br />
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;">package com.android.demo;</span><br />
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;">import android.app.Activity;</span><br />
<span style="color: #cc0000;">import android.os.Bundle;</span><br />
<span style="color: #cc0000;">import android.widget.Toast;</span><br />
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;">public class ActivityB exends Activity{</span><br />
<span style="color: #cc0000;"> </span><br />
<span style="color: #cc0000;"> @Override</span><br />
<span style="color: #cc0000;"> protected void onCreate(Bundle savedInstanceState) {</span><br />
<span style="color: #cc0000;"> // TODO Auto-generated method stub</span><br />
<span style="color: #cc0000;"> super.onCreate(savedInstanceState);</span><br />
<span style="color: #cc0000;"> Toast.makeText(this, "create", 2000).show();</span><br />
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;"> </span><br />
<span style="color: #cc0000;"> }</span><br />
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;"> @Override</span><br />
<span style="color: #cc0000;"> protected void onStart() {</span><br />
<span style="color: #cc0000;"> // TODO Auto-generated method stub</span><br />
<span style="color: #cc0000;"> super.onStart();</span><br />
<span style="color: #cc0000;"> Toast.makeText(this, "start", 2000).show();</span><br />
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;"> }</span><br />
<span style="color: #cc0000;"> </span><br />
<span style="color: #cc0000;"> @Override</span><br />
<span style="color: #cc0000;"> protected void onRestart() {</span><br />
<span style="color: #cc0000;"> // TODO Auto-generated method stub</span><br />
<span style="color: #cc0000;"> super.onRestart();</span><br />
<span style="color: #cc0000;"> Toast.makeText(this, "restart", 2000).show();</span><br />
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;"> }</span><br />
<span style="color: #cc0000;"> </span><br />
<span style="color: #cc0000;"> @Override</span><br />
<span style="color: #cc0000;"> protected void onResume() {</span><br />
<span style="color: #cc0000;"> // TODO Auto-generated method stub</span><br />
<span style="color: #cc0000;"> super.onResume();</span><br />
<span style="color: #cc0000;"> Toast.makeText(this, "resume", 2000).show();</span><br />
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;"> }</span><br />
<span style="color: #cc0000;"> </span><br />
<span style="color: #cc0000;"> @Override</span><br />
<span style="color: #cc0000;"> protected void onPause() {</span><br />
<span style="color: #cc0000;"> // TODO Auto-generated method stub</span><br />
<span style="color: #cc0000;"> super.onPause();</span><br />
<span style="color: #cc0000;"> Toast.makeText(this, "pause", 2000).show();</span><br />
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;"> }</span><br />
<span style="color: #cc0000;"> </span><br />
<span style="color: #cc0000;"> @Override</span><br />
<span style="color: #cc0000;"> protected void onStop() {</span><br />
<span style="color: #cc0000;"> // TODO Auto-generated method stub</span><br />
<span style="color: #cc0000;"> super.onStop();</span><br />
<span style="color: #cc0000;"> Toast.makeText(this, "pause", 2000).show();</span><br />
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;"> }</span><br />
<span style="color: #cc0000;"> </span><br />
<span style="color: #cc0000;"> @Override</span><br />
<span style="color: #cc0000;"> protected void onDestroy() {</span><br />
<span style="color: #cc0000;"> // TODO Auto-generated method stub</span><br />
<span style="color: #cc0000;"> super.onDestroy();</span><br />
<span style="color: #cc0000;"> Toast.makeText(this, "destroy", 2000).show();</span><br />
<span style="color: #cc0000;"><br /></span>
<span style="color: #cc0000;"> }</span><br />
<span style="color: #cc0000;"> </span><br />
<span style="color: #cc0000;">}</span></div>
</div>
Anonymoushttp://www.blogger.com/profile/08221238899969453036noreply@blogger.com6