tag:blogger.com,1999:blog-20503134310073223082024-03-13T13:43:45.721-07:00Android CodesContain all the examples of androidharishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.comBlogger58125tag:blogger.com,1999:blog-2050313431007322308.post-17075320535894313552012-07-09T09:11:00.001-07:002012-07-09T09:11:19.744-07:00Get Screen Brightness<div dir="ltr" style="text-align: left;" trbidi="on">
In general the screen brightness varies in between 0 to 255. The below snippet helps to find the screen brightness.<br />
<br />
public static int getScreenBrightness(Context context)<br />
{<br /> try <br /> {<br /> return Settings.System.getInt(context.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS);<br /> } <br /> catch (SettingNotFoundException e) <br /> {<br /> Log.e("getScreenBrightness()", ""+e.getMessage());<br /> return -1;<br /> }<br />
}<br />
<br />
We have to pass context of the activity from where we are calling this method.<br />
<br />
This method will return screen brightness as a result.</div>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com0tag:blogger.com,1999:blog-2050313431007322308.post-19157721905529828722012-07-09T09:07:00.001-07:002012-07-09T09:08:16.029-07:00Getting WI-FI strength in percentage<div dir="ltr" style="text-align: left;" trbidi="on">
The below snippet helps to find the WI-FI strength in the percentage.<br />
<br />
public static int getWifiStrength(Context<br />
{<br />
try<br />
{<br />
WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);<br />
int rssi = wifiManager.getConnectionInfo().getRssi();<br />
int level = WifiManager.calculateSignalLevel(rssi, 10);<br />
int percentage = (int) ((level/10.0)*100);<br />
return percentage;<br />
}<br />
catch (Exception e) <br />
{<br />
return 0;<br />
}<br />
}<br />
<br />
<br />
We have to pass context of the activity from where we are calling this method.<br />
<br />
It will return WI-FI strength in percentage. In case if any exception found then it will return 0;</div>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com0tag:blogger.com,1999:blog-2050313431007322308.post-84531996527738667062012-07-09T09:04:00.002-07:002012-07-09T09:04:51.539-07:00Get Application version based on package name<div dir="ltr" style="text-align: left;" trbidi="on">
The below snippet helps to find the application version<br />
<br />
public static String getVersionName(Context context, String strPkgName)<br />
{<br /> try <br /> {<br /> return context.getPackageManager().getPackageInfo(strPkgName, 0).versionName;<br /> }<br /> catch (NameNotFoundException e) <br /> {<br /> Log.e("getVersionName()", ""+e.getMessage());<br /> return "";<br /> }<br />
}<br />
<br />
Here we have to pass context of the application and package name of the application that you want to find the version.<br />
<br />
If the application exists(Installed) in the mobile then it will return the application version as string. otherwise it will return empty string.</div>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com0tag:blogger.com,1999:blog-2050313431007322308.post-84063234039353195672012-04-17T04:32:00.001-07:002012-04-17T04:32:14.652-07:00Way to find device screen category (small, normal, large, xlarge)<div dir="ltr" style="text-align: left;" trbidi="on">
The below snippet helps to find the screen catogory<br />
<br />
public void getScreenSize()<br /> {<br /> switch (getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) <br /> {<br /> case Configuration.SCREENLAYOUT_SIZE_SMALL: <br /> Toast.makeText(Home.this, "SMALL SCREEN", Toast.LENGTH_LONG).show();<br /> break;<br /> <br /> case Configuration.SCREENLAYOUT_SIZE_LARGE:<br /> Toast.makeText(Home.this, "LARGE SCREEN", Toast.LENGTH_LONG).show();<br /> break;<br /> <br /> case Configuration.SCREENLAYOUT_SIZE_XLARGE:<br /> Toast.makeText(Home.this, "XLARGE SCREEN", Toast.LENGTH_LONG).show();<br /> break;<br /> <br /> case Configuration.SCREENLAYOUT_SIZE_NORMAL:<br /> Toast.makeText(Home.this, "NORMAL SCREEN", Toast.LENGTH_LONG).show();<br /> break;<br /><br /> }</div>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com0tag:blogger.com,1999:blog-2050313431007322308.post-7691102986349220762012-04-10T23:59:00.001-07:002012-04-10T23:59:09.439-07:00Get Available Internal Memory<div dir="ltr" style="text-align: left;" trbidi="on">
The below snippet helps to find the available internal memory. It will return the result in MB.<br />
<br />
/**<br /> * Calculates the available internal memory<br /> * @return internal memory available in float<br /> */<br /> private float getAvailableInternalMemory()<br /> {<br /> float availMB;<br /> File path ;<br /> StatFs stat; <br /> long blockSize; <br /> long availableBlocks;<br /> try<br /> {<br /> path = Environment.getDataDirectory();<br /> stat = new StatFs(path.getPath());<br /> blockSize = stat.getBlockSize();<br /> availableBlocks = stat.getAvailableBlocks();<br /> availMB = (availableBlocks*blockSize)/(1024*1024); <br /> }<br /> catch (Exception e) <br /> {<br /> availMB = -1;<br /> } <br /> <br /> return availMB;<br /> }</div>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com0tag:blogger.com,1999:blog-2050313431007322308.post-89619284312794950892012-03-26T07:20:00.001-07:002012-03-26T07:21:31.847-07:00Overriding Home Key AndroidAfter a deep search i came to know that there is a possibility to lock(Disable) home key in the android like back key. It was pretty easy. Add the below snippet to the activity in which you want to disable home key click...<br />
<br />
<br />
@Override<br />
public void onAttachedToWindow()<br />
{ <br />
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);<br />
super.onAttachedToWindow();<br />
}harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com0tag:blogger.com,1999:blog-2050313431007322308.post-42660780926474099892012-02-23T05:08:00.001-08:002012-02-23T05:17:22.177-08:00Expense Manager<div dir="ltr" style="text-align: left;" trbidi="on"><h1 align="center">Cool App ... Check it out from Android Market</h1><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-Te3ho6qqACI/T0Y5OP9IEFI/AAAAAAAAAIw/Ok02T3Dizi4/s1600/ic_launcher.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br />
</a></div><span align="justify"><br />
The Expense Manager helps you to organize your expenses in a proper way. This app reduces the overhead of maintaining our expenses in a diary and tracking at the end of the month. Using this app we can track the expenses based on different options like By Category, Date, Month, year and Payment Mode in a simple way.<br />
</span><br />
<center><br />
<a href="http://market.android.com/details?id=com.expender.activities"><br />
<img alt="Available in Android Market" src="http://www.android.com/images/brand/60_avail_market_logo1.png" /></a><br />
</center><br />
<div class="separator" style="clear: both; text-align: center;"></div><br />
<div style="width:600px;overflow-x:auto;overflow-y:hidden;"><table><tbody>
<tr> <td><br />
<a href="http://3.bp.blogspot.com/-WlBr9mAqDXU/T0YzuWPri9I/AAAAAAAAAH4/v_LYMv96kkI/s1600/first.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-WlBr9mAqDXU/T0YzuWPri9I/AAAAAAAAAH4/v_LYMv96kkI/s320/first.png" width="179" /></a></td> <td><br />
<a href="http://3.bp.blogspot.com/-8FtB05cx_dA/T0YzvkDdtkI/AAAAAAAAAIA/ct2snTDfE74/s1600/sc2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-8FtB05cx_dA/T0YzvkDdtkI/AAAAAAAAAIA/ct2snTDfE74/s320/sc2.png" width="179" /></a></td> <td><br />
<a href="http://3.bp.blogspot.com/-Bip3jkomvog/T0YzwXLM8RI/AAAAAAAAAIE/-nrg7w--oHU/s1600/sc3.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-Bip3jkomvog/T0YzwXLM8RI/AAAAAAAAAIE/-nrg7w--oHU/s320/sc3.png" width="179" /></a></td>
<td><br />
<a href="http://4.bp.blogspot.com/-V6MkSjhcnZY/T0YzxIJBSoI/AAAAAAAAAIM/xXsAcCR-lgw/s1600/sc4.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-V6MkSjhcnZY/T0YzxIJBSoI/AAAAAAAAAIM/xXsAcCR-lgw/s320/sc4.png" width="179" /></a></td> <td><br />
<a href="http://4.bp.blogspot.com/-DZQSVj6dl8c/T0Yzx2NZHpI/AAAAAAAAAIU/DMWBESAnVZA/s1600/sc5.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-DZQSVj6dl8c/T0Yzx2NZHpI/AAAAAAAAAIU/DMWBESAnVZA/s320/sc5.png" width="179" /></a></td> <td><br />
<a href="http://4.bp.blogspot.com/-nYzC4qq2TSM/T0YzylfYMEI/AAAAAAAAAIg/ePVuOePf4p0/s1600/sc6.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-nYzC4qq2TSM/T0YzylfYMEI/AAAAAAAAAIg/ePVuOePf4p0/s320/sc6.png" width="179" /></a></td> <td><br />
<a href="http://3.bp.blogspot.com/-WlBr9mAqDXU/T0YzuWPri9I/AAAAAAAAAH4/v_LYMv96kkI/s1600/first.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br />
</a></td> </tr>
</tbody></table></div><br />
<br />
<div class="separator" style="clear: both; text-align: center;"></div><br />
<div class="separator" style="clear: both; text-align: center;"></div><br />
<div class="separator" style="clear: both; text-align: center;"></div><br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div></div>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com0tag:blogger.com,1999:blog-2050313431007322308.post-21492497495639870462011-10-03T05:44:00.000-07:002011-10-03T05:44:21.001-07:00PopUpWindow in Android<div dir="ltr" style="text-align: left;" trbidi="on"><div class="separator" style="clear: both; text-align: left;"><a href="http://2.bp.blogspot.com/-qBsKsdOyLK8/TomsKGVO1gI/AAAAAAAAAHY/o9wo-YHCgUE/s1600/popup.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-qBsKsdOyLK8/TomsKGVO1gI/AAAAAAAAAHY/o9wo-YHCgUE/s1600/popup.png" /> </a></div><div class="separator" style="clear: both; text-align: left;">Android supports Popup Window like in IPhone. The difference between pop up window and dialog is we have to set the position (like center, top, bottom...) and also x and y positions. The below snippets explains the way.</div><div class="separator" style="clear: both; text-align: left;"> <b>Home.java:</b></div><div class="separator" style="clear: both; text-align: left;">package com.popup.activities;<br />
<br />
import android.app.Activity;<br />
import android.os.Bundle;<br />
import android.view.Gravity;<br />
import android.view.View;<br />
import android.view.View.OnClickListener;<br />
import android.view.ViewGroup.LayoutParams;<br />
import android.widget.Button;<br />
import android.widget.PopupWindow;<br />
<br />
public class Home extends Activity <br />
{<br />
private Button btnShowPopUp;<br />
private PopupWindow mpopup;<br />
<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) <br />
{<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.main);<br />
<br />
btnShowPopUp = (Button)findViewById(R.id.btnShowPopUp);<br />
<br />
btnShowPopUp.setOnClickListener(new OnClickListener() <br />
{ <br />
@Override<br />
public void onClick(View arg0) <br />
{<br />
View popUpView = getLayoutInflater().inflate(R.layout.popup, null); // inflating popup layout<br />
mpopup = new PopupWindow(popUpView, LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, true); //Creation of popup<br />
mpopup.setAnimationStyle(android.R.style.Animation_Dialog); <br />
mpopup.showAtLocation(popUpView, Gravity.BOTTOM, 0, 0); // Displaying popup<br />
<br />
Button btnOk = (Button)popUpView.findViewById(R.id.btnOk);<br />
btnOk.setOnClickListener(new OnClickListener() <br />
{ <br />
@Override<br />
public void onClick(View v) <br />
{<br />
mpopup.dismiss(); //dismissing the popup<br />
}<br />
});<br />
<br />
Button btnCancel = (Button)popUpView.findViewById(R.id.btnCancel);<br />
btnCancel.setOnClickListener(new OnClickListener() <br />
{ <br />
@Override<br />
public void onClick(View v) <br />
{<br />
mpopup.dismiss(); dismissing the popup<br />
}<br />
});<br />
}<br />
}); <br />
}<br />
}</div><div class="separator" style="clear: both; text-align: left;"><b>main.xml:</b></div><div class="separator" style="clear: both; text-align: left;"><?xml version="1.0" encoding="utf-8"?><br />
<LinearLayout <br />
xmlns:android="http://schemas.android.com/apk/res/android"<br />
android:orientation="vertical"<br />
android:layout_width="fill_parent"<br />
android:layout_height="fill_parent"><br />
<br />
<Button<br />
android:layout_width="wrap_content"<br />
android:id="@+id/btnShowPopUp"<br />
android:text="ShowPopUp"<br />
android:layout_height="wrap_content"><br />
</Button><br />
<br />
</LinearLayout><br />
<b>popup.xml:</b></div><?xml version="1.0" encoding="utf-8"?><br />
<LinearLayout<br />
xmlns:android="http://schemas.android.com/apk/res/android"<br />
android:layout_width="fill_parent"<br />
android:orientation="vertical"<br />
android:background="#90FFFFFF"<br />
android:layout_height="wrap_content"><br />
<br />
<TextView<br />
android:layout_width="fill_parent"<br />
android:text="PopUp Window"<br />
android:textColor="#000000"<br />
android:gravity="center"<br />
android:textStyle="bold"<br />
android:layout_height="wrap_content"><br />
</TextView><br />
<br />
<Button<br />
android:layout_width="fill_parent"<br />
android:id="@+id/btnOk"<br />
android:text="Ok"<br />
android:layout_height="wrap_content"><br />
</Button><br />
<br />
<Button<br />
android:layout_width="fill_parent"<br />
android:id="@+id/btnCancel"<br />
android:text="Cancel"<br />
android:layout_height="wrap_content"><br />
</Button><br />
<br />
</LinearLayout><br />
</div>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com2tag:blogger.com,1999:blog-2050313431007322308.post-88112678746506336482011-09-18T22:26:00.000-07:002011-09-18T22:26:05.934-07:00Showing Buttons on either side of a layout<div dir="ltr" style="text-align: left;" trbidi="on"><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-C85ykgnI370/TnbSZZLEidI/AAAAAAAAAHI/1y_Id7udbwA/s1600/img.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-C85ykgnI370/TnbSZZLEidI/AAAAAAAAAHI/1y_Id7udbwA/s1600/img.png" /></a></div><br />
<?xml version="1.0" encoding="utf-8"?><br />
<LinearLayout <br />
xmlns:android="http://schemas.android.com/apk/res/android"<br />
android:orientation="vertical"<br />
android:layout_width="fill_parent"<br />
android:background="#FFFFFF"<br />
android:layout_height="fill_parent"><br />
<br />
<!-- Header --><br />
<RelativeLayout<br />
android:layout_width="fill_parent"<br />
android:background="@drawable/top_header"<br />
android:paddingLeft="5dip"<br />
android:paddingRight="5dip"<br />
android:layout_height="50dip"><br />
<br />
<Button<br />
android:layout_width="wrap_content"<br />
android:background="@drawable/back_btn"<br />
android:layout_centerVertical="true"<br />
android:layout_alignParentLeft="true"<br />
android:layout_height="wrap_content"><br />
</Button><br />
<br />
<Button<br />
android:layout_width="wrap_content"<br />
android:background="@drawable/cancle_btn"<br />
android:layout_centerVertical="true"<br />
android:layout_alignParentRight="true"<br />
android:layout_height="wrap_content"><br />
</Button><br />
<br />
</RelativeLayout><br />
<br />
<!-- Body --><br />
<br />
</LinearLayout><br />
</div>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com0tag:blogger.com,1999:blog-2050313431007322308.post-36033314888730276212011-09-16T23:26:00.000-07:002011-09-16T23:29:07.397-07:00Three Level Expandable list<div dir="ltr" style="text-align: left;" trbidi="on">The below snippet helps to implement three level list in android.<br />
<b>First Group</b><br />
<b>--Sub Group</b><br />
<b> --- Child1</b><br />
<b> --- Child 2</b><br />
<b> --- Child 3</b><br />
in this pattern.....<br />
<b>main.xml:</b><br />
<?xml version="1.0" encoding="utf-8"?><br />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"<br />
android:orientation="vertical"<br />
android:layout_width="fill_parent"<br />
android:layout_height="fill_parent"><br />
<br />
<ExpandableListView<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_width="fill_parent"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:id="@+id/ParentLevel"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:groupIndicator="@null"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_height="fill_parent"><br />
</ExpandableListView><br />
<br />
</LinearLayout><br />
<br />
<b>Home.java</b><br />
<div><div>package com.threeelevellist.activities;</div><div><br />
</div><div>import android.app.Activity;</div><div>import android.content.Context;</div><div>import android.graphics.Color;</div><div>import android.os.Bundle;</div><div>import android.view.View;</div><div>import android.view.ViewGroup;</div><div>import android.widget.BaseExpandableListAdapter;</div><div>import android.widget.ExpandableListView;</div><div>import android.widget.ListView;</div><div>import android.widget.TextView;</div><div>import android.widget.LinearLayout.LayoutParams;</div><div><br />
</div><div>public class Home extends Activity </div><div>{</div><div> ExpandableListView explvlist;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div> @Override</div><div> public void onCreate(Bundle savedInstanceState) </div><div> {</div><div> super.onCreate(savedInstanceState);</div><div> setContentView(R.layout.main);</div><div> </div><div> explvlist = (ExpandableListView)findViewById(R.id.ParentLevel);</div><div> explvlist.setAdapter(new ParentLevel());</div><div> </div><div> }</div><div> </div><div> public class ParentLevel extends BaseExpandableListAdapter</div><div> {</div><div><br />
</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>public Object getChild(int arg0, int arg1) </div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>{<span class="Apple-tab-span" style="white-space: pre;"> </span></div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>return arg1;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div><br />
</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>public long getChildId(int groupPosition, int childPosition) </div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>{</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>return childPosition;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div><br />
</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>public View getChildView(int groupPosition, int childPosition,</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>boolean isLastChild, View convertView, ViewGroup parent) </div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>{</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>CustExpListview SecondLevelexplv = new CustExpListview(Home.this);</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>SecondLevelexplv.setAdapter(new SecondLevelAdapter());</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>SecondLevelexplv.setGroupIndicator(null);<span class="Apple-tab-span" style="white-space: pre;"> </span></div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>return SecondLevelexplv;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div><br />
</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>public int getChildrenCount(int groupPosition) </div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>{<span class="Apple-tab-span" style="white-space: pre;"> </span></div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>return 3;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div><br />
</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>public Object getGroup(int groupPosition) </div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>{</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>return groupPosition;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div><br />
</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>public int getGroupCount() </div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>{<span class="Apple-tab-span" style="white-space: pre;"> </span></div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>return 5;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div><br />
</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>public long getGroupId(int groupPosition) </div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>{<span class="Apple-tab-span" style="white-space: pre;"> </span></div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>return groupPosition;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div><br />
</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>public View getGroupView(int groupPosition, boolean isExpanded,</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>View convertView, ViewGroup parent) </div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>{</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>TextView tv = new TextView(Home.this);</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>tv.setText("->FirstLevel");</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>tv.setBackgroundColor(Color.BLUE);</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>tv.setPadding(10, 7, 7, 7);<span class="Apple-tab-span" style="white-space: pre;"> </span></div><div><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>return tv;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div><br />
</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>public boolean hasStableIds() </div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>{</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>return true;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div><br />
</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>public boolean isChildSelectable(int groupPosition, int childPosition) </div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>{</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>return true;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>} <span class="Apple-tab-span" style="white-space: pre;"> </span></div><div> }</div><div> </div><div> public class CustExpListview extends ExpandableListView</div><div> {</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>int intGroupPosition, intChildPosition, intGroupid;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>public CustExpListview(Context context) </div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>{</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>super(context);<span class="Apple-tab-span" style="white-space: pre;"> </span></div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) </div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>{</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>widthMeasureSpec = MeasureSpec.makeMeasureSpec(960, MeasureSpec.AT_MOST);</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>heightMeasureSpec = MeasureSpec.makeMeasureSpec(600, MeasureSpec.AT_MOST);</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>super.onMeasure(widthMeasureSpec, heightMeasureSpec);</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>}<span class="Apple-tab-span" style="white-space: pre;"> </span></div><div> }</div><div> </div><div> public class SecondLevelAdapter extends BaseExpandableListAdapter</div><div> {</div><div><br />
</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>public Object getChild(int groupPosition, int childPosition) </div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>{<span class="Apple-tab-span" style="white-space: pre;"> </span></div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>return childPosition;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div><br />
</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>public long getChildId(int groupPosition, int childPosition) </div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>{<span class="Apple-tab-span" style="white-space: pre;"> </span></div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>return childPosition;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div><br />
</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>public View getChildView(int groupPosition, int childPosition,</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>boolean isLastChild, View convertView, ViewGroup parent) </div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>{</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>TextView tv = new TextView(Home.this);</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>tv.setText("child");</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>tv.setPadding(15, 5, 5, 5);</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>tv.setBackgroundColor(Color.YELLOW);</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>tv.setLayoutParams(new ListView.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>return tv;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div><br />
</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>public int getChildrenCount(int groupPosition) </div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>{</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>return 5;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div><br />
</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>public Object getGroup(int groupPosition) </div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>{<span class="Apple-tab-span" style="white-space: pre;"> </span></div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>return groupPosition;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div><br />
</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>public int getGroupCount() </div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>{</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>return 1;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div><br />
</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>public long getGroupId(int groupPosition) </div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>{</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>return groupPosition;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div><br />
</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>public View getGroupView(int groupPosition, boolean isExpanded,</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>View convertView, ViewGroup parent) </div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>{</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>TextView tv = new TextView(Home.this);</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>tv.setText("-->Second Level");</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>tv.setPadding(12, 7, 7, 7);</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>tv.setBackgroundColor(Color.RED);</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>return tv;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div><br />
</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>public boolean hasStableIds() {</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>// TODO Auto-generated method stub</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>return true;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div><br />
</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>public boolean isChildSelectable(int groupPosition, int childPosition) {</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>// TODO Auto-generated method stub</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>return true;</div><div><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div> <span class="Apple-tab-span" style="white-space: pre;"> </span></div><div> }</div><div>}</div></div></div>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com7tag:blogger.com,1999:blog-2050313431007322308.post-89864250879866360592011-09-16T06:00:00.000-07:002011-09-16T06:02:11.910-07:00Route Map in Android<div dir="ltr" style="text-align: left;" trbidi="on">The following snippet shows the route between two Geo points in google map using default maps application. <br />
<br />
Uri uri = Uri.parse("http://maps.google.com/maps?&saddr=slat,slon&daddr=dlat,dlon");<br />
<br />
Here saddr -> source address<br />
daddr -> destination address<br />
slat -> source latitude<br />
slon -> source longitude<br />
dlat -> destination latitude<br />
dlon -> destination longitude<br />
<br />
Intent intent = new Intent(Intent.ACTION_VIEW, uri);<br />
startActivity(intent);<br />
</div>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com0tag:blogger.com,1999:blog-2050313431007322308.post-6490006208097962502011-09-08T00:26:00.000-07:002011-09-08T01:28:41.282-07:00InputStream to String<div dir="ltr" style="text-align: left;" trbidi="on">public String convertBrToString(InputStream in) <br />
{<br />
<br />
BufferedReader br;<br />
<br />
StringBuffer outString = new StringBuffer();<br />
<br />
br = new BufferedReader(new InputStreamReader(in));<br />
<br />
String read = br.readLine();<br />
<br />
while(read != null)<br />
{<br />
outString.append(read);<br />
read =br.readLine();<br />
}<br />
<br />
return outString.toString(); <br />
}</div>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com0tag:blogger.com,1999:blog-2050313431007322308.post-36544485753523088952011-08-25T00:28:00.000-07:002011-08-25T00:28:19.807-07:00Converting Pixel To Dip<div dir="ltr" style="text-align: left;" trbidi="on">The below snippet converts pixel to dip(Device Independent Pixel) . We have to pass pixel value as an argument then it returns dip value for that.<br />
<br />
public int getDip(int pixel)<br />
{<br />
float scale = getBaseContext().getResources().getDisplayMetrics().density;<br />
return (int) (pixel * scale + 0.5f);<br />
}<br />
</div>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com0tag:blogger.com,1999:blog-2050313431007322308.post-71762422830657722472011-08-24T04:36:00.000-07:002011-09-16T05:35:00.286-07:00Maps on Android<div dir="ltr" style="text-align: left;" trbidi="on"> This Tutorial helps to intigrate google maps to Application. Default android package did not provide google maps library. So we have to add exteranlly or it can be downloadable with android sdk it self.<br />
<br />
<b><span style="color: red;">Step 1:</span></b> (<b>If you already did this then ignore this step</b>)<br />
<b>Adding Google Maps library to Android SDK :</b><br />
In Eclipse : Window -> Android Sdk and AVD Manager <br />
Then the following window will appear.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-FssC4KRxygo/TlTaIZNiS9I/AAAAAAAAAGo/413Ww-1VBrs/s1600/googlemaps-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="372" src="http://3.bp.blogspot.com/-FssC4KRxygo/TlTaIZNiS9I/AAAAAAAAAGo/413Ww-1VBrs/s640/googlemaps-1.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-G6972mqZlEs/TlTaa0kOsYI/AAAAAAAAAGs/xVd5Me6LGik/s1600/googlemaps-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br />
</a></div>In that window Select Available Packages<br />
Click On Third Party Add-ons. Then you will find a list like below. <br />
<br />
<a href="http://1.bp.blogspot.com/-cNKlULaDMtk/TlTbWz6n6gI/AAAAAAAAAG0/48TKBHhT-yE/s1600/googlemaps-2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="374" src="http://1.bp.blogspot.com/-cNKlULaDMtk/TlTbWz6n6gI/AAAAAAAAAG0/48TKBHhT-yE/s640/googlemaps-2.png" width="640" /></a>In that select Google Inc. In that select Google Api with the versions that you want and click on Install selected. Then It will install.<br />
<b><span style="color: red;">Step 2:</span></b><br />
In order to display google maps in you app you have to genarate a MAPKEY .<br />
<b>Obtaining Map Key:</b><br />
<span style="color: blue;">Generating MD5 FingerPrint for your system:</span><br />
<ul style="text-align: left;"><li>First we have to find default keystore existing in the system.</li>
<li>Go to C: -> users -> Your User Name -> .android </li>
<li>There you find debug.keystore. Copy that keystore by creating a folder in c drive namely keystore.</li>
<li>Open Command Prompt and follow the image.</li>
</ul><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/--LDtytb-fvc/TlTahX274GI/AAAAAAAAAGw/lWsKIqbTatM/s1600/googlemaps-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="324" src="http://3.bp.blogspot.com/--LDtytb-fvc/TlTahX274GI/AAAAAAAAAGw/lWsKIqbTatM/s640/googlemaps-3.png" width="640" /></a></div><br />
<div style="text-align: left;"><br />
Then you get MD5 Finger print.<br />
<br />
<b style="color: blue;">Registering Finger Print certificate with the Google Maps service:</b></div><ul style="text-align: left;"><li>Click on the link given. <a href="http://code.google.com/android/maps-api-signup.html">http://code.google.com/android/maps-api-signup.html</a><a href="http://code.google.com/android/maps-api-signup.html"></a></li>
<li>Read the Maps Api Terms and conditions.</li>
<li>Check on the agree.</li>
<li>Copy the MD5 in the appropriate field.</li>
<li>Click on genate Api Key.</li>
</ul><div style="text-align: left;">Then you will get Map Key.<br />
<br />
<b style="color: red;">Step 3:</b><br />
<b>Adding Map Key to Application</b><br />
If you want add maps in xml do like this</div><div style="text-align: left;"><br />
<com.google.android.maps.MapView<br />
android:layout_width="fill_parent"<br />
android:layout_height="fill_parent"<br />
android:enabled="true"<br />
android:clickable="true"<br />
android:apiKey="ApiKey"/><br />
<br />
Through coding then do like this<br />
mMapView = new MapView(this, "ApiKey");<br />
<br />
<b style="color: red;">Step 4:</b><br />
<b>Change the Manifast.xml </b><br />
<application <br />
android:icon="@drawable/icon" <br />
android:label="@string/app_name"><br />
< uses-library android:name="com.google.android.maps" /><br />
<<b></b>activity <br />
.................<br />
</activity><br />
</application><br />
<br />
For detail information about google maps go to http://code.google.com/android/add-ons/google-apis/mapkey.html<br />
<b><br style="color: red;" /><span style="color: red;">Step 5:</span></b><br />
<b>Displying Google Map</b><br />
<b>manifast.xml:</b><br />
<?xml version="1.0" encoding="utf-8"?><br />
<manifest <br />
xmlns:android="http://schemas.android.com/apk/res/android"<br />
package="com.googlmaps.activities"<br />
android:versionCode="1"<br />
android:versionName="1.0"><br />
<br />
<application <br />
android:icon="@drawable/icon" <br />
android:label="@string/app_name"><br />
<br />
<uses-library android:name="com.google.android.maps" /> <br />
<br />
<activity <br />
android:name=".Home"<br />
android:label="@string/app_name"><br />
<intent-filter><br />
<action android:name="android.intent.action.MAIN"/><br />
<category android:name="android.intent.category.LAUNCHER" /><br />
</intent-filter><br />
</activity><br />
<br />
</application><br />
<uses-permission android:name="android.permission.INTERNET"></uses-permission><br />
</manifest></div><div style="text-align: left;"><b>main.xml:</b></div><div style="text-align: left;"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<com.google.android.maps.MapView<br />
xmlns:android="http://schemas.android.com/apk/res/android"<br />
android:id="@+id/MapView"<br />
android:layout_width="fill_parent"<br />
android:layout_height="fill_parent"<br />
android:clickable="true"<br />
android:apiKey="0QpCkU-U_D--eTiGs8j5jCQ8LnJpyBgyoo7ilqQ"/></div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><b>Home.java:</b></div><div style="text-align: left;">package com.googlmaps.activities;<br />
import android.os.Bundle;<br />
import com.google.android.maps.MapActivity;<br />
import com.google.android.maps.MapView;<br />
<br />
public class Home extends MapActivity <br />
{ <br />
private MapView mapView;<br />
@Override <br />
public void onCreate(Bundle savedInstanceState) <br />
{<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.main);<br />
<br />
//Getting Id's<br />
mapView = (MapView)findViewById(R.id.MapView);<br />
<br />
//Getting Zoom Buttons<br />
mapView.setBuiltInZoomControls(true);<br />
}<br />
<br />
@Override<br />
protected boolean isRouteDisplayed() <br />
{<br />
return false;<br />
}<br />
}<br />
<br />
<b>Output:</b> </div><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-pztSzwqcnC4/TlTcshw9dAI/AAAAAAAAAG4/-9zeM0fQjU8/s1600/googlemaps-4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-pztSzwqcnC4/TlTcshw9dAI/AAAAAAAAAG4/-9zeM0fQjU8/s1600/googlemaps-4.png" /></a></div><div style="text-align: left;"><b style="color: red;">Step 6:</b><br />
<b>Adding Overlay Items</b><br />
In order to add overlays on the map, create another class with the name as MapOverlays with the following options.<br />
While creation mention super class as "com.google.android.maps.ItemizedOverlay"<br />
<b>MapOverlay.java:</b><br />
package com.googlmaps.activities;<br />
import java.util.ArrayList;<br />
import android.content.Context;<br />
import android.graphics.drawable.Drawable;<br />
import com.google.android.maps.ItemizedOverlay;<br />
import com.google.android.maps.OverlayItem;<br />
<br />
@SuppressWarnings("rawtypes")<br />
public class MapOverlays extends ItemizedOverlay <br />
{<br />
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();<br />
<br />
public MapOverlays(Drawable defaultMarker, Context context) <br />
{<br />
super(boundCenterBottom(defaultMarker));<br />
}<br />
<br />
@Override<br />
protected OverlayItem createItem(int arg0) <br />
{<br />
return mOverlays.get(arg0);<br />
}<br />
<br />
@Override<br />
public int size() <br />
{<br />
return mOverlays.size();<br />
}<br />
<br />
public void addOverlay(OverlayItem overlay) <br />
{<br />
mOverlays.add(overlay);<br />
populate();<br />
}<br />
}<br />
<br />
<b>For the Home.java add these steps:</b></div><div style="text-align: left;"><br />
List<Overlay> mapOverlays;<br />
Drawable drawable;<br />
MapOverlays itemizedoverlay;<br />
MapController mc;<br />
<br />
//Creating Overlay Items<br />
mapOverlays = mapView.getOverlays();<br />
//Overlay marker<br />
drawable = this.getResources().getDrawable(R.drawable.icon);<br />
itemizedoverlay = new MapOverlays(drawable, Home.this); <br />
<br />
//Creation of Geo Point<br />
GeoPoint point = new GeoPoint(19240000,-99120000);<br />
OverlayItem overlayitem = new OverlayItem(point, "", "");<br />
<br />
mc.setZoom(10);<br />
mc.animateTo(point);<br />
<br />
itemizedoverlay.addOverlay(overlayitem);<br />
mapOverlays.add(itemizedoverlay);<br />
<br />
<b>Output:</b></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 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 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 class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-K4-NJBTAjaA/TlTeH253M8I/AAAAAAAAAG8/72dzI-xvCug/s1600/googlemaps-5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-K4-NJBTAjaA/TlTeH253M8I/AAAAAAAAAG8/72dzI-xvCug/s1600/googlemaps-5.png" /> </a></div><div class="separator" style="clear: both; text-align: left;">click here to download source<a href="http://www.ziddu.com/download/16163615/GoogleMapsEx.zip.html">http://www.ziddu.com/download/16163615/GoogleMapsEx.zip.html</a></div></div>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com0tag:blogger.com,1999:blog-2050313431007322308.post-8976190720245773382011-08-22T02:21:00.000-07:002011-08-22T02:29:49.198-07:00Multiple Choice List Android<div dir="ltr" style="text-align: left;" trbidi="on">In Android List View provides an Option to allow Multiple selection of items. The following example shows the way to achieve this.<br />
<b>Example:</b> <br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-q8xqfAnffjE/TlIfELmlOII/AAAAAAAAAGk/6TJSwPbQq88/s1600/multichoicelist.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-q8xqfAnffjE/TlIfELmlOII/AAAAAAAAAGk/6TJSwPbQq88/s1600/multichoicelist.png" /></a></div><br />
package com.lvcheck.activities;<br />
import java.util.ArrayList;<br />
import java.util.Collections;<br />
import android.app.Activity;<br />
import android.os.Bundle;<br />
import android.view.View;<br />
import android.view.View.OnClickListener;<br />
import android.widget.AdapterView;<br />
import android.widget.AdapterView.OnItemClickListener;<br />
import android.widget.ArrayAdapter;<br />
import android.widget.Button;<br />
import android.widget.ListView;<br />
import android.widget.Toast;<br />
<br />
public class Home extends Activity <br />
{<br />
private ListView lvCheckBox;<br />
private Button btnCheckAll, btnClearALl;<br />
private String[] arr = {"One", "Two", "Three", "Four", "Five", "Six"};<br />
ArrayList<integer> arrList;<br />
<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) <br />
{<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.main);<br />
<br />
arrList = new ArrayList<integer>();<br />
<br />
btnCheckAll = (Button)findViewById(R.id.btnCheckAll);<br />
btnClearALl = (Button)findViewById(R.id.btnClearAll);<br />
<br />
lvCheckBox = (ListView)findViewById(R.id.lvCheckBox);<br />
<b>lvCheckBox.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);</b><br />
lvCheckBox.setAdapter(new ArrayAdapter<string>(this,<br />
android.R.layout.simple_list_item_multiple_choice, arr));<br />
<br />
lvCheckBox.setOnItemClickListener(new OnItemClickListener() <br />
{<br />
@Override<br />
public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) <br />
{<br />
if(arrList.contains(arg2))<br />
{<br />
arrList.remove((Integer)arg2);<br />
}<br />
else<br />
{<br />
arrList.add(arg2);<br />
}<br />
<br />
Collections.sort(arrList);<br />
String strText = "";<br />
<br />
for(int i=0 ; i<arrlist.size(); i++)<br=""> </arrlist.size();></string></integer></integer>arrList.size(); i++)<integer><integer><string><arrlist.size(); i++)<br=""> </arrlist.size();></string></integer></integer><br />
<integer><integer><string><arrlist.size(); i++)<br=""> strText += arrList.get(i) + ",";<br />
<br />
<br />
Toast.makeText(Home.this, "Item Clicked: "+ strText, Toast.LENGTH_SHORT).show(); <br />
}<br />
<br />
});<br />
<br />
btnCheckAll.setOnClickListener(new OnClickListener() <br />
{ <br />
@Override<br />
public void onClick(View arg0) <br />
{<br />
arrList.clear();<br />
</arrlist.size();></string></integer></integer> <br />
<integer><integer><string><arrlist.size(); i++)<br=""> for(</arrlist.size();></string></integer></integer>int i=0 ; i < lvCheckBox.getAdapter().getCount(); i++)<br />
<integer><integer><string><arrlist.size(); i++)<br=""> {<br />
lvCheckBox.setItemChecked(i, true);<br />
arrList.add(i);<br />
}<br />
<br />
String strText = "";<br />
</arrlist.size();></string></integer></integer>for(int i=0 ; i<arrList.size(); i++)<integer><integer><string><arrlist.size(); i++)<br=""><arrlist.size(); i++)<br=""> </arrlist.size();></arrlist.size();></string></integer></integer><br />
<integer><integer><string><arrlist.size(); i++)<br=""><arrlist.size(); i++)<br=""> strText += arrList.get(i) + ","<br />
Toast.makeText(Home.this, "Item Clicked: "+ strText, Toast.LENGTH_SHORT).show();<br />
}<br />
});<br />
<br />
btnClearALl.setOnClickListener(new OnClickListener() <br />
{ <br />
@Override<br />
public void onClick(View v) <br />
{<br />
arrList.clear();<br />
for(int i=0 ; i < lvCheckBox.getAdapter().getCount(); i++)<br />
{<br />
lvCheckBox.setItemChecked(i, false);<br />
}<br />
<br />
String strText = "";<br />
for(int i=0 ; i<arrList.size(); i++)</arrlist.size();></arrlist.size();></string></integer></integer><br />
<integer><integer><string><arrlist.size(); i++)<br=""><arrlist.size(); i++)<br=""><arrlist.size(); i++)<br=""> strText += arrList.get(i) + ",";<br />
<br />
Toast.makeText(Home.this, "Item Clicked: "+ strText, Toast.LENGTH_SHORT).show();<br />
}<br />
});<br />
} <br />
}</arrlist.size();></arrlist.size();></arrlist.size();></string></integer></integer><br />
<br />
<a href="http://www.ziddu.com/download/16103715/LvCheckBoxes.zip.html">Click Here To Download Complete Source</a></div>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com1tag:blogger.com,1999:blog-2050313431007322308.post-63863314737783985672011-08-16T03:31:00.000-07:002011-11-23T03:46:53.507-08:00How To Move Applications to SDCARD in Android<div dir="ltr" style="text-align: left;" trbidi="on">From Android 2.2 Froyo onwards we can allow the application has to be installed on the external storage(SDCARD)<br />
<br />
This feature is enabled by using this tag android:installLocation. By declaring this permission in the android manifast file.<br />
<br />
If we do not declare this attribute, the application will be installed on the internal storage only and it cannot be moved to the external storage.<br />
<br />
To allow the system to install your application on the external storage, modify the manifest file to include the android:installLocation attribute in the <manifest> element, with a value of either "preferExternal" or "auto". For example:<br />
<br />
<b><manifest xmlns:android="http://schemas.android.com/apk/res/android"<br />
android:installLocation="preferExternal" or android:installLocation="auto"<br />
... ></b><br />
<br />
<b>preferExternal</b> : The App installs on the sdcard.<br />
<br />
<b>auto</b> : There is no preference. The system will decide where to install based on several Factors.<br />
<br />
However, if your application is designed to support an API Level lower than 8, you can choose to support this feature for devices with API Level 8 or greater and still be compatible with devices using an API Level lower than 8.<br />
<br />
To allow installation on external storage and remain compatible with versions lower than API Level 8:<br />
<ul><li>Include the <b>android:installLocation </b>attribute with a value of <b>"auto" or "preferExternal"</b> in the <manifest> element.</li>
</ul><ul><li>Leave your <b>android:minSdkVersion </b>attribute as is (something less than "8") and be certain that your application code uses only APIs compatible with that.</li>
</ul><ul><li>In order to compile your application,<b> change your build target to API Level 8</b> (In default.properties). This is necessary because older Android libraries don't understand the android:installLocation attribute and will not compile your application when it's present.</li>
</ul><br />
Note: For More Information<a href="http://developer.android.com/guide/appendix/install-location.html"> http://developer.android.com/guide/appendix/install-location.html </a></div>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com0tag:blogger.com,1999:blog-2050313431007322308.post-871306743702225932011-08-10T00:02:00.000-07:002011-08-10T00:03:50.164-07:00Youtube Preview Problem on android webview<div dir="ltr" style="text-align: left;" trbidi="on">Today i met with one problem. Actually i am getting the html data from the server. I am showing that using an webview. The problem is html data contain iframe tags. What it mean you tube videos. But at that position i am getting <b>a black screen with you tube logo at bottom. But for iphone and Black berry directly loading preview.</b><br />
<br />
So that i tried to find the reason. I read no of forms. But there is no solution. On searching i found on e app with you tube videos. So Problem solved. They are taking the 1st frame of the you tube video and embed that using img tag and if we click on that image then redirect to the player.<br />
<br />
<b> So i also search for getting 1st frame of an webview. The way is like this</b><br />
<b> <span style="color: blue;">http://img.youtube.com/vi/<span style="color: red;">VIDEO_ID</span>/<span style="color: red;">#</span>.jpg</span></b><br />
<b>Here VIDEO_ID : means every youtube vedio has one id.</b><br />
<b> # : 0 - default size, 1- fisrst frame thumbnail , 2- second frame thumbnail, 3.....</b><br />
<br />
So what you have to do is in the place of iframe tag did this type modification. Then problem will solved.<br />
<br />
For More Details : <a href="http://www.reelseo.com/youtube-thumbnail-image/">http://www.reelseo.com/youtube-thumbnail-image/</a></div>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com4tag:blogger.com,1999:blog-2050313431007322308.post-37438953894582420492011-07-27T07:06:00.000-07:002011-07-27T07:06:43.352-07:00opening a Dial-er Screen Android<div dir="ltr" style="text-align: left;" trbidi="on">In order open a Dial-er screen with the mobile no also android provides an intent.<br />
<br />
Using this we will go to Dial-er screen.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-CwTiVMgqLVQ/TjAa5k_22bI/AAAAAAAAAGg/4SjdtM4Sw6U/s1600/dialer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-CwTiVMgqLVQ/TjAa5k_22bI/AAAAAAAAAGg/4SjdtM4Sw6U/s1600/dialer.png" /></a></div><br />
<div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">In order use the intent we have to include a permission in the manifast.xml</div></div><div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><uses-permission android:name = "android.permission.CALL_PHONE"/></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><b>Example:</b><br />
<b><br />
</b></div></div><div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">Intent intent_Call = new Intent(Intent.ACTION_DIAL);</div></div><div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">intent_Call.setData(Uri.parse("tel:" + strMobNo)); //strMobNo is the mobile no that we have to pass</div></div><div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">startActivity(intent_Call); //like 0123456789</div></div></div>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com0tag:blogger.com,1999:blog-2050313431007322308.post-81614984022388357622011-07-27T06:49:00.000-07:002011-07-27T06:57:38.061-07:00how to make call in Android<div dir="ltr" style="text-align: left;" trbidi="on">Android provides default intent to manage calling.<br />
<div class="separator" style="clear: both; text-align: center;"></div><div><br />
</div><div>Using this we directly go to calling screen.</div><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-a6F10R2sbng/TjAYhlAcKFI/AAAAAAAAAGc/UI01mFRfphI/s1600/call.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-a6F10R2sbng/TjAYhlAcKFI/AAAAAAAAAGc/UI01mFRfphI/s1600/call.png" /></a></div><div><br />
</div><div><br />
</div><div>In order use the intent we have to include a permission in the manifast.xml</div><div><uses-permission android:name = "android.permission.CALL_PHONE"/></div><div><b><br />
</b></div><div><b>Example:</b></div><div><div><br />
</div><div>Intent intent_Call = new Intent(Intent.ACTION_CALL);</div><div>intent_Call.setData(Uri.parse("tel:" + strMobNo)); //strMobNo is the mobile no that we have to pass</div><div>startActivity(intent_Call); //like 0123456789</div></div></div>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com0tag:blogger.com,1999:blog-2050313431007322308.post-22580708785742246972011-07-27T05:43:00.000-07:002011-07-27T06:05:09.075-07:00how to send an email<div dir="ltr" style="text-align: left;" trbidi="on">The snippet helps to send email from your android mobile.<br />
<br />
Using this intent it will list a list of mail clients that are available to handle this intent.<br />
<br />
If we select one of them then it will send email using that mail client.<br />
<br />
<b>Example.</b><br />
Intent emailIntent = new Intent(Intent.ACTION_SEND);<br />
//Message Type<br />
emailIntent.setType("text/image");<br />
<br />
//To Address. Here strArrTo is an string array<br />
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, strArrTO);<br />
<br />
//CC . Here strArrCC is an string array<br />
emailIntent.putExtra(android.content.Intent.EXTRA_CC, strArrCC);<br />
<br />
//BCC. Here strArrBCC is an string array<br />
emailIntent.putExtra(android.content.Intent.EXTRA_BCC, strArrBCC);<br />
<br />
//Subject line. Here strSUB is string <br />
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, strSUB);<br />
<br />
//Body..Here strMes is string <br />
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, strMes);<i></i><br />
<br />
//Starting Intent...<br />
startActivity(emailIntent);</div>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com0tag:blogger.com,1999:blog-2050313431007322308.post-68082683856623129422011-07-15T03:33:00.000-07:002011-07-15T03:33:57.902-07:00Context Menu AndroidContext Menu is similar to right click on your desktop system.<br />
<br />
In Android context menu is used with list view. In we long press list view item then the menu event fires.<br />
<br />
In order to use Context Menu with the list view we have register the Context Menu for the list view. The following snippet explain the use of Context Menu with the list view.<br />
<br />
<u><b>Example:</b></u><br />
<br />
<u><b>main.xml</b></u><br />
<?xml version="1.0" encoding="utf-8"?><br />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"<br />
android:orientation="vertical"<br />
android:layout_width="fill_parent"<br />
android:layout_height="fill_parent"><br />
<br />
<ListView<br />
android:layout_width="fill_parent"<br />
android:id="@+id/lvContextMenu"<br />
android:layout_height="fill_parent"><br />
</ListView> <br />
<br />
</LinearLayout><br />
<br />
<u><b>Home.java</b></u><br />
package com.lvcm.activities;<br />
import android.app.Activity;<br />
import android.os.Bundle;<br />
import android.view.ContextMenu;<br />
import android.view.ContextMenu.ContextMenuInfo;<br />
import android.view.Menu;<br />
import android.view.MenuItem;<br />
import android.view.View;<br />
import android.view.ViewGroup;<br />
import android.widget.AdapterView;<br />
import android.widget.BaseAdapter;<br />
import android.widget.ListView;<br />
import android.widget.TextView;<br />
import android.widget.Toast;<br />
<br />
public class Home extends Activity <br />
{<br />
ListView lvContextMenu;<br />
ListAdapter adapter;<br />
private String[] MenuItems = {"Edit", "Delete"};<br />
<br />
/** Called when the activity is first created. */<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) <br />
{<br />
super.onCreate(savedInstanceState);<br />
setContentView(<b>R.layout.main</b>);<br />
<br />
<b>//Getting the List View from the xml file</b><br />
lvContextMenu = (ListView)findViewById(R.id.lvContextMenu);<br />
lvContextMenu.setAdapter(new ListAdapter());<br />
<br />
<b> //Registering Context Menu</b><br />
registerForContextMenu(lvContextMenu);<br />
}<br />
<br />
<b>// Context Menu Creation</b><br />
@Override<br />
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) <br />
{<br />
if (v.getId()==R.id.lvContextMenu) <br />
{ <br />
menu.setHeaderTitle("CONTEXT MENU");<br />
for (int i = 0; i< MenuItems.length; i++) <br />
{<br />
menu.add(Menu.NONE, i, i, MenuItems[i]);<br />
}<br />
}<br />
}<br />
<br />
<b>// Context Menu Item Selection</b><br />
@Override<br />
public boolean onContextItemSelected(MenuItem item) <br />
{<br />
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();<br />
<br />
<b>// Getting the Id</b><br />
int menuItemIndex = item.getItemId();<br />
Toast.makeText(Home.this, "Clicked Item Position :"+info.position+"\n"+"Seleted Option Id :"+menuItemIndex, Toast.LENGTH_SHORT).show(); <br />
return true;<br />
}<br />
<b> </b><br />
<b> //List Adapter</b><br />
public class ListAdapter extends BaseAdapter<br />
{<br />
@Override<br />
public int getCount() <br />
{ <br />
return 10;<br />
}<br />
<br />
@Override<br />
public Object getItem(int arg0) <br />
{ <br />
return arg0;<br />
}<br />
<br />
@Override<br />
public long getItemId(int arg0) <br />
{ <br />
return arg0;<br />
}<br />
<br />
@Override<br />
public View getView(int arg0, View arg1, ViewGroup arg2) <br />
{<br />
TextView tv;<br />
<br />
if(arg1 == null)<br />
{<br />
tv = new TextView(Home.this); <br />
}<br />
else<br />
{<br />
tv = (TextView) arg1;<br />
} <br />
tv.setText("list item");<br />
return tv;<br />
} <br />
}<br />
}<br />
<u><b>OutPut:</b></u><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-2CWhxI7quFc/TiAXVrVbT6I/AAAAAAAAAGQ/gU587Uxqi3g/s1600/lvcmenu.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-2CWhxI7quFc/TiAXVrVbT6I/AAAAAAAAAGQ/gU587Uxqi3g/s320/lvcmenu.png" width="213" /></a></div>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com2tag:blogger.com,1999:blog-2050313431007322308.post-38171539507175064122011-07-14T23:27:00.000-07:002011-07-14T23:27:53.222-07:00Fonts Android / Custom FontsIn android by default the following fonts are available.<br />
DEFAULT<br />
DEFAUT_BOLD<br />
SERIF<br />
SANS-SERIF<br />
MONO SPACE<br />
<br />
The <b>Typeface </b>class is used to specify the style of a font. In this example i am creating a textview and apply the fonts to that textview.<br />
<br />
TextView tv = new TextView(this);<br />
<br />
//For DEFAULT<br />
tv.setTypeface(Typeface.DEFAULT); <br />
<br />
//For DEFAUT_BOLD<br />
tv.setTypeface(Typeface.DEFAULT_BOLD);<br />
<br />
//For SERIF<br />
tv.setTypeface(Typeface.SERIF);<br />
<br />
//For SANS-SERIF<br />
tv.setTypeface(Typeface.SANS_SERIF); <br />
//For MONO SPACE<br />
tv.setTypeface(Typeface.MONOSPACE); <br />
<br />
<b>//Custom Fonts</b><br />
To create custom font first we have to download the font file (.ttf). Copy that file to Assest folder of your project.<br />
<b> </b><br />
<b>//Creation of custom font</b><br />
Typeface tf = Typeface.createFromAsset(getAssets(), "BaroqueScript.ttf");<br />
tv.setTypeface(tf);<br />
<br />
<b style="color: red;">Note: </b><br />
For more info about Typeface visit<br />
<a href="http://developer.android.com/reference/android/graphics/Typeface.html">http://developer.android.com/reference/android/graphics/Typeface.html</a>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com0tag:blogger.com,1999:blog-2050313431007322308.post-55127820364850999702011-07-14T21:46:00.000-07:002011-07-14T21:51:15.720-07:00Expandable list view move group icon indicator to rightThe setIndicatorBounds(int left, int right) is used to set the indicator bounds for the group view of an expandable list view.<br />
<br />
explvList<b>.setIndicatorBounds(</b>width-GetDipsFromPixel(35), width-GetDipsFromPixel(5)<b>);</b><br />
<br />
Here width means device width. <b><br />
</b><br />
<br />
<b>//Convert pixel to dip </b><br />
<b>public int GetDipsFromPixel(float pixels)</b><br />
<b>{<br />
// Get the screen's density scale<br />
final float scale = getResources().getDisplayMetrics().density;<br />
// Convert the dps to pixels, based on density scale<br />
return (int) (pixels * scale + 0.5f);</b><br />
<b>} </b><br />
<br />
<div style="color: red;"><b>Note:</b></div><div style="color: red;"><br />
</div><div style="color: red;">The imp point is indicator icon design.</div><div style="color: red;"><br />
</div><div style="color: red;">The icon should be like this height of the icon is equal to parent view height with transparent background. In that we put our required image in the center.</div><div style="color: red;"><br />
</div><div style="color: red;">The width is equal to width specified in the setBounds method. Here in my snippet it is 35.</div><div style="color: red;"><br />
</div><div style="color: red;">Other wise the icon is disturbed.</div><br />
<b>Output :</b><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-8o-OSW8tOlE/Th_E2Gh_fMI/AAAAAAAAAGI/-z7-9gbeAuQ/s1600/groupindicatorbounds.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="400" src="http://1.bp.blogspot.com/-8o-OSW8tOlE/Th_E2Gh_fMI/AAAAAAAAAGI/-z7-9gbeAuQ/s400/groupindicatorbounds.png" width="265" /></a></div><b><br />
</b>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com0tag:blogger.com,1999:blog-2050313431007322308.post-13493459561163083142011-07-12T06:43:00.000-07:002011-07-12T06:43:56.871-07:00Reducing dimness while running Progress Dialog in AndroidIn Android while running progress dialog the screen become dim. The following snippet helpful to reduce the dimness.<br />
pdlg = ProgressDialog.show(getParent(), "Loading...", ""); <br />
WindowManager.LayoutParams lp = pdlg.getWindow().getAttributes();<br />
lp.dimAmount=0.0f; //Dim Amount<br />
//Applying properties to progress dialog<br />
pdlg.getWindow().setAttributes(lp);<br />
//Dismiss the dialog<br />
pdlg.dismiss();<br />
harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com0tag:blogger.com,1999:blog-2050313431007322308.post-28438644915920607032011-06-29T06:06:00.000-07:002011-06-29T06:06:58.535-07:00Checking SD card Existance<div dir="ltr" style="text-align: left;" trbidi="on">The below method returns true if the sd card is present on the mobile else it returns false. <br />
public static boolean isSdPresent()<br />
{ <br />
return android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); }</div>harishhttp://www.blogger.com/profile/03324181842965215670noreply@blogger.com0