tag:blogger.com,1999:blog-51394944402260949592024-03-16T11:51:38.459-07:00Android BlogSaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.comBlogger35125tag:blogger.com,1999:blog-5139494440226094959.post-57823251757261383292012-06-02T10:58:00.000-07:002012-06-02T10:58:18.613-07:00Dial Application<div dir="ltr" style="text-align: left;" trbidi="on">How to USE Dial the Number in Android<br />
<br />
Its a simple default Android api to use the Dial the number .<br />
startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + num_et.getText())));<br />
<br />
Here i used 1 Edit text for typing the Number and 1 button to make a cal options.<br />
Button cal_btn;<br />
EditText num_et;<br />
public void onClick(View v) {<br />
<br />
if(num_et!=null ){<br />
startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + num_et.getText()))); <br />
}<br />
<br />
}<br />
});<br />
Dont forgot to give the cal permission like:<br />
<uses-permission android:name="android.permission.CALL_PHONE" /><br />
<div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTRSFZLlaGM-mNPEpaSrZRfRHJPZY-WQfZMTXnVLXQOaCg08mK9_8LaC6hdyLyREKUMpccjzwuZWjvHVFU0Dui3WCCoGswMZAgRxwnLxvwcoUK0vIniJ-NcHT7H9FwRQKeoF5hCjiwh6I/s1600/001.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" rba="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTRSFZLlaGM-mNPEpaSrZRfRHJPZY-WQfZMTXnVLXQOaCg08mK9_8LaC6hdyLyREKUMpccjzwuZWjvHVFU0Dui3WCCoGswMZAgRxwnLxvwcoUK0vIniJ-NcHT7H9FwRQKeoF5hCjiwh6I/s320/001.png" style="cursor: move;" unselectable="on" width="213" /></a></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9cg3QfE7E4GjRGPJiYqenFmS2KUowHyjXkS7ptqi2QJ0NjdzcPHNuQ86D6RkDR6ZBpILnc3HRWcAFw3_3kkUoTjEi1EoPY1bLUXi1oKy-XPtgw5LLn2nY0n9BLsLNd8G7j3PeKVjgC7U/s1600/002.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" rba="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9cg3QfE7E4GjRGPJiYqenFmS2KUowHyjXkS7ptqi2QJ0NjdzcPHNuQ86D6RkDR6ZBpILnc3HRWcAFw3_3kkUoTjEi1EoPY1bLUXi1oKy-XPtgw5LLn2nY0n9BLsLNd8G7j3PeKVjgC7U/s320/002.png" width="213" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjE50_hUmSlsXEmXjrleTCyiNQv5eX71-6fJCwi50ppmsSIpQIveYsbKSYGT4-qMW5h62Y5499Z8vjD2JsvH0oXuQHUqZxKuH6o7UnNlNt4jBhH9naL3QPdrFe2H4BrXcCrLCHyaA0RRSE/s1600/003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" rba="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjE50_hUmSlsXEmXjrleTCyiNQv5eX71-6fJCwi50ppmsSIpQIveYsbKSYGT4-qMW5h62Y5499Z8vjD2JsvH0oXuQHUqZxKuH6o7UnNlNt4jBhH9naL3QPdrFe2H4BrXcCrLCHyaA0RRSE/s320/003.png" width="213" /></a> <div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"></div><div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTRSFZLlaGM-mNPEpaSrZRfRHJPZY-WQfZMTXnVLXQOaCg08mK9_8LaC6hdyLyREKUMpccjzwuZWjvHVFU0Dui3WCCoGswMZAgRxwnLxvwcoUK0vIniJ-NcHT7H9FwRQKeoF5hCjiwh6I/s1600/001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="96" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTRSFZLlaGM-mNPEpaSrZRfRHJPZY-WQfZMTXnVLXQOaCg08mK9_8LaC6hdyLyREKUMpccjzwuZWjvHVFU0Dui3WCCoGswMZAgRxwnLxvwcoUK0vIniJ-NcHT7H9FwRQKeoF5hCjiwh6I/s320/001.png" style="filter: alpha(opacity=30); left: 178px; mozopacity: 0.3; opacity: 0.3; position: absolute; top: 400px; visibility: hidden;" width="64" /></a></div></div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com11tag:blogger.com,1999:blog-5139494440226094959.post-61644876687879280522012-05-17T10:05:00.002-07:002012-05-17T10:26:32.252-07:00How to use Logcat Backup file in SD card<div dir="ltr" style="text-align: left;" trbidi="on">I used sample application to Backup the Logcat file in SD card.First it create the Sample_log_file.txt in the SD card Location and then we give write to read the logcat file command like -d -f<br />
<br />
The following code is<br />
try {<br />
File filename = new File(Environment.getExternalStorageDirectory()+"/Sample_log_file.txt");<br />
filename.createNewFile();<br />
String cmd = "logcat -d -f "+filename.getAbsolutePath();<br />
Runtime.getRuntime().exec(cmd);<br />
} catch (IOException e) {<br />
e.printStackTrace(); <br />
} <br />
You must give the permission in AndroidManifest.xml<br />
<uses-permission android:name="android.permission.READ_LOGS"/><br />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><br />
<br />
Go and check the file in DDMS->open File Explorer->open Mnt(management)->SD Card->sample_log_file.txt<br />
<br />
<div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqLYjL-3Oas3G9QnGiqD0M7ke7_an4NtKD2pATrn3Hi5L_cMhHvU2gWPsRsJ4q1BlIQt5ypGvHeD0L8hMj7xhkBorWHverVPDP7e78DeZ0nLLUKs9RCJwOcoNm_CvuNUvOAOdRLaLqLuI/s1600/01.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" kba="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqLYjL-3Oas3G9QnGiqD0M7ke7_an4NtKD2pATrn3Hi5L_cMhHvU2gWPsRsJ4q1BlIQt5ypGvHeD0L8hMj7xhkBorWHverVPDP7e78DeZ0nLLUKs9RCJwOcoNm_CvuNUvOAOdRLaLqLuI/s320/01.png" width="213" /></a></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY9Nxxu4bvmZr05E9T6UYwT3G3hzwNQOY3vANO3deZYVLzUByE1dMG6wvNORKtM7_VQxKRONU0Y7UlZxvsjDvSB1xoAZph6y1x7MtUDcwnIYKBJ9UX9_C3-voQ78wOTpmJzeUmQlKx01c/s1600/logfile.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="183" kba="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY9Nxxu4bvmZr05E9T6UYwT3G3hzwNQOY3vANO3deZYVLzUByE1dMG6wvNORKtM7_VQxKRONU0Y7UlZxvsjDvSB1xoAZph6y1x7MtUDcwnIYKBJ9UX9_C3-voQ78wOTpmJzeUmQlKx01c/s320/logfile.png" width="320" /></a><br />
<br />
<br />
/ **Log file shown in the word**/<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgazO1fBVaAPPq7J1RuvNJPRE1y2DAmeVdOwNP31BVfT-unNmhQgbtVSmIjYwei2xM2VyV1P0SMvAHQQ5AomG_DLqOLFlUKxZL2ZGT7S8z_fsl6tRiQDQsvYK_NSBNF8h2PpJxRwFTxQgU/s1600/open_logfile.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="252" kba="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgazO1fBVaAPPq7J1RuvNJPRE1y2DAmeVdOwNP31BVfT-unNmhQgbtVSmIjYwei2xM2VyV1P0SMvAHQQ5AomG_DLqOLFlUKxZL2ZGT7S8z_fsl6tRiQDQsvYK_NSBNF8h2PpJxRwFTxQgU/s320/open_logfile.png" width="320" /></a><br />
<br />
</div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com4tag:blogger.com,1999:blog-5139494440226094959.post-980704554433904532012-05-05T03:42:00.000-07:002012-05-05T03:42:11.035-07:00Notification<div dir="ltr" style="text-align: left;" trbidi="on"><h2 style="text-align: left;"><u>How to use Notification in Android?</u></h2><br />
Android represent the Notifications by using Notification class.We have to create a notification by using NotificationManager class,it can be received from the Activity via getSystemService() method.<br />
<br />
<h4 style="text-align: left;">Eg: NotificationManager notificationManager = (NotificationManager)getSystemService (NOTIFICATION_SERVICE);</h4><br />
Here i use two edit text for giving the email and message and one button for create a notification.<br />
Main.xml<br />
<?xml version="1.0" encoding="utf-8"?><br />
<LinearLayout xmlns:android="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"<br />
android:layout_width="fill_parent"<br />
android:layout_height="fill_parent"<br />
android:orientation="vertical" ><br />
<EditText<br />
android:id="@+id/username_et"<br />
android:layout_width="200dp"<br />
android:layout_height="wrap_content"<br />
android:layout_gravity="center_horizontal"<br />
android:layout_marginTop="10dp" <br />
android:inputType="text"/><br />
<EditText<br />
android:id="@+id/mess_et"<br />
android:layout_width="200dp"<br />
android:layout_height="wrap_content"<br />
android:layout_gravity="center_horizontal"<br />
android:layout_marginTop="5dp"<br />
android:inputType="text" /><br />
<Button<br />
android:id="@+id/button1"<br />
android:layout_width="200dp"<br />
android:layout_height="wrap_content"<br />
android:onClick="createNotification"<br />
android:text="Create Notification" android:layout_gravity="center_horizontal"/><br />
<br />
</LinearLayout><br />
<a name='more'></a><br />
<br />
Another xml for receive the notification message UI, name as notification_receiver.xml<br />
<?xml version="1.0" encoding="utf-8"?><br />
<LinearLayout xmlns:android="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"<br />
android:layout_width="match_parent"<br />
android:layout_height="match_parent" ><br />
<TextView<br />
android:id="@+id/textView1"<br />
android:layout_width="wrap_content"<br />
android:layout_height="wrap_content"<br />
android:text="This is the result activity opened from the notification" ><br />
</TextView><br />
</LinearLayout><br />
<br />
<br />
Java class name NotificationActivity.java<br />
<br />
public class NotificationActivity extends Activity {<br />
EditText username_et,mess_et;<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.main);<br />
<br />
}<br />
public void createNotification(View view) {<br />
username_et=(EditText)findViewById(R.id.username_et);<br />
mess_et=(EditText)findViewById(R.id.mess_et);<br />
<br />
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);<br />
Notification notification = new Notification(R.drawable.mss,"A new notification", System.currentTimeMillis());<br />
// Hide the notification after its selected<br />
notification.flags |= Notification.FLAG_AUTO_CANCEL;<br />
Intent intent = new Intent(this, NotificationReceiver.class);<br />
PendingIntent activity = PendingIntent.getActivity(this, 0, intent, 0);<br />
notification.setLatestEventInfo(this, username_et.getText().toString(), mess_et.getText().toString(),activity);<br />
<br />
notification.number += 1;<br />
notificationManager.notify(0, notification);<br />
}<br />
}<br />
<br />
<br />
and finally NotificationReceiver.java class.<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.notification_receiver);<br />
}<br />
<br />
<br />
<div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXnWaiNzwTol-WMAm6fFbc2L0stK-F1k44LS687a9VkrRwF_CuV1jnAz02TcsxdQjQjXtd-c82IfR_FWAko1jeaWvhhdBTn5SHZ-4xlhYWmzN7ebVvbX7dAxWTvOPVoSWWmrQrHEkuA3I/s1600/1.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" mea="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXnWaiNzwTol-WMAm6fFbc2L0stK-F1k44LS687a9VkrRwF_CuV1jnAz02TcsxdQjQjXtd-c82IfR_FWAko1jeaWvhhdBTn5SHZ-4xlhYWmzN7ebVvbX7dAxWTvOPVoSWWmrQrHEkuA3I/s320/1.png" width="213" /></a></div> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1aBolVVzKtNpOh0CCf6SzI3KkO3Dyd1alX6spMn-MB5mT8MwBpGHnaB3l2m1yuo8xawIS2W2Y2Fhjc8pE4n-XhsvGTprprG_0aGR7dqk89chjIhLCDiiXnMf5Ee2Q5KmHo_DHwsCJZOM/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" mea="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1aBolVVzKtNpOh0CCf6SzI3KkO3Dyd1alX6spMn-MB5mT8MwBpGHnaB3l2m1yuo8xawIS2W2Y2Fhjc8pE4n-XhsvGTprprG_0aGR7dqk89chjIhLCDiiXnMf5Ee2Q5KmHo_DHwsCJZOM/s320/2.png" width="213" /></a><br />
<div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4McyIXquK-_KZJUMNgANYfyYcFMRdOsuRn8Naw-NmEaazuUKILIF3E7LQJzHLfuVjPcpCLj1vtqza2XKxb-hOH96EXH8UHR3gSji4hqBBwij4OkOdDODdrb2jz5oPkjN6Y__5pOZ6Da0/s1600/3.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" mea="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4McyIXquK-_KZJUMNgANYfyYcFMRdOsuRn8Naw-NmEaazuUKILIF3E7LQJzHLfuVjPcpCLj1vtqza2XKxb-hOH96EXH8UHR3gSji4hqBBwij4OkOdDODdrb2jz5oPkjN6Y__5pOZ6Da0/s320/3.png" width="213" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPpt_Qa-WwzxcXhJ9usqoyvk57h5H1Cm4aCu45wvcqPmKFefQzNwR_Y2WenVsqMdzxUxQ9QrS-bB6JvQqltIpUPoAgqoFhz3WhPcXXvWwxvHjW41n3ZLzNlbuptmldID8riraj9uWlAtU/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" mea="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPpt_Qa-WwzxcXhJ9usqoyvk57h5H1Cm4aCu45wvcqPmKFefQzNwR_Y2WenVsqMdzxUxQ9QrS-bB6JvQqltIpUPoAgqoFhz3WhPcXXvWwxvHjW41n3ZLzNlbuptmldID8riraj9uWlAtU/s320/4.png" width="212" /></a></div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><a href="http://www.ziddu.com/download/19312066/SampleNotification.rar.html" target="_blank">Download Full source code</a></div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"> </div></div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com3tag:blogger.com,1999:blog-5139494440226094959.post-5572977785429726272012-05-01T06:59:00.000-07:002012-05-01T06:59:36.370-07:00How to use Image can convert into ByteArray<div dir="ltr" style="text-align: left;" trbidi="on">How to Image can convert into ByteArray<br />
Here I used barcode image can convert into Byte Array and the Byte Array can reconvert into the original form.I used two Buttons,textview for values and one static image then ByteArrayOutputStream for conversion.<br />
Here java code ,The class name as ImageConversion.java<br />
<br />
public class ImageConvertScreen extends Activity implements OnClickListener {<br />
/** Called when the activity is first created. */<br />
Button img_byte,byte_img;<br />
ImageView image;<br />
TextView value;<br />
public ByteArrayOutputStream bos;<br />
public Bitmap bm;<br />
public byte[] bitmapdata;<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.main); <br />
image = (ImageView) findViewById(R.id.img_convert); <br />
value=(TextView)findViewById(R.id.convert_txt); <br />
img_byte =(Button)findViewById(R.id.img_byte);<br />
byte_img =(Button)findViewById(R.id.byte_img);<br />
img_byte.setOnClickListener(this);<br />
byte_img.setOnClickListener(this);<br />
<br />
<br />
bm = BitmapFactory.decodeResource(getResources(),R.drawable.barcode);<br />
bos = new ByteArrayOutputStream(); <br />
bm.compress(Bitmap.CompressFormat.JPEG, 40 , bos);<br />
<br />
<br />
}<br />
public void onClick(View v) {<br />
if (v == img_byte) { <br />
bitmapdata = bos.toByteArray();<br />
Log.w("Image Conversion", String.valueOf(bitmapdata.length));<br />
String converted_txt=""; <br />
for (int i = 0; i < bitmapdata.length; i++) { <br />
Log.w("Image Conversion", String.valueOf(bitmapdata[i]));<br />
converted_txt=converted_txt+bitmapdata[i]; <br />
} <br />
value.setText(converted_txt);<br />
value.setVisibility(View.VISIBLE);<br />
image.setVisibility(View.INVISIBLE);<br />
<br />
} else if (v==byte_img){<br />
bm = BitmapFactory.decodeByteArray(bitmapdata , 0, bitmapdata .length);<br />
image.setImageBitmap(bm);<br />
image.setVisibility(View.VISIBLE);<br />
value.setText("");<br />
value.setVisibility(View.INVISIBLE);<br />
Log.w("Image Conversion", "converted");<br />
<br />
}<br />
}<br />
<br />
}<br />
<br />
<br />
<a name='more'></a>main.xml<br />
<br />
<?xml version="1.0" encoding="utf-8"?><br />
<ScrollView xmlns:android="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"<br />
android:layout_width="fill_parent"<br />
android:layout_height="fill_parent"<br />
android:orientation="vertical" ><br />
<br />
<LinearLayout<br />
android:id="@+id/linearLayout1"<br />
android:layout_width="match_parent"<br />
android:layout_height="match_parent"<br />
android:orientation="vertical" ><br />
<Button<br />
android:id="@+id/img_byte"<br />
android:layout_width="200dp"<br />
android:layout_height="wrap_content"<br />
android:text="Image To Byte" android:layout_marginLeft="50dp"/><br />
<TextView<br />
android:id="@+id/convert_txt"<br />
android:layout_width="wrap_content"<br />
android:layout_height="wrap_content"<br />
android:text="bytes"<br />
android:textAppearance="?android:attr/textAppearanceLarge" android:visibility="invisible"/><br />
<ImageView<br />
android:id="@+id/img_convert"<br />
android:layout_width="match_parent"<br />
android:layout_height="wrap_content"<br />
android:layout_weight="0.16"<br />
android:src="@drawable/barcode" android:layout_marginBottom="5dp"/><br />
<LinearLayout<br />
android:id="@+id/linearLayout2"<br />
android:layout_width="match_parent"<br />
android:layout_height="wrap_content" ><br />
<Button<br />
android:id="@+id/byte_img"<br />
android:layout_width="200dp"<br />
android:layout_height="wrap_content"<br />
android:text="Byte To Image" android:layout_marginLeft="50dp"/><br />
</LinearLayout><br />
<br />
</LinearLayout><br />
</ScrollView><br />
<br />
<br />
<br />
<div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBtqrigsLy7mv_1ddVyoM8oWUyiuWbRo1-hiWsYrDcQTNUCEk9Rt8K5k6OUNXmcDP2ps_PIv-wsmsHmmP889kVN_H9ajVrVNr6RZGpBBu9e3hGeuKUjKAAlAUmNicBh-FZxZk_jjg7KNw/s1600/1.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" mea="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBtqrigsLy7mv_1ddVyoM8oWUyiuWbRo1-hiWsYrDcQTNUCEk9Rt8K5k6OUNXmcDP2ps_PIv-wsmsHmmP889kVN_H9ajVrVNr6RZGpBBu9e3hGeuKUjKAAlAUmNicBh-FZxZk_jjg7KNw/s320/1.png" width="213" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvilZlBTxAGmnvRe4TASG7KFEjbCJcAbieo7w764oG5UJGV2izBpIBpEKm8OEWwyJFkB7e06LgazcQlcvJy7s5KgUhgNXUE8g-Kcc9P8IoP6hboiSJO464NVy02Xc3qQ4X0iwEw2ex6r0/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" mea="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvilZlBTxAGmnvRe4TASG7KFEjbCJcAbieo7w764oG5UJGV2izBpIBpEKm8OEWwyJFkB7e06LgazcQlcvJy7s5KgUhgNXUE8g-Kcc9P8IoP6hboiSJO464NVy02Xc3qQ4X0iwEw2ex6r0/s320/2.png" width="213" /></a></div><div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><br />
</div><div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><br />
</div><div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><br />
</div><div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><br />
</div><div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; 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;"><img border="0" height="320" mea="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpjgxVtXZzv0S2Nk6s5OBjESG8ffRYRONjZvHiciyLeCa1uFzt9ncYrbVEWlqIluiGFw9kY6qwJM4VZo3L-HiXtmthLl_OBZn0mu4IIABZXLVQV0AGP5ub2xzB3CoPTH3a6442cVbmjvg/s320/3.png" width="213" /></div><div class="separator" style="clear: both; text-align: center;"><a href="http://www.ziddu.com/download/19281653/Imageconversion.zip.html">Downloa Full source code Here</a></div><div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><br />
</div></div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com5tag:blogger.com,1999:blog-5139494440226094959.post-63592333340706437072011-09-08T12:08:00.000-07:002011-09-08T12:09:41.925-07:00Phone internal and External storage usage<div dir="ltr" style="text-align: left;" trbidi="on"><div style="text-align: left;"></div><div style="text-align: left;"></div><div style="text-align: left;"></div><div style="text-align: left;"></div><div style="text-align: left;">How to check Phone internal/external memory usage using programmatically in android</div><div style="text-align: left;"><br />
Android have a default API to check the phone internal and external memory usage.In My application<br />
i used both as well as memory informations.The internal and external both are same,just to change <br />
the Environment path.</div><div style="text-align: left;">Internal=StatFs stat=new StatFs(Environment.getDataDirectory().getPath()); <br />
External=StatFs stat=new StatFs(Environment.getExternalStorageDirectory().getPath());</div><div style="text-align: left;">The user can just hit the seek bar its show the occupied space in bytes,availabel space in MB,<br />
Before that first to create new emulatore with size can set it in Kb or MB.I used 24MB.</div><div style="text-align: left;">public class Internal_Storage extends Activity implements SeekBar.OnSeekBarChangeListener{<br />
SeekBar sb;<br />
int progress;<br />
Boolean value=false;<br />
Button press_btn;<br />
TextView availabel_in_tv,occupied_in_tv,tv;<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.internal_storage);<br />
availabel_in_tv=(TextView)findViewById(R.id.availabel_in_tv);<br />
occupied_in_tv=(TextView)findViewById(R.id.occupied_in_tv);<br />
final TextView reading = (TextView) findViewById(R.id.textView1);<br />
sb = (SeekBar)findViewById(R.id.sb);<br />
sb.setMax(100);<br />
@Override<br />
public void onProgressChanged(SeekBar seekBar, int size, boolean fromtouch) {<br />
reading.setText("Loading "+size+"% ");<br />
method1();<br />
<br />
}<br />
@Override<br />
public void onStartTrackingTouch(SeekBar seekBar) {<br />
<br />
}<br />
@Override<br />
public void onStopTrackingTouch(SeekBar seekBar) {<br />
}<br />
});</div><div style="text-align: left;"> }<br />
@Override<br />
public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {<br />
}<br />
@Override<br />
public void onStartTrackingTouch(SeekBar seekBar) {<br />
// TODO Auto-generated method stub<br />
<br />
}<br />
@Override<br />
public void onStopTrackingTouch(SeekBar seekBar) {<br />
// TODO Auto-generated method stub<br />
}<br />
public String method1(){</div><div style="text-align: left;">StatFs stat=new StatFs(Environment.getDataDirectory().getPath()); //**ITS show phone internal storage size**//<br />
or</div><div style="text-align: left;">StatFs stat=new StatFs(Environment.getExternalStorageDirectory().getPath()); //**ITS show phone SD card storage size**//<br />
<br />
int blockSize = stat.getBlockSize();<br />
int availableBlocks = stat.getAvailableBlocks(); <br />
System.out.println("statFs:"+"=" +stat);<br />
System.out.println("SPACE AVAILABEL :"+"=" +availableBlocks);<br />
//occup_size_tv.setTextSize(availableBlocks);<br />
occupied_in_tv.setText(Integer.toString(availableBlocks));<br />
System.out.println("SIZE OCCUPY:"+"=" +blockSize);<br />
<br />
availabel_in_tv.setText((Formatter.formatFileSize(this,availableBlocks*blockSize)));<br />
System.out.println("FREE SPACE:="+Formatter.formatFileSize(this,availableBlocks*blockSize));<br />
System.out.println("FREE SPACE IN BYTES:"+availableBlocks +1042.f*1024.f);<br />
// bytesAvailable / (1024.f * 1024.f);<br />
return Formatter.formatShortFileSize(this, availableBlocks * blockSize);<br />
<br />
<br />
}<br />
the same code repeated for internal and external.class</div><div style="text-align: left;">Then next class Memory_Information.class,its show total memory usage details</div><div style="text-align: left;">public class Memory_Information extends Activity {<br />
/** Called when the activity is first created. */<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.memory_information); <br />
TextView CPUinfo = (TextView) findViewById(R.id.textView1);<br />
CPUinfo.setText(ReadCPUinfo()); <br />
}<br />
private String ReadCPUinfo()<br />
{<br />
ProcessBuilder cmd;<br />
<br />
StringBuffer strMemory = new StringBuffer();<br />
//final ActivityManager activityManager =(ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);<br />
<br />
ActivityManager actvityManager = (ActivityManager) this.getSystemService( ACTIVITY_SERVICE );<br />
ActivityManager.MemoryInfo mInfo = new ActivityManager.MemoryInfo ();<br />
actvityManager.getMemoryInfo( mInfo );<br />
<br />
strMemory.append("Available Memory : ");<br />
strMemory.append(mInfo.availMem);<br />
strMemory.append("\n");<br />
strMemory.append("\n");<br />
<br />
String result=strMemory.toString();<br />
<br />
try{<br />
String[] args = {"/system/bin/cat", "/proc/meminfo"};<br />
cmd = new ProcessBuilder(args);<br />
<br />
Process process = cmd.start();<br />
InputStream in = process.getInputStream();<br />
byte[] re = new byte[1024];<br />
while(in.read(re) != -1){<br />
System.out.println(new String(re));<br />
result = result + new String(re);<br />
}<br />
in.close();<br />
} catch(IOException ex){<br />
ex.printStackTrace();<br />
}<br />
return result;<br />
}<br />
}</div><div style="text-align: left;">you may check in console also or u can clarify the usage in phones settings. go to settings/SD card & phone storage/</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">How to check Phone internal/external memory usage using programmatically in android</div><div style="text-align: left;"><br />
Android have a default API to check the phone internal and external memory usage.In My application<br />
i used both as well as memory informations.The internal and external both are same,just to change <br />
the Environment path.</div><div style="text-align: left;">Internal=StatFs stat=new StatFs(Environment.getDataDirectory().getPath()); <br />
External=StatFs stat=new StatFs(Environment.getExternalStorageDirectory().getPath());</div><div style="text-align: left;">The user can just hit the seek bar its show the occupied space in bytes,availabel space in MB,<br />
Before that first to create new emulatore with size can set it in Kb or MB.I used 24MB.</div><div style="text-align: left;">public class Internal_Storage extends Activity implements SeekBar.OnSeekBarChangeListener{<br />
SeekBar sb;<br />
int progress;<br />
Boolean value=false;<br />
Button press_btn;<br />
TextView availabel_in_tv,occupied_in_tv,tv;<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.internal_storage);<br />
availabel_in_tv=(TextView)findViewById(R.id.availabel_in_tv);<br />
occupied_in_tv=(TextView)findViewById(R.id.occupied_in_tv);<br />
final TextView reading = (TextView) findViewById(R.id.textView1);<br />
sb = (SeekBar)findViewById(R.id.sb);<br />
sb.setMax(100);<br />
@Override<br />
public void onProgressChanged(SeekBar seekBar, int size, boolean fromtouch) {<br />
reading.setText("Loading "+size+"% ");<br />
method1();<br />
<br />
}<br />
@Override<br />
public void onStartTrackingTouch(SeekBar seekBar) {<br />
<br />
}<br />
@Override<br />
public void onStopTrackingTouch(SeekBar seekBar) {<br />
}<br />
});</div><div style="text-align: left;"> }<br />
@Override<br />
public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {<br />
}<br />
@Override<br />
public void onStartTrackingTouch(SeekBar seekBar) {<br />
// TODO Auto-generated method stub<br />
<br />
}<br />
@Override<br />
public void onStopTrackingTouch(SeekBar seekBar) {<br />
// TODO Auto-generated method stub<br />
}<br />
public String method1(){</div><div style="text-align: left;">StatFs stat=new StatFs(Environment.getDataDirectory().getPath()); //**ITS show phone internal storage size**//<br />
or</div><div style="text-align: left;">StatFs stat=new StatFs(Environment.getExternalStorageDirectory().getPath()); //**ITS show phone SD card storage size**//<br />
<br />
int blockSize = stat.getBlockSize();<br />
int availableBlocks = stat.getAvailableBlocks(); <br />
System.out.println("statFs:"+"=" +stat);<br />
System.out.println("SPACE AVAILABEL :"+"=" +availableBlocks);<br />
//occup_size_tv.setTextSize(availableBlocks);<br />
occupied_in_tv.setText(Integer.toString(availableBlocks));<br />
System.out.println("SIZE OCCUPY:"+"=" +blockSize);<br />
<br />
availabel_in_tv.setText((Formatter.formatFileSize(this,availableBlocks*blockSize)));<br />
System.out.println("FREE SPACE:="+Formatter.formatFileSize(this,availableBlocks*blockSize));<br />
System.out.println("FREE SPACE IN BYTES:"+availableBlocks +1042.f*1024.f);<br />
// bytesAvailable / (1024.f * 1024.f);<br />
return Formatter.formatShortFileSize(this, availableBlocks * blockSize);<br />
<br />
<br />
}<br />
the same code repeated for internal and external.class</div><div style="text-align: left;">Then next class Memory_Information.class,its show total memory usage details</div><div style="text-align: left;">public class Memory_Information extends Activity {<br />
/** Called when the activity is first created. */<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.memory_information); <br />
TextView CPUinfo = (TextView) findViewById(R.id.textView1);<br />
CPUinfo.setText(ReadCPUinfo()); <br />
}<br />
private String ReadCPUinfo()<br />
{<br />
ProcessBuilder cmd;<br />
<br />
StringBuffer strMemory = new StringBuffer();<br />
//final ActivityManager activityManager =(ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);<br />
<br />
ActivityManager actvityManager = (ActivityManager) this.getSystemService( ACTIVITY_SERVICE );<br />
ActivityManager.MemoryInfo mInfo = new ActivityManager.MemoryInfo ();<br />
actvityManager.getMemoryInfo( mInfo );<br />
<br />
strMemory.append("Available Memory : ");<br />
strMemory.append(mInfo.availMem);<br />
strMemory.append("\n");<br />
strMemory.append("\n");<br />
<br />
String result=strMemory.toString();<br />
<br />
try{<br />
String[] args = {"/system/bin/cat", "/proc/meminfo"};<br />
cmd = new ProcessBuilder(args);<br />
<br />
Process process = cmd.start();<br />
InputStream in = process.getInputStream();<br />
byte[] re = new byte[1024];<br />
while(in.read(re) != -1){<br />
System.out.println(new String(re));<br />
result = result + new String(re);<br />
}<br />
in.close();<br />
} catch(IOException ex){<br />
ex.printStackTrace();<br />
}<br />
return result;<br />
}<br />
}</div><div style="text-align: left;">you may check in console also or u can clarify the usage in phones settings. go to settings/SD card & phone storage/</div><div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDjaw-zC850Ws7jlgPYTKkNskrKNNeiRM4vGb7afFcvj0PGfQFKrYwO3WIm0l6XZZJzQLCvoAsYsPDmamFbGyIT8EkBqEEkZ3Yom95DvcCl7I1x4VrNBpOpVZctUGNGb0jOCcyvnAI14M/s1600/homescreen.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" nba="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDjaw-zC850Ws7jlgPYTKkNskrKNNeiRM4vGb7afFcvj0PGfQFKrYwO3WIm0l6XZZJzQLCvoAsYsPDmamFbGyIT8EkBqEEkZ3Yom95DvcCl7I1x4VrNBpOpVZctUGNGb0jOCcyvnAI14M/s320/homescreen.png" width="213" /></a></div><div style="text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq7qRwvzjTkbz1bnUAdhzJ2TYurbQo_VUCNFHGF3wSj99qmDtfO-GMr5BjwsqR2QNQYjFHRoUYHkFL-6Z0iGuxef-6UBQwE_mIwI2RLKx0lT8XkGlp6IoPgfCOugoy7P8H4ZYE_eC1ZGY/s1600/internal.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" nba="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq7qRwvzjTkbz1bnUAdhzJ2TYurbQo_VUCNFHGF3wSj99qmDtfO-GMr5BjwsqR2QNQYjFHRoUYHkFL-6Z0iGuxef-6UBQwE_mIwI2RLKx0lT8XkGlp6IoPgfCOugoy7P8H4ZYE_eC1ZGY/s320/internal.png" width="213" /></a> </div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><br />
</div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsLOvUXfkcsraP8eWREw8vo0Soc4B7xXPl3om5FE_TStZEfig6L7gfieTzNLgO4_7ISh3qGUH6lWn7H3KAHRoCQSOVptNj2l1D4SIiR-nQxUL9uJzWW86F8GAu85nImHF8LKzVV5XfeLo/s1600/external.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" nba="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsLOvUXfkcsraP8eWREw8vo0Soc4B7xXPl3om5FE_TStZEfig6L7gfieTzNLgO4_7ISh3qGUH6lWn7H3KAHRoCQSOVptNj2l1D4SIiR-nQxUL9uJzWW86F8GAu85nImHF8LKzVV5XfeLo/s320/external.png" width="213" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOdoQ5JdfM-32Dn-472ffSO9e_2lQdOTHJKSAMVK841Nh2K7z5nWP9X2i1dqB1Qa-r15OFhHFjNrGyzJEZDZvK2gv-CpTaPoKdYaU07A0tKCTDHSrws6qyQRu1gdMzzVhOwOfozrxowUc/s1600/memoryinfo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" nba="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOdoQ5JdfM-32Dn-472ffSO9e_2lQdOTHJKSAMVK841Nh2K7z5nWP9X2i1dqB1Qa-r15OFhHFjNrGyzJEZDZvK2gv-CpTaPoKdYaU07A0tKCTDHSrws6qyQRu1gdMzzVhOwOfozrxowUc/s320/memoryinfo.png" width="213" /></a><br />
<br />
<a href="http://www.ziddu.com/download/16326313/SamplePhoneStorageApp.rar.html">Download full source code</a></div></div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com5tag:blogger.com,1999:blog-5139494440226094959.post-76289096636014014992011-08-17T11:13:00.000-07:002011-08-17T11:13:57.111-07:00How to create contextmenu in android<div dir="ltr" style="text-align: left;" trbidi="on"><div style="text-align: left;"></div><div closure_uid_sduch="165" style="text-align: left;">creating a context menu is very simple,Here i use Textview name as press me on long,when the textview is pressed for long,its open a context menu.In that context menu i use New,edit,copy,paste and delete.</div><div closure_uid_sduch="166" style="text-align: left;">Inside of the onCreate Method,we have to registerForcontextmenu(controls name)<br />
Example: press=(TextView)findViewById(R.id.press_tv);<br />
registerForContextMenu(press); </div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; text-align: left;">Then we need to override the onCreateContextMenu method to create the menu: <br />
@Override <br />
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) { <br />
super.onCreateContextMenu(menu, v, menuInfo); <br />
menu.setHeaderTitle("Context Menu"); <br />
menu.add(0, v.getId(), 0, "New"); <br />
menu.add(0, v.getId(), 0, "Edit"); <br />
menu.add(0, v.getId(), 0, "copy"); <br />
menu.add(0, v.getId(), 0, "Paste"); <br />
menu.add(0, v.getId(), 0, "Delete"); <br />
} </div><div closure_uid_sduch="128" style="text-align: left;">when the item is selected,that items action can perform here,using onContextItemSelected method.<br />
Here i use function for only "New" just passing the Intent,If u want some functions mean, you write a else if () and perform some more actions there.<br />
@Override <br />
public boolean onContextItemSelected(MenuItem item) { <br />
if(item.getTitle()=="New"){<br />
Intent np=new Intent(getApplicationContext(),NewPage.class);<br />
startActivity(np);<br />
function1(item.getItemId());} <br />
else if(item.getTitle()=="Save"){<br />
//Some funtion perform here//<br />
function2(item.getItemId());} <br />
else {return false;} <br />
return true; <br />
}<br />
create a method for function1.... function n,<br />
private void function2(int itemId) {<br />
// TODO Auto-generated method stub<br />
<br />
}<br />
private void function1(int itemId) {<br />
// TODO Auto-generated method stub<br />
<br />
} </div><div closure_uid_sduch="128" style="text-align: left;">Result is:</div><div closure_uid_sduch="128" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; text-align: left;"> </div> <table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyGChVYrjdBvEaTkk5V3GZwFmArhKKVuVpUIATh_PTVAn-aO5GK9MVOsY9XnBnJopCWzD39Gdp2T1JMocYMjmGIbzdtFYgmtITki3vuiGZDi_cqqsoBdNRYYjiSFejuK8Y-zEUm3mQJrQ/s1600/1.png" imageanchor="1" style="clear: left; cssfloat: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="320" qaa="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyGChVYrjdBvEaTkk5V3GZwFmArhKKVuVpUIATh_PTVAn-aO5GK9MVOsY9XnBnJopCWzD39Gdp2T1JMocYMjmGIbzdtFYgmtITki3vuiGZDi_cqqsoBdNRYYjiSFejuK8Y-zEUm3mQJrQ/s320/1.png" width="213" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">pic1</td></tr>
</tbody></table> <table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW8XMZop5-6-Op9492JJ3LWWjuEno-WTykgk_yF_PWpNaMBdNPlPIhzcT-RYASTZOQuPFNziAu27u8PgrNLbEHXtP0591mWz7zkkSfr-6vWyHI94iNogXB1CfERw0piBvecG7vHHj0KQ4/s1600/2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" qaa="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW8XMZop5-6-Op9492JJ3LWWjuEno-WTykgk_yF_PWpNaMBdNPlPIhzcT-RYASTZOQuPFNziAu27u8PgrNLbEHXtP0591mWz7zkkSfr-6vWyHI94iNogXB1CfERw0piBvecG7vHHj0KQ4/s320/2.png" width="213" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">pic2</td></tr>
</tbody></table> <div class="separator" closure_uid_sduch="938" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"> </div><div class="separator" closure_uid_sduch="938" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"> </div> <table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6l4ue0MsIMkMBVG6jKnmK1PR6kEsKI7hj4FHOCjY_YXv1dHaKv_Fk5NDc2ZTKOzGNoftn77-UggPcxGfsnk7A2W5MiM6NgRWMa93S5dsMrVAtOgk8KYmMwxMNKe65cLUBRSTugcIwBmI/s1600/3.png" imageanchor="1" style="clear: left; cssfloat: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="320" qaa="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6l4ue0MsIMkMBVG6jKnmK1PR6kEsKI7hj4FHOCjY_YXv1dHaKv_Fk5NDc2ZTKOzGNoftn77-UggPcxGfsnk7A2W5MiM6NgRWMa93S5dsMrVAtOgk8KYmMwxMNKe65cLUBRSTugcIwBmI/s320/3.png" width="213" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">pic3</td></tr>
</tbody></table> <table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2D7kU6mwJTRKcLCyM2FI4iO4gK4Rd-dW0hjz870-bHfgDrV5kg-y07I0sJr0POTuiNP6ezHIYz0MsLrXu8nuuZN39kViNVHEOWRPmQ3MXX3bQBBi2GBl3blVJ9PzM2KGYl2QKvqUzn_g/s1600/4.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" qaa="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2D7kU6mwJTRKcLCyM2FI4iO4gK4Rd-dW0hjz870-bHfgDrV5kg-y07I0sJr0POTuiNP6ezHIYz0MsLrXu8nuuZN39kViNVHEOWRPmQ3MXX3bQBBi2GBl3blVJ9PzM2KGYl2QKvqUzn_g/s320/4.png" width="213" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">pic4</td></tr>
</tbody></table><a href="http://www.ziddu.com/download/16083199/SampleContextMenu.rar.html">Download full source code</a> </div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com5tag:blogger.com,1999:blog-5139494440226094959.post-44588585772821393512011-08-05T09:49:00.000-07:002011-08-05T09:49:01.653-07:00How to create FeedBack Form inside of the customDialogBox?<div dir="ltr" style="text-align: left;" trbidi="on">How to create a form in dialog box,Here i use sample feed back form inside of the custom dialogbox,First u have to create a button in main.xml file,Because when the button is press ,FeedBack Form can open in customdialogbox,so thats why i had put a Button(Press Dialog).After that you also create a new xml file name as dialog.xml,In that xml ,i use Name,Mail,Comment and two buttons like send and cancel.<br />
<div closure_uid_squxoz="130">code for dialog.xml<br />
<?xml version="1.0" encoding="utf-8"?><br />
<LinearLayout<br />
xmlns:android="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"<br />
android:layout_width="match_parent"<br />
android:orientation="vertical" android:layout_height="wrap_content"><br />
<LinearLayout android:id="@+id/linearLayout1" android:layout_height="wrap_content" android:layout_width="match_parent"><br />
<TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Name" android:textSize="15dp" android:layout_marginLeft="10dp" android:layout_marginTop="5dp"></TextView><br />
<EditText android:id="@+id/editText1" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:layout_width="200dp" android:layout_marginLeft="16dp"></EditText><br />
</LinearLayout><br />
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/linearLayout2"><br />
<TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Mail Id:" android:layout_marginTop="5dp" android:layout_marginLeft="5dp"></TextView><br />
<EditText android:id="@+id/editText2" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:layout_width="200dp" android:layout_marginLeft="16dp"></EditText><br />
</LinearLayout><br />
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/linearLayout3"><br />
<TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Comment" android:layout_marginLeft="5dp" android:layout_marginTop="5dp"></TextView><br />
<EditText android:id="@+id/editText3" android:layout_height="100dp" android:layout_width="200dp"></EditText><br />
</LinearLayout><br />
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/linearLayout4"><br />
<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Send" android:layout_marginLeft="70dp"></Button><br />
<Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Cancel"></Button><br />
</LinearLayout><br />
</LinearLayout></div>Then i have to create a main class name as FeedbackFormusingInsideDialogBox.java<br />
static final int CUSTOM_DIALOG_ID = 0;<br />
Button customDialog_Dismiss;<br />
The class have to declare as a <br />
its a very few line code to creat a dialogbox.Just button press click listener,Dialog onCreateDialog and cancel button listener.<br />
here i put full code .just check it<br />
<div closure_uid_squxoz="129"><br />
public class FeedbackFormusingInsideDialogBox extends Activity {<br />
static final int CUSTOM_DIALOG_ID = 0;<br />
Button customDialog_Dismiss;<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.main); <br />
Button buttonStartDialog = (Button)findViewById(R.id.startdialog);<br />
buttonStartDialog.setOnClickListener(new Button.OnClickListener(){ <br />
@Override<br />
public void onClick(View arg0) {<br />
// TODO Auto-generated method stub<br />
showDialog(CUSTOM_DIALOG_ID);<br />
}<br />
});<br />
<br />
} <br />
private Button.OnClickListener customDialog_DismissOnClickListener = new Button.OnClickListener(){ <br />
@Override<br />
public void onClick(View arg0) {<br />
// TODO Auto-generated method stub<br />
dismissDialog(CUSTOM_DIALOG_ID);<br />
} <br />
}; <br />
@Override<br />
protected Dialog onCreateDialog(int id) {<br />
// TODO Auto-generated method stub<br />
Dialog dialog = null;;<br />
switch(id) {<br />
case CUSTOM_DIALOG_ID:<br />
dialog = new Dialog(this); <br />
dialog.setContentView(R.layout.dialogbox);<br />
dialog.setTitle("Feed Back Form");<br />
customDialog_Dismiss = (Button)dialog.findViewById(R.id.button2);<br />
customDialog_Dismiss.setOnClickListener(customDialog_DismissOnClickListener);<br />
break;<br />
}<br />
return dialog;<br />
} <br />
}</div><div closure_uid_squxoz="129">Result :</div><br />
<div class="separator" closure_uid_squxoz="188" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgj4uUpHWKUdEmW6LJvHp0qdYpIrqmRQRBYLMo0DfEUFfhHQ2GJ4LR6f8PzLPDoxvn-cvMllXZgvYcSEViKoiJQrBl1iV9t9MiV175Hu0m3GqY_OyLkLcyrO3UqOs_HtKWMVB32vdh4CU/s1600/1.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgj4uUpHWKUdEmW6LJvHp0qdYpIrqmRQRBYLMo0DfEUFfhHQ2GJ4LR6f8PzLPDoxvn-cvMllXZgvYcSEViKoiJQrBl1iV9t9MiV175Hu0m3GqY_OyLkLcyrO3UqOs_HtKWMVB32vdh4CU/s320/1.png" t$="true" width="213" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglETm4AqwM9eEhf_MH5NsppXRs9Sq4R5BxZAcIpCuvrfKYe_p-0Dt5564trMFjkF7To_LsuMi8y4Xh0auC0mcULJ-WmZMFU9uTpffJ58Xbj32x16a2wO3Y8gAKicUaH_NTp90ge6eIDeg/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglETm4AqwM9eEhf_MH5NsppXRs9Sq4R5BxZAcIpCuvrfKYe_p-0Dt5564trMFjkF7To_LsuMi8y4Xh0auC0mcULJ-WmZMFU9uTpffJ58Xbj32x16a2wO3Y8gAKicUaH_NTp90ge6eIDeg/s320/2.png" t$="true" width="213" /></a></div><div class="separator" closure_uid_squxoz="188" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><br />
</div><div class="separator" closure_uid_squxoz="188" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><br />
</div><div class="separator" closure_uid_squxoz="188" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><a href="http://www.ziddu.com/download/15944097/FeedbackFormInsideCustomDailog.rar.html">Download full source code</a></div><div closure_uid_squxoz="129"><br />
</div></div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com11tag:blogger.com,1999:blog-5139494440226094959.post-52235468943078902722011-08-02T11:26:00.000-07:002011-08-02T11:26:46.283-07:00How to use swipe in android?<div dir="ltr" style="text-align: left;" trbidi="on"><div closure_uid_17p442="138">Swipe is otherwise called as a Fling. Its a touch free movement in android.</div><div closure_uid_17p442="138">Before that we have set some SWIPE MIN,MAX Distance,Threshold_velosity and as well as path.<br />
private static final int SWIPE_MIN_DISTANCE = 120;<br />
private static final int SWIPE_MAX_OFF_PATH = 250;<br />
private static final int SWIPE_THRESHOLD_VELOCITY = 200;<br />
private GestureDetector gestureDetector;<br />
View.OnTouchListener gestureListener;<br />
private Animation slideLeftIn;<br />
private Animation slideLeftOut;<br />
private Animation slideRightIn;<br />
private Animation slideRightOut;<br />
private ViewFlipper viewFlipper;</div><div closure_uid_17p442="138">Next step is to write a code inside of the onCreate Method<br />
setContentView(R.layout.main);<br />
viewFlipper = (ViewFlipper)findViewById(R.id.flipper);<br />
slideLeftIn = AnimationUtils.loadAnimation(this, R.anim.slide_left_in);<br />
slideLeftOut = AnimationUtils.loadAnimation(this, R.anim.slide_left_out);<br />
slideRightIn = AnimationUtils.loadAnimation(this, R.anim.slide_right_in);<br />
slideRightOut = AnimationUtils.loadAnimation(this, R.anim.slide_right_out);<br />
<br />
gestureDetector = new GestureDetector(new MyGestureDetector());<br />
gestureListener = new View.OnTouchListener() {<br />
public boolean onTouch(View v, MotionEvent event) {<br />
if (gestureDetector.onTouchEvent(event)) {<br />
return true;<br />
}<br />
return false;<br />
}<br />
};</div><div closure_uid_17p442="138">You will need to extend SimpleOnGestureListener to implement your own handling on swipe/fling action:</div><div closure_uid_17p442="138"><br />
class MyGestureDetector extends SimpleOnGestureListener {<br />
@Override<br />
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {<br />
try {<br />
if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)<br />
return false;<br />
// right to left swipe<br />
if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {<br />
viewFlipper.setInAnimation(slideLeftIn);<br />
viewFlipper.setOutAnimation(slideLeftOut);<br />
viewFlipper.showNext();<br />
} else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {<br />
viewFlipper.setInAnimation(slideRightIn);<br />
viewFlipper.setOutAnimation(slideRightOut);<br />
viewFlipper.showPrevious();<br />
}<br />
} catch (Exception e) {<br />
// nothing<br />
}<br />
return false;<br />
}<br />
}</div><div closure_uid_17p442="138">At last, you need to make sure in your activity, you catch the gesture event by overriding onTouch() method:<br />
</div><div closure_uid_17p442="138">@Override<br />
public boolean onTouchEvent(MotionEvent event) {<br />
if (gestureDetector.onTouchEvent(event))<br />
return true;<br />
else<br />
return false;<br />
}<br />
Here i use viewflipper,two LinearLayouts and two Buttons in main.xml file you have to set as <ViewFlipper xmlns:android="http://......" like this</div><div closure_uid_17p442="138"><br />
</div><div closure_uid_17p442="138"><?xml version="1.0" encoding="utf-8"?><br />
<ViewFlipper xmlns:android="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"<br />
android:id="@+id/flipper"<br />
android:layout_width="fill_parent" <br />
android:layout_height="fill_parent"><br />
<br />
<LinearLayout<br />
android:layout_width="fill_parent" android:layout_height="70dp" android:background="#E2A9F3"><br />
<TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="30dp" android:layout_marginTop="10dp" android:text="Swipe Me" android:textSize="20dp" android:textColor="#DF0101"></TextView><br />
</LinearLayout> <br />
<LinearLayout<br />
android:layout_width="fill_parent" android:layout_height="60dp" android:background="#585858"><br />
<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Back"></Button><br />
<Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Next"></Button><br />
</LinearLayout> <br />
</ViewFlipper><br />
At last thing u have to create a new folder and set name as anim or what u wish ,u give it.In that folder you have to create a xml for Left_in,Left_out,Right_in and right_out and set the values.<br />
name:slide_left_in.xml<br />
<set xmlns:android="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"><br />
<translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="800"/><br />
</set></div><div closure_uid_17p442="138">name:slide_left_out.xml<br />
<set xmlns:android="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"><br />
<translate android:fromXDelta="0" android:toXDelta="-100%p" android:duration="800"/><br />
</set></div><div closure_uid_17p442="138">name:slide_right_in.xml<br />
<set xmlns:android="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"><br />
<translate android:fromXDelta="-100%p" android:toXDelta="0" android:duration="800"/><br />
</set></div><div closure_uid_17p442="138">name:slide_right_out.xml<br />
<set xmlns:android="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"><br />
<translate android:fromXDelta="0" android:toXDelta="100%p" android:duration="800"/><br />
</set></div><div closure_uid_17p442="138"><br />
</div><div closure_uid_17p442="138">Result:</div><div closure_uid_17p442="138" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZje3DVMIpPwUDLGVfngCb1pjo3mHbDYQ8Vg5bF_DI0HqujKJvZIn4kGr404kVW2GxpaiViNdkT_ThLWt_UPNimbxrRu1PoHom_6PSa0aSPzvJGecBCTywT0j-jN42etYOhZyFQrhTvf8/s1600/swipe.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZje3DVMIpPwUDLGVfngCb1pjo3mHbDYQ8Vg5bF_DI0HqujKJvZIn4kGr404kVW2GxpaiViNdkT_ThLWt_UPNimbxrRu1PoHom_6PSa0aSPzvJGecBCTywT0j-jN42etYOhZyFQrhTvf8/s320/swipe.png" t$="true" width="213" /></a> </div><div closure_uid_17p442="138" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjR1HW97GljbPJMUCk1ClLsrbPqy_VfI8QK2WnkGOcNZ34kfeRTuUOANKJ0QCu8RM7J7IDMRsOCR9mtaZ847RR6-qm_EeRUe99bJX9QTFgODFQ-VfZ_Wb8Uc4oakE2p2y-AoyWz4Kx4Zs/s1600/nextswipe.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjR1HW97GljbPJMUCk1ClLsrbPqy_VfI8QK2WnkGOcNZ34kfeRTuUOANKJ0QCu8RM7J7IDMRsOCR9mtaZ847RR6-qm_EeRUe99bJX9QTFgODFQ-VfZ_Wb8Uc4oakE2p2y-AoyWz4Kx4Zs/s320/nextswipe.png" t$="true" width="213" /></a></div><div closure_uid_17p442="138" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><a href="http://www.ziddu.com/download/15909470/Swipe.rar.html">Download full source code:</a></div><div closure_uid_17p442="138" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div></div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com2tag:blogger.com,1999:blog-5139494440226094959.post-67280329460477987152011-08-01T10:23:00.000-07:002011-08-01T10:23:38.957-07:00How to use Menu Option in Android?<div dir="ltr" style="text-align: left;" trbidi="on"><div closure_uid_ml60t4="137" style="text-align: left;">Its a very simple way to use menu option in android, just only four line to write it. first u have to create new folder and name as menu</div><div closure_uid_ml60t4="137" style="text-align: left;">example res/menu/sample.xml.</div><div closure_uid_ml60t4="137" style="text-align: left;">give some options what u want ,Here i gave file,open,save and edit</div><div closure_uid_ml60t4="137" style="text-align: left;"><br />
</div><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;"><div align="left"><?</div><div align="left"><</div></span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">xml</span></span><span style="font-size: x-small;"> </span><span style="color: #7f007f; font-size: x-small;"><span style="color: #7f007f; font-size: x-small;">version</span></span><span style="font-size: x-small;">=</span><i><span style="color: #2a00ff; font-size: x-small;"><span style="color: #2a00ff; font-size: x-small;">"1.0"</span></span><span style="font-size: x-small;"> </span><span style="color: #7f007f; font-size: x-small;"><span style="color: #7f007f; font-size: x-small;">encoding</span></span><span style="font-size: x-small;">=</span><i><span style="color: #2a00ff; font-size: x-small;"><span style="color: #2a00ff; font-size: x-small;">"utf-8"</span></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">?></span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">menu</span></span><span style="font-size: x-small;"><div align="left"></div></span><span style="color: #7f007f; font-size: x-small;"><span style="color: #7f007f; font-size: x-small;">xmlns:android</span></span><span style="font-size: x-small;">=</span><i><span style="color: #2a00ff; font-size: x-small;"><span style="color: #2a00ff; font-size: x-small;">"http://schemas.android.com/apk/res/android"</span></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">></span></span><span style="font-size: x-small;"><div align="left"></div></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;"><</span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">item</span></span><span style="font-size: x-small;"> </span><span style="color: #7f007f; font-size: x-small;"><span style="color: #7f007f; font-size: x-small;">android:id</span></span><span style="font-size: x-small;">=</span><i><span style="color: #2a00ff; font-size: x-small;"><span style="color: #2a00ff; font-size: x-small;">"@+id/file"</span></span><span style="font-size: x-small;"> </span><span style="color: #7f007f; font-size: x-small;"><span style="color: #7f007f; font-size: x-small;">android:title</span></span><span style="font-size: x-small;">=</span><i><span style="color: #2a00ff; font-size: x-small;"><span style="color: #2a00ff; font-size: x-small;">"@string/file"</span></span><span style="font-size: x-small;"> </span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">/></span></span><span style="font-size: x-small;"><div align="left"></div><div align="left"></div></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;"><</span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">item</span></span><span style="font-size: x-small;"> </span><span style="color: #7f007f; font-size: x-small;"><span style="color: #7f007f; font-size: x-small;">android:id</span></span><span style="font-size: x-small;">=</span><i><span style="color: #2a00ff; font-size: x-small;"><span style="color: #2a00ff; font-size: x-small;">"@+id/open"</span></span><span style="font-size: x-small;"> </span><span style="color: #7f007f; font-size: x-small;"><span style="color: #7f007f; font-size: x-small;">android:title</span></span><span style="font-size: x-small;">=</span><i><span style="color: #2a00ff; font-size: x-small;"><span style="color: #2a00ff; font-size: x-small;">"@string/open"</span></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">/></span></span><span style="font-size: x-small;"> </span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;"><</span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">item</span></span><span style="font-size: x-small;"> </span><span style="color: #7f007f; font-size: x-small;"><span style="color: #7f007f; font-size: x-small;">android:id</span></span><span style="font-size: x-small;">=</span><i><span style="color: #2a00ff; font-size: x-small;"><span style="color: #2a00ff; font-size: x-small;">"@+id/save"</span></span><span style="font-size: x-small;"> </span><span style="color: #7f007f; font-size: x-small;"><span style="color: #7f007f; font-size: x-small;">android:title</span></span><span style="font-size: x-small;">=</span><i><span style="color: #2a00ff; font-size: x-small;"><span style="color: #2a00ff; font-size: x-small;">"@string/save"</span></span><span style="font-size: x-small;"> </span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">/></span></span><span style="font-size: x-small;"><div align="left"></div></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;"><</span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">item</span></span><span style="font-size: x-small;"> </span><span style="color: #7f007f; font-size: x-small;"><span style="color: #7f007f; font-size: x-small;">android:id</span></span><span style="font-size: x-small;">=</span><i><span style="color: #2a00ff; font-size: x-small;"><span style="color: #2a00ff; font-size: x-small;">"@+id/edit"</span></span><span style="font-size: x-small;"> </span><span style="color: #7f007f; font-size: x-small;"><span style="color: #7f007f; font-size: x-small;">android:title</span></span><span style="font-size: x-small;">=</span><i><span style="color: #2a00ff; font-size: x-small;"><span style="color: #2a00ff; font-size: x-small;">"@string/edit"</span></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">/></span></span><span style="font-size: x-small;"> </span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;"></</span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">menu</span></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">></span></span><div closure_uid_ml60t4="137" style="text-align: left;">after that we have to set a values in strings.xml</div><div closure_uid_ml60t4="137" style="text-align: left;">example:values/strings.xml</div><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;"><div align="left"><?</div><div align="left"><</div></span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">xml</span></span><span style="font-size: x-small;"> </span><span style="color: #7f007f; font-size: x-small;"><span style="color: #7f007f; font-size: x-small;">version</span></span><span style="font-size: x-small;">=</span><i><span style="color: #2a00ff; font-size: x-small;"><span style="color: #2a00ff; font-size: x-small;">"1.0"</span></span><span style="font-size: x-small;"> </span><span style="color: #7f007f; font-size: x-small;"><span style="color: #7f007f; font-size: x-small;">encoding</span></span><span style="font-size: x-small;">=</span><i><span style="color: #2a00ff; font-size: x-small;"><span style="color: #2a00ff; font-size: x-small;">"utf-8"</span></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">?></span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">resources</span></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">></span></span><span style="font-size: x-small;"><div align="left"></div></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;"><</span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">string</span></span><span style="font-size: x-small;"> </span><span style="color: #7f007f; font-size: x-small;"><span style="color: #7f007f; font-size: x-small;">name</span></span><span style="font-size: x-small;">=</span><i><span style="color: #2a00ff; font-size: x-small;"><span style="color: #2a00ff; font-size: x-small;">"hello"</span></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">></span></span><span style="font-size: x-small;">Hello World, MenuScreen!</span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;"></</span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">string</span></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">></span></span><span style="font-size: x-small;"><div align="left"></div></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;"><</span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">string</span></span><span style="font-size: x-small;"> </span><span style="color: #7f007f; font-size: x-small;"><span style="color: #7f007f; font-size: x-small;">name</span></span><span style="font-size: x-small;">=</span><i><span style="color: #2a00ff; font-size: x-small;"><span style="color: #2a00ff; font-size: x-small;">"app_name"</span></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">></span></span><span style="font-size: x-small;">SampleMenu</span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;"></</span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">string</span></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">></span></span><span style="font-size: x-small;"><div align="left"></div></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;"><</span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">string</span></span><span style="font-size: x-small;"> </span><span style="color: #7f007f; font-size: x-small;"><span style="color: #7f007f; font-size: x-small;">name</span></span><span style="font-size: x-small;">=</span><i><span style="color: #2a00ff; font-size: x-small;"><span style="color: #2a00ff; font-size: x-small;">"file"</span></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">></span></span><span style="font-size: x-small;">File</span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;"></</span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">string</span></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">></span></span><span style="font-size: x-small;"><div align="left"></div></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;"><</span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">string</span></span><span style="font-size: x-small;"> </span><span style="color: #7f007f; font-size: x-small;"><span style="color: #7f007f; font-size: x-small;">name</span></span><span style="font-size: x-small;">=</span><i><span style="color: #2a00ff; font-size: x-small;"><span style="color: #2a00ff; font-size: x-small;">"open"</span></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">></span></span><span style="font-size: x-small;">Open</span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;"></</span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">string</span></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">></span></span><span style="font-size: x-small;"><div align="left"></div></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;"><</span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">string</span></span><span style="font-size: x-small;"> </span><span style="color: #7f007f; font-size: x-small;"><span style="color: #7f007f; font-size: x-small;">name</span></span><span style="font-size: x-small;">=</span><i><span style="color: #2a00ff; font-size: x-small;"><span style="color: #2a00ff; font-size: x-small;">"save"</span></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">></span></span><span style="font-size: x-small;">Save</span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;"></</span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">string</span></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">></span></span><span style="font-size: x-small;"><div align="left"></div><div align="left"></</div></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;"><</span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">string</span></span><span style="font-size: x-small;"> </span><span style="color: #7f007f; font-size: x-small;"><span style="color: #7f007f; font-size: x-small;">name</span></span><span style="font-size: x-small;">=</span><i><span style="color: #2a00ff; font-size: x-small;"><span style="color: #2a00ff; font-size: x-small;">"edit"</span></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">></span></span><span style="font-size: x-small;">Edit</span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;"></</span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">string</span></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">></span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">resources</span></span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">></span></span><div closure_uid_ml60t4="137" style="text-align: left;">now you have to write a code to show the menu options.</div><div closure_uid_ml60t4="137" style="text-align: left;">@Override<br />
public boolean onCreateOptionsMenu(Menu menu) {<br />
MenuInflater inflater = getMenuInflater();<br />
inflater.inflate(R.menu.sample, menu); <br />
return true;<br />
}</div><div closure_uid_ml60t4="137" style="text-align: left;">Result is:</div><div class="separator" closure_uid_ml60t4="181" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQvM63ey5KsAOn1sVol0rE1sL7vZtla3JF6h7XKXiEyUvsk-cNYRt5QpsedngVjZg58W_hC5gWXoKyVAYZC3s8aiP130ZAWzCMM9oUOsAwotmRuhOMELETJt-elefWpFCVFkfExKBpCv0/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQvM63ey5KsAOn1sVol0rE1sL7vZtla3JF6h7XKXiEyUvsk-cNYRt5QpsedngVjZg58W_hC5gWXoKyVAYZC3s8aiP130ZAWzCMM9oUOsAwotmRuhOMELETJt-elefWpFCVFkfExKBpCv0/s320/1.png" t$="true" width="213" /></a></div><div class="separator" closure_uid_ml60t4="181" style="clear: both; text-align: center;"><br />
</div><div closure_uid_ml60t4="137" style="text-align: left;"><a href="http://www.ziddu.com/download/15898011/SampleMenuOption.rar.html">Download full source code</a><a href="http://www.ziddu.com/download/15898011/SampleMenuOption.rar.html"></a></div></i></i></i></i></i></i></i></i></i></i></i></i></i></i></i></i></i></i></i></div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com1tag:blogger.com,1999:blog-5139494440226094959.post-86418834651713535522011-07-07T09:39:00.000-07:002011-07-07T09:39:49.985-07:00How to use Multi Language in android?<span style="color: #3f7f5f; font-size: x-small;"><span style="color: #3f7f5f; font-size: x-small;"> <span style="color: #cc0000; font-size: large;">How to use multi language of text in android?</span><br />
<br />
<span style="color: black;"><span style="font-family: Arial, Helvetica, sans-serif; font-size: small;">Its just a easy way to use it.How ? The html decimal unicode is suppoted by android os.Here i show three languages,Tamil,hindi and Telungu.First of all u should download the DLL file.For example :</span><span style="color: #2a00ff;"><span style="color: #2a00ff;"></span></span></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: small;"><span style="color: lime;">"Akshar.ttf",</span><span style="color: black;">Its a one of the Library file,It help to convert the decimal unicode format.Your Android application there is assests folder ,you just create a new folder and name as fonts,then put inside of the <span style="color: lime;">"Akshar.ttf"</span> file in that folder,Now come to our Code section.</span></span></span><br />
<br />
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: small;"><span style="color: black;"> TextView english,tamil,hin,tel;<br />
String tam,h,t;<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.main);<br />
tamil=(TextView)findViewById(R.id.textView2);<br />
hin=(TextView)findViewById(R.id.hindi);<br />
tel=(TextView)findViewById(R.id.telngu);<br />
tam="&#3000;&#2965;&#45;&#2949;&#2985;&#3021;&#2975;&#3021;&#2992;&#3018;&#2951;&#2975;&#3021; &#2949;&#2986;&#3021;&#2986;&#3021;&#2994;&#3007;&#2965;&#2975;&#3007;&#2962;&#2985;&#3021;&#46;&#2986;&#3021;&#2994;&#3018;&#2965;&#3021;&#3000;&#3021;&#2986;&#3018;&#2975;&#3021;&#46;&#2965;&#3018;&#2990;&#3021;"; <br />
h="&#2360;&#2327;&#45;&#2309;&#2344;&#2381;&#2337;&#2381;&#2352;&#2379;&#2311;&#2337;&#2381; &#2309;&#2346;&#2381;&#2346;&#2381;&#2354;&#2367;&#99;&#2309;&#2335;&#2367;&#2323;&#2344;&#2381;&#46;&#2348;&#2381;&#2354;&#2379;&#2327;&#2381;&#2360;&#2381;&#2346;&#2379;&#2335;&#2381;&#46;&#99;&#2323;&#2350;&#2381;";<br />
t="&#3128;&#3095;&#45;&#3077;&#3112;&#3149;&#3105;&#3149;&#3120;&#3146;&#3079;&#3105;&#3149; &#3077;&#3114;&#3149;&#3114;&#3149;&#3122;&#3135;&#99;&#3077;&#3103;&#3135;&#3090;&#3112;&#3149;&#46;&#3116;&#3149;&#3122;&#3146;&#3095;&#3149;&#3128;&#3149;&#3114;&#3146;&#3103;&#3149;&#46;&#99;&#3090;&#3118;&#3149; ";<br />
<br />
Typeface tf=Typeface.createFromAsset(getAssets(), "fonts/Akshar.ttf");<br />
<br />
<br />
tamil.setTypeface(tf,Typeface.BOLD);<br />
tamil.setText(Html.fromHtml(tam)); <br />
<br />
hin.setTypeface(tf,Typeface.ITALIC);<br />
hin.setText(Html.fromHtml(h)); <br />
<br />
<br />
tel.setTypeface(tf,Typeface.NORMAL);<br />
tel.setText(Html.fromHtml(t)); <br />
<br />
}<br />
}</span></span></span><br />
<br />
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: small;"><span style="color: black;">The output is: </span></span></span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixZ4sGjuxYHEGPCHswOZF68GlZ9pugflAavjrwyVREPXxn0nqIc9XPXxHd6yCe0fBwLWLZGolplOIWZBs0gOdleJ1HF-z9g7GppWLUnj9KA7_PAvYJWWQ7jIrWhFuOBQHel3335oVvgAg/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" m$="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixZ4sGjuxYHEGPCHswOZF68GlZ9pugflAavjrwyVREPXxn0nqIc9XPXxHd6yCe0fBwLWLZGolplOIWZBs0gOdleJ1HF-z9g7GppWLUnj9KA7_PAvYJWWQ7jIrWhFuOBQHel3335oVvgAg/s320/1.png" width="213" /></a></div><a href="http://saga-androidapplication.webgarden.com/">Download full source code</a></span></span>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com4tag:blogger.com,1999:blog-5139494440226094959.post-42621836797841041632011-07-02T11:03:00.000-07:002011-07-02T11:03:33.984-07:00How to use Autocomplete searchbox in Database?<div dir="ltr" style="text-align: left;" trbidi="on"><div style="text-align: left;"></div><div style="text-align: left;">Autocomplete means it show the complete text automatically.It have two types</div><div style="text-align: left;">1.Single line autocomplete<br />
2.Multi line autocomplete</div><div style="text-align: left;">what letter we type in the searchbox,that letter of the complete words to show.Here i use autocomplete searchbox ,The select item can pass into the textview </div><div style="text-align: left;">.I use DATABASE NAME as="itemsearchsqlite.db",TABLE NAME as="itemsearch" and DB COLUMN NAME as="item_name".</div><div style="text-align: left;">I use two java classes namely Home.java and SQLiteItemsearch.java</div><div style="text-align: left;">//SQLiteItemSearch.java//<br />
------------------------</div><div style="text-align: left;">package com.autocomplete.sample;</div><div style="text-align: left;">import android.content.ContentValues;<br />
import android.content.Context;<br />
import android.database.Cursor;<br />
import android.database.SQLException;<br />
import android.database.sqlite.SQLiteDatabase;<br />
import android.database.sqlite.SQLiteOpenHelper;<br />
import android.util.Log;</div><div style="text-align: left;">public class SQLiteItemSearch extends SQLiteOpenHelper<br />
{<br />
private static final String DB_NAME = "itemsearchsqlite.db";<br />
private static final int DB_VERSION_NUMBER = 1;<br />
private static final String DB_TABLE_NAME = "itemsearch";<br />
private static final String DB_COLUMN_1_NAME = "item_name";<br />
<br />
private static final String DB_CREATE_SCRIPT = "create table " + DB_TABLE_NAME +<br />
" (_id integer primary key autoincrement, item_name text not null);)";<br />
<br />
private SQLiteDatabase sqliteDBInstance = null;<br />
<br />
public SQLiteItemSearch(Context context)<br />
{<br />
super(context, DB_NAME, null, DB_VERSION_NUMBER);<br />
}<br />
<br />
@Override<br />
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)<br />
{<br />
// TODO: Implement onUpgrade<br />
}<br />
<br />
@Override<br />
public void onCreate(SQLiteDatabase sqliteDBInstance)<br />
{<br />
Log.i("onCreate", "Creating the database...");<br />
sqliteDBInstance.execSQL(DB_CREATE_SCRIPT);<br />
}<br />
<br />
public void openDB() throws SQLException<br />
{<br />
Log.i("openDB", "Checking sqliteDBInstance...");<br />
if(this.sqliteDBInstance == null)<br />
{<br />
Log.i("openDB", "Creating sqliteDBInstance...");<br />
this.sqliteDBInstance = this.getWritableDatabase();<br />
}<br />
}<br />
<br />
public void closeDB()<br />
{<br />
if(this.sqliteDBInstance != null)<br />
{<br />
if(this.sqliteDBInstance.isOpen())<br />
this.sqliteDBInstance.close();<br />
}<br />
}<br />
<br />
public long insertitmSearch(String ItemBrandName)<br />
{<br />
ContentValues contentValues = new ContentValues();<br />
contentValues.put(DB_COLUMN_1_NAME, ItemBrandName);<br />
Log.i(this.toString() + " - insertitmSearch", "Inserting: " + ItemBrandName);<br />
return this.sqliteDBInstance.insert(DB_TABLE_NAME, null, contentValues);<br />
}<br />
<br />
public boolean removeitmSearch(String ItemBrandName)<br />
{<br />
int result = this.sqliteDBInstance.delete(DB_TABLE_NAME, "item_name='" + ItemBrandName + "'", null);<br />
<br />
if(result > 0)<br />
return true;<br />
else<br />
return false;<br />
}<br />
<br />
public long updateitmSearch(String oldItemBrandName, String newItemBrandName)<br />
{<br />
ContentValues contentValues = new ContentValues();<br />
contentValues.put(DB_COLUMN_1_NAME, newItemBrandName);<br />
return this.sqliteDBInstance.update(DB_TABLE_NAME, contentValues, "item_name='" + oldItemBrandName + "'", null);<br />
}<br />
<br />
public String[] getAllItemFilter()<br />
{<br />
Cursor cursor = this.sqliteDBInstance.query(DB_TABLE_NAME, new String[] {DB_COLUMN_1_NAME}, null, null, null, null, null);<br />
<br />
if(cursor.getCount() >0)<br />
{<br />
String[] str = new String[cursor.getCount()];<br />
int i = 0;<br />
<br />
while (cursor.moveToNext())<br />
{<br />
str[i] = cursor.getString(cursor.getColumnIndex(DB_COLUMN_1_NAME));<br />
i++;<br />
}<br />
return str;<br />
}<br />
else<br />
{<br />
return new String[] {};<br />
}<br />
}<br />
}</div><div style="text-align: left;"><br />
Then again we have to insert a rows of dataitems inside of the Home.java class</div><div style="text-align: left;">public class Home extends Activity {<br />
private SQLiteItemSearch sqllitebb;<br />
TextView tv;<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.list_item);<br />
<br />
final AutoCompleteTextView actv=(AutoCompleteTextView)findViewById(R.id.autocompleteitem);<br />
sqllitebb=new SQLiteItemSearch(Home.this);<br />
sqllitebb.openDB();<br />
// Insert a few item list statically//<br />
<br />
sqllitebb.insertitmSearch("Color Monitor");<br />
sqllitebb.insertitmSearch("Compact Disk");<br />
sqllitebb.insertitmSearch("Computer"); <br />
sqllitebb.insertitmSearch("Copy Righter"); <br />
sqllitebb.insertitmSearch("Hard Disk"); <br />
sqllitebb.insertitmSearch("HP Printer"); <br />
sqllitebb.insertitmSearch("HP Laser Printer");<br />
sqllitebb.insertitmSearch("HP Injet Printer");<br />
// sqllitebb.removeitmsearch("Computer");<br />
// sqllitebb.updateitmSearch("Computer","DELL");<br />
final String[] deal = sqllitebb.getAllItemFilter();<br />
<br />
// Print out the values to the log<br />
for(int i = 0; i < deal.length; i++)<br />
{<br />
Log.i(this.toString(), deal[i]);<br />
}</div><div style="text-align: left;"> ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,deal);<br />
actv.setAdapter(adapter); <br />
actv.setThreshold(1);<br />
actv.setOnItemClickListener(new OnItemClickListener() {</div><div style="text-align: left;"> public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {<br />
tv=(TextView)findViewById(R.id.selecteditem_tv);<br />
tv.setText(deal[arg2]);<br />
arg0.getItemAtPosition(arg2);<br />
Log.i("SELECTED TEXT WAS------->", deal[arg2]);<br />
}<br />
});<br />
}<br />
public void onDestroy()<br />
{<br />
super.onDestroy();<br />
sqllitebb.close();<br />
}<br />
}</div><br />
<a name='more'></a>Have to drag and drop the autocomplete control,the two textview controls. <br />
[code=list_item.xml]<br />
<br />
<LinearLayout xmlns:android="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"<br />
android:layout_width="fill_parent"<br />
android:layout_height="wrap_content"<br />
android:padding="5dp" android:orientation="vertical"><br />
<TextView<br />
android:layout_width="wrap_content"<br />
android:layout_height="wrap_content"<br />
android:text="ITEM_SEARCH" /><br />
<AutoCompleteTextView android:id="@+id/autocompleteitem"<br />
android:layout_width="fill_parent"<br />
android:layout_height="wrap_content"<br />
android:layout_marginLeft="5dp"/><br />
<TextView android:text="TextView" android:id="@+id/selecteditem_tv" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView><br />
</LinearLayout><br />
<br />
<br />
<div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbbYDNPk89_94Q5tTT8TBv1CiqXWmm9bXLKxSPVaTYUPH53My6jql19qDLXupjvRJ6_ckatHoxV2b_XRWUuQvBYKBgNm2FduqJANAQ7Iov-9ITki2CSzuNJAXGltgfdlcOFWeYFrrgQJ8/s1600/home.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" i$="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbbYDNPk89_94Q5tTT8TBv1CiqXWmm9bXLKxSPVaTYUPH53My6jql19qDLXupjvRJ6_ckatHoxV2b_XRWUuQvBYKBgNm2FduqJANAQ7Iov-9ITki2CSzuNJAXGltgfdlcOFWeYFrrgQJ8/s320/home.png" width="213" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8g3MgamnWPz-g-_l6c8QsGKIpZ1goH4SUIKiUJN-O9MUVcVH1extUA4ek-bNS9HQDKYbJ42l3gqh2SJD4ou5wp2rBohw3OoS6rMq_FrHAyvaJeCxsv2mmaD12nm-w7ieeDTXAGokfeqc/s1600/autocomplete.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" i$="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8g3MgamnWPz-g-_l6c8QsGKIpZ1goH4SUIKiUJN-O9MUVcVH1extUA4ek-bNS9HQDKYbJ42l3gqh2SJD4ou5wp2rBohw3OoS6rMq_FrHAyvaJeCxsv2mmaD12nm-w7ieeDTXAGokfeqc/s320/autocomplete.png" width="213" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd9htsLDc3U8v7OnST3_jrV-aFQUo8WQ1tK6paMyygTDHHq3qf82p1ANrWIMjVRTeiDdvKCXTzBLEC1sj4_FwApLxE_XeI6ZNkqPCK24W_NHrjSQ-HAcxDYqkUh01AuEZ7VpjXZxDkL5M/s1600/selectitem.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" i$="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd9htsLDc3U8v7OnST3_jrV-aFQUo8WQ1tK6paMyygTDHHq3qf82p1ANrWIMjVRTeiDdvKCXTzBLEC1sj4_FwApLxE_XeI6ZNkqPCK24W_NHrjSQ-HAcxDYqkUh01AuEZ7VpjXZxDkL5M/s320/selectitem.png" width="213" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: left;">If u want to check the database in sqlite,no problem Go to DDMS or <br />
Go to Window->open Perspective-> select File explorer->go to data, then->select data->inside of the data all packages are availabel,here my application </div><div class="separator" style="clear: both; text-align: left;">package name is com.autocomplete.sample,after select our package there is two options are availabel 1.databases,2.lib.first have to select it or open it.open </div><div class="separator" style="clear: both; text-align: left;">databases inside of the databases our application database name itemsearchsqlite.db had held we have to pull a file from the device.u have to choose the db </div><div class="separator" style="clear: both; text-align: left;">in any location,for example i select desktop and pull it .Then u go to Android-SDK,inside of the SDK u have to open Tools,because the sqlite3 has present </div><div class="separator" style="clear: both; text-align: left;">inside of the tools.u click the sqlite3.open our db in desktop asusal click right side ,go to open with and select SQLITE3.At the begining we have to type </div><div class="separator" style="clear: both; text-align: left;">DOT or .tables,In sqlite it shows our correct and current table name at the final open our table like select * from itemsearch;<br />
finished all the things.ITS show our records.<br />
<span style="color: red;"><strong>Note</strong></span>:If u not understand my hints means better u see my screen schots.</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;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCKdx8i9JqQnFubEZQRUFS6Jr5vQ7hDxpSCV3_Iy1S3nH3EMA3s68Hr0R3v6pNaW8MOT3WE5zf7nTSbvXyAeR7zglINI3JsOvt505PVqE-F76WtujppMmqAMAYocB9wxs7onJwHsX1vS0/s1600/how_to_open_DDMS.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="256" i$="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCKdx8i9JqQnFubEZQRUFS6Jr5vQ7hDxpSCV3_Iy1S3nH3EMA3s68Hr0R3v6pNaW8MOT3WE5zf7nTSbvXyAeR7zglINI3JsOvt505PVqE-F76WtujppMmqAMAYocB9wxs7onJwHsX1vS0/s320/how_to_open_DDMS.png" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_rvMOmbHRJUGo9DAholBk6jwUO2dYMVREvSvVB8XK95uUg31M7vI0iS2N9tICt6aTSzNVYD9fISSZrhM8w7cJo8NJdGGB9RUP981pRAO0pttGo7_YKod9lVje6P7OiP0DSfZmP2Oe9Ok/s1600/select_data.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="256" i$="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_rvMOmbHRJUGo9DAholBk6jwUO2dYMVREvSvVB8XK95uUg31M7vI0iS2N9tICt6aTSzNVYD9fISSZrhM8w7cJo8NJdGGB9RUP981pRAO0pttGo7_YKod9lVje6P7OiP0DSfZmP2Oe9Ok/s320/select_data.png" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVeyG_QUsphZgJ4pa1TXoIRt9fpRd5BTPktWTprY8lo28xMAjK5SNDWF1e6J6zDUG1mPImXvKTYpcgJw345mFvhb2vDPDdntTrh1-oMRSehuuTguzaAmdlT1cqnuIPzDihMIoPT36aT60/s1600/select_ourapplication_package_name.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="256" i$="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVeyG_QUsphZgJ4pa1TXoIRt9fpRd5BTPktWTprY8lo28xMAjK5SNDWF1e6J6zDUG1mPImXvKTYpcgJw345mFvhb2vDPDdntTrh1-oMRSehuuTguzaAmdlT1cqnuIPzDihMIoPT36aT60/s320/select_ourapplication_package_name.png" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeZeuYVTuvf6H_rxeoFoXCQmVApHCeYrrmsxhQtx2eeoEz6fQsfcq7oRyuclmskfFx2G75x3Q9nznDVEkq82j3a7a0WRGMALrW4SCc9uI0jlfTej835fxjCLd9-lAfCeQ_wzbtFbcFYo0/s1600/select_db_topull_fromdevice.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="256" i$="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeZeuYVTuvf6H_rxeoFoXCQmVApHCeYrrmsxhQtx2eeoEz6fQsfcq7oRyuclmskfFx2G75x3Q9nznDVEkq82j3a7a0WRGMALrW4SCc9uI0jlfTej835fxjCLd9-lAfCeQ_wzbtFbcFYo0/s320/select_db_topull_fromdevice.png" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjExMvYiNSr9Vrct1YdNodgbJ2tNufV21YiDs5kwRw5CW1nXxEYQvvjV0GNVsT1_tue-2kfFveX_o8PHAhLcjcyHUz6bL9kMyC7m0bkKmqtPBa4Ird5Aka_7UWNseUWMmf6-B564nAk2FM/s1600/db_pull_from_desktop.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="256" i$="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjExMvYiNSr9Vrct1YdNodgbJ2tNufV21YiDs5kwRw5CW1nXxEYQvvjV0GNVsT1_tue-2kfFveX_o8PHAhLcjcyHUz6bL9kMyC7m0bkKmqtPBa4Ird5Aka_7UWNseUWMmf6-B564nAk2FM/s320/db_pull_from_desktop.png" width="320" /></a></div>Go to Android SDK<br />
<br />
<div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge5gaxKzFquQ8IDnXdMJ53T_XGF3DAv2JiEN9fuT8z3wV75T2sZuMf_ms5wsRMBPbgkE0lhRyvxdPjbI7YcC2Agl0zZ_8ziJ4VoAF03ZADMy5WBJoIA3MlrcQhyphenhyphenBB0YAHCWIJEnK6xlnU/s1600/select_android_workspace.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="256" i$="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge5gaxKzFquQ8IDnXdMJ53T_XGF3DAv2JiEN9fuT8z3wV75T2sZuMf_ms5wsRMBPbgkE0lhRyvxdPjbI7YcC2Agl0zZ_8ziJ4VoAF03ZADMy5WBJoIA3MlrcQhyphenhyphenBB0YAHCWIJEnK6xlnU/s320/select_android_workspace.png" width="320" /></a></div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM7hrAQ_zeksLXTVusfrvHBjJhFvn8LWCZA14r8N996zXv3qWIXjIS6uLnkqnhViqNwG71X92KjW2X6EXJT1YukbJfpttpJN341d-LC06_NUNcpCjkTGlb6BDRnSEdG0Gb3IG2cTbq7Yw/s1600/select_tools.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="256" i$="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM7hrAQ_zeksLXTVusfrvHBjJhFvn8LWCZA14r8N996zXv3qWIXjIS6uLnkqnhViqNwG71X92KjW2X6EXJT1YukbJfpttpJN341d-LC06_NUNcpCjkTGlb6BDRnSEdG0Gb3IG2cTbq7Yw/s320/select_tools.png" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj74ldee_G8fH3Zk4XdtqsHEmDmAu9-anFmcomXeDKyoTChCEeF1J53Q4Gpx_4VUwcLrL3LstVOe-zwK4ZCanH649zgZ31G4woG-BN9RfBam5HlXb1kXqDc5tpWmQBGRSY6lAWk-F7wyMs/s1600/inside_tools_open_sqllite.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="256" i$="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj74ldee_G8fH3Zk4XdtqsHEmDmAu9-anFmcomXeDKyoTChCEeF1J53Q4Gpx_4VUwcLrL3LstVOe-zwK4ZCanH649zgZ31G4woG-BN9RfBam5HlXb1kXqDc5tpWmQBGRSY6lAWk-F7wyMs/s320/inside_tools_open_sqllite.png" width="320" /></a></div>Open DB in desktop <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpZ487yZKzIiNmza6p5aJoGsQwqtloH87iRcrC01EFjC5avsj2hfa6W-u0HMJEczXW_ITrV7wjMRnz95JC8ONDv__tjijfYikIU8aMgnM_Hkp3RVbyjS9oCsJ_yzj3Bqi9XuehDZt8HIg/s1600/db_desktop.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="256" i$="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpZ487yZKzIiNmza6p5aJoGsQwqtloH87iRcrC01EFjC5avsj2hfa6W-u0HMJEczXW_ITrV7wjMRnz95JC8ONDv__tjijfYikIU8aMgnM_Hkp3RVbyjS9oCsJ_yzj3Bqi9XuehDZt8HIg/s320/db_desktop.png" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRKyKPwjfNjDMoKObzK8N6ZSyb9wHzT2uQhTDF0TfHppOJknmhQdtWclnSJQQQqN5udlcgWGXrt7zXfjuAwVg7ZCnRzD8v3Lira58eDhewdksLUdUseEPSkPZTc8lCDbkKTDgd0sw9yLs/s1600/open_with_sqlite.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="256" i$="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRKyKPwjfNjDMoKObzK8N6ZSyb9wHzT2uQhTDF0TfHppOJknmhQdtWclnSJQQQqN5udlcgWGXrt7zXfjuAwVg7ZCnRzD8v3Lira58eDhewdksLUdUseEPSkPZTc8lCDbkKTDgd0sw9yLs/s320/open_with_sqlite.png" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaRmmkdikYn8SjB2cfvnxBEqxftCxcrSusw6mnn_6pC-3fTu4UpTfJ3g_eZwwhkRjJokNac9V5ua0etbVdVsVo3v8-kdneESSJ9837tjtCQ0i0NNyNBrMcDhAbrNhk7FO43ZpWZTGg1R4/s1600/sqlite_open.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="256" i$="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaRmmkdikYn8SjB2cfvnxBEqxftCxcrSusw6mnn_6pC-3fTu4UpTfJ3g_eZwwhkRjJokNac9V5ua0etbVdVsVo3v8-kdneESSJ9837tjtCQ0i0NNyNBrMcDhAbrNhk7FO43ZpWZTGg1R4/s320/sqlite_open.png" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIrOcM0KpuF83yyB3xNFbokb_66iH3lDO8wxwIZKitIkhCVCBPxighQ4hw-AD9Gz-H52Ag-7T9C18LbGrGaGXAaY_bIuR4vIaoGs5Q2TibXNc_V6wPL8NtDpivnahIftK4zCVCp8dUSdI/s1600/type_dottables.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="256" i$="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIrOcM0KpuF83yyB3xNFbokb_66iH3lDO8wxwIZKitIkhCVCBPxighQ4hw-AD9Gz-H52Ag-7T9C18LbGrGaGXAaY_bIuR4vIaoGs5Q2TibXNc_V6wPL8NtDpivnahIftK4zCVCp8dUSdI/s320/type_dottables.png" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH4871sblg4eQmnXPmwp6eWvJbte815IQGJrNORuynQ-SW2W9rMlxNRN5778r9vtEqxS9vXy10rXzzdZxLK9eaeKIT6lYNno4eRfd78DBM_Aic6-gPQUF0PKTy7VCQ2sKuUzQVqTm1TQw/s1600/select_sqlquery.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="256" i$="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH4871sblg4eQmnXPmwp6eWvJbte815IQGJrNORuynQ-SW2W9rMlxNRN5778r9vtEqxS9vXy10rXzzdZxLK9eaeKIT6lYNno4eRfd78DBM_Aic6-gPQUF0PKTy7VCQ2sKuUzQVqTm1TQw/s320/select_sqlquery.png" width="320" /></a></div><a href="http://saga-androidapplication.webgarden.com/">Download full source code</a><br />
<div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><br />
</div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"> </div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div><div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"></div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div><img height="76" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge5gaxKzFquQ8IDnXdMJ53T_XGF3DAv2JiEN9fuT8z3wV75T2sZuMf_ms5wsRMBPbgkE0lhRyvxdPjbI7YcC2Agl0zZ_8ziJ4VoAF03ZADMy5WBJoIA3MlrcQhyphenhyphenBB0YAHCWIJEnK6xlnU/s320/select_android_workspace.png" style="filter: alpha(opacity=30); left: 115px; mozopacity: 0.3; opacity: 0.3; position: absolute; top: 6064px; visibility: hidden;" width="96" /> <div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"></div></div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com16tag:blogger.com,1999:blog-5139494440226094959.post-73691396716915107022011-06-01T12:07:00.000-07:002011-06-01T12:44:37.666-07:00How to send and receive message using in android<div dir="ltr" style="text-align: left;" trbidi="on"><div style="text-align: left;"></div><div style="text-align: left;">I take a look at how can programmatically send and receive SMS messages in our Android applications. The good news for Android developers is that we don't need a real device to test out SMS messaging - the free Android emulator provides the capability to do so.</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">In the Main.xml</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><?xml version="1.0" encoding="utf-8"?><br />
<LinearLayout xmlns:android="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"<br />
android:orientation="vertical"<br />
android:layout_width="fill_parent"<br />
android:layout_height="fill_parent"<br />
><br />
<TextView <br />
android:layout_width="fill_parent" <br />
android:layout_height="wrap_content" <br />
android:text="Enter the phone number of recipient"<br />
/> <br />
<EditText <br />
android:id="@+id/txtPhoneNo" <br />
android:layout_width="fill_parent" <br />
android:layout_height="wrap_content" <br />
/><br />
<TextView <br />
android:layout_width="fill_parent" <br />
android:layout_height="wrap_content" <br />
android:text="Message"<br />
/> <br />
<EditText <br />
android:id="@+id/txtMessage" <br />
android:layout_width="fill_parent" <br />
android:layout_height="150px"<br />
android:gravity="top" <br />
/> <br />
<Button <br />
android:id="@+id/btnSendSMS" <br />
android:layout_width="fill_parent" <br />
android:layout_height="wrap_content"<br />
android:text="Send SMS"<br />
/> <br />
</LinearLayout></div><div style="text-align: left;"><br />
</div><div style="text-align: left;">Next, in the SMS activity, we wire up the Button view so that when the user clicks on it, we will check to see that the phone number of the recipient and the message is entered before we send the message using the sendSMS() function, which we will define shortly:</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">import android.app.Activity;<br />
import android.app.PendingIntent;<br />
import android.content.BroadcastReceiver;<br />
import android.content.Context;<br />
import android.content.Intent;<br />
import android.content.IntentFilter;<br />
import android.os.Bundle;<br />
import android.telephony.gsm.SmsManager;<br />
import android.view.View;<br />
import android.widget.Button;<br />
import android.widget.EditText;<br />
import android.widget.Toast;</div><div style="text-align: left;">public class SMS extends Activity {<br />
/** Called when the activity is first created. */<br />
Button btnSendSMS;<br />
EditText txtPhoneNo;<br />
EditText txtMessage;<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.main);<br />
btnSendSMS = (Button) findViewById(R.id.btnSendSMS);<br />
txtPhoneNo = (EditText) findViewById(R.id.txtPhoneNo);<br />
txtMessage = (EditText) findViewById(R.id.txtMessage);<br />
<br />
btnSendSMS.setOnClickListener(new View.OnClickListener() <br />
{<br />
public void onClick(View v) <br />
{ <br />
String phoneNo = txtPhoneNo.getText().toString();<br />
String message = txtMessage.getText().toString(); <br />
if (phoneNo.length()>0 && message.length()>0) <br />
sendSMS(phoneNo, message); <br />
else<br />
Toast.makeText(getBaseContext(), <br />
"Please enter both phone number and message.", <br />
Toast.LENGTH_SHORT).show();<br />
}</div><div style="text-align: left;"><br />
}); <br />
}<br />
public void sendSMS(String phoneNo, String message) {</div><div style="text-align: left;"> String SENT = "SMS_SENT";<br />
String DELIVERED = "SMS_DELIVERED";<br />
<br />
PendingIntent sentPI = PendingIntent.getBroadcast(getApplicationContext(), 0,<br />
new Intent(SENT), 0);<br />
<br />
PendingIntent deliveredPI = PendingIntent.getBroadcast(getApplicationContext(), 0,<br />
new Intent(DELIVERED), 0);<br />
<br />
//---when the SMS has been sent---<br />
registerReceiver(new BroadcastReceiver(){<br />
@Override<br />
public void onReceive(Context arg0, Intent arg1) {<br />
switch (getResultCode())<br />
{<br />
case Activity.RESULT_OK:<br />
Toast.makeText(getBaseContext(), "SMS sent", <br />
Toast.LENGTH_SHORT).show();<br />
break;<br />
case SmsManager.RESULT_ERROR_GENERIC_FAILURE:<br />
Toast.makeText(getBaseContext(), "Generic failure", <br />
Toast.LENGTH_SHORT).show();<br />
break;<br />
case SmsManager.RESULT_ERROR_NO_SERVICE:<br />
Toast.makeText(getBaseContext(), "No service", <br />
Toast.LENGTH_SHORT).show();<br />
break;<br />
case SmsManager.RESULT_ERROR_NULL_PDU:<br />
Toast.makeText(getBaseContext(), "Null PDU", <br />
Toast.LENGTH_SHORT).show();<br />
break;<br />
case SmsManager.RESULT_ERROR_RADIO_OFF:<br />
Toast.makeText(getBaseContext(), "Radio off", <br />
Toast.LENGTH_SHORT).show();<br />
break;<br />
}<br />
}<br />
}, new IntentFilter(SENT));<br />
<br />
//---when the SMS has been delivered---<br />
registerReceiver(new BroadcastReceiver(){<br />
@Override<br />
public void onReceive(Context arg0, Intent arg1) {<br />
switch (getResultCode())<br />
{<br />
case Activity.RESULT_OK:<br />
Toast.makeText(getBaseContext(), "SMS delivered", <br />
Toast.LENGTH_SHORT).show();<br />
break;<br />
case Activity.RESULT_CANCELED:<br />
Toast.makeText(getBaseContext(), "SMS not delivered", <br />
Toast.LENGTH_SHORT).show();<br />
break; <br />
}<br />
}<br />
}, new IntentFilter(DELIVERED)); <br />
<br />
SmsManager sms = SmsManager.getDefault();<br />
sms.sendTextMessage(phoneNo, null, message, sentPI, deliveredPI);<br />
<br />
} <br />
}</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"></div><div style="text-align: left;">SMS messages are received, the <strong>onCreate() </strong>method will be invoked. The SMS message is contained and attached to the Intent object (intent - the second parameter in the <strong>onReceive()</strong> method) via a Bundle object. The messages are stored in an Object array in the PDU format. To extract each message, you use the static <strong>createFromPdu()</strong> method from the SmsMessage class. The SMS message is then displayed using the Toast class:<br />
<br />
import android.content.BroadcastReceiver;<br />
import android.content.Context;<br />
import android.content.Intent;<br />
import android.os.Bundle;<br />
import android.telephony.gsm.SmsMessage;<br />
import android.widget.Toast;<br />
<br />
public class SmsReceiver extends BroadcastReceiver<br />
{<br />
@Override<br />
public void onReceive(Context context, Intent intent) <br />
{<br />
//---get the SMS message passed in---<br />
Bundle bundle = intent.getExtras(); <br />
SmsMessage[] msgs = null;<br />
String str = ""; <br />
if (bundle != null)<br />
{<br />
//---retrieve the SMS message received---<br />
Object[] pdus = (Object[]) bundle.get("pdus");<br />
msgs = new SmsMessage[pdus.length]; <br />
for (int i=0; i<msgs.length; i++){<br />
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]); <br />
str += "SMS from " + msgs[i].getOriginatingAddress(); <br />
str += " :";<br />
str += msgs[i].getMessageBody().toString();<br />
str += "\n"; <br />
}<br />
//---display the new SMS message---<br />
Toast.makeText(context, str, Toast.LENGTH_SHORT).show();<br />
} <br />
}</div><div style="text-align: left;">}</div><a name='more'></a><div style="text-align: left;"><br />
</div><div style="text-align: left;">Android uses a permission-based policy where all the permissions needed by an application need to be specified in the AndroidManifest.xml file. By doing so, when the application is installed it will be clear to the user what specific access permissions are required by the application.</div><div style="text-align: left;"><?xml version="1.0" encoding="utf-8"?><br />
<manifest xmlns:android="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"<br />
package="com.pack"<br />
android:versionCode="1"<br />
android:versionName="1.0"><br />
<uses-sdk android:minSdkVersion="8" /></div><div style="text-align: left;"> <application android:icon="@drawable/icon" android:label="@string/app_name"><br />
<activity android:name=".SMS"<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 />
<receiver android:name=".SmsReceiver"> <br />
<intent-filter> <br />
<action android:name=<br />
"android.provider.Telephony.SMS_RECEIVED" /> <br />
</intent-filter> <br />
</receiver><br />
</application><br />
<uses-permission android:name="android.permission.SEND_SMS"><br />
</uses-permission><br />
<uses-permission android:name="android.permission.RECEIVE_SMS"><br />
</uses-permission><br />
</manifest></div><div style="text-align: left;"><br />
</div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; text-align: left;">create two emulatore one for send message 5554 and another for receive message 5556</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp5OnBRpF4lNKa2RBh-fUuJCyVNGb8ASiA96ieahyktQdRYlXeMv47ApPMdcZSWtm35N9smpIzfzXeWQ4HhWDa50QPciOPwSXx0DlLsZFkAUCt0KjNIl_IKNe8T-GvULy34q1fvE39MpI/s1600/sms_messaging_android_07.jpg" imageanchor="1" style="cssfloat: left; margin-left: 1em; margin-right: 1em;"><img border="0" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp5OnBRpF4lNKa2RBh-fUuJCyVNGb8ASiA96ieahyktQdRYlXeMv47ApPMdcZSWtm35N9smpIzfzXeWQ4HhWDa50QPciOPwSXx0DlLsZFkAUCt0KjNIl_IKNe8T-GvULy34q1fvE39MpI/s320/sms_messaging_android_07.jpg" t8="true" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><br />
<div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx_dMh4FGsqhykyL-2HNqsvJbB1SggTG8wB90AqNJK1S5_daNQpH0xSGif5t6pY9mhKS-PvVTR8Go6U5hZwOgUURN4Xb4KeHz34XRCka0jdoydiCOLuIvMuFDcu_e01xhJw5DoWrtKGz4/s320/5554.png" t8="true" width="213" /></div></div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; text-align: left;">Another emulatore u create it and run the applications.its similar to client server program..check it </div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; text-align: left;"><br />
<a href="http://saga-androidapplication.webgarden.com/">Download Full Source code Here</a></div></div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com6tag:blogger.com,1999:blog-5139494440226094959.post-55189956872400227082011-05-24T07:06:00.001-07:002011-05-24T07:12:03.052-07:00Static TableLayout<div dir="ltr" style="text-align: left;" trbidi="on">The TableLayout is built using the TableLayout and the TableRow commands. There is no TableCols like the <td> tag in HTML. To align your view in columns you have to set the width of the elements and manually control the layout.<br />
<TableLayout android:id="@+id/TableLayout01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:stretchColumns="0"><br />
<br />
<TableRow android:id="@+id/TableRow01" android:layout_width="wrap_content" android:layout_height="wrap_content"><br />
<TextView android:id="@+id/TextView01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="textfield 1-1"></TextView><br />
<br />
<CheckBox android:id="@+id/CheckBox01" android:layout_width="wrap_content" android:layout_height="wrap_content"></CheckBox><br />
</TableRow><br />
<br />
<TableRow android:id="@+id/TableRow02" android:layout_width="wrap_content" android:layout_height="wrap_content"><br />
<TextView android:id="@+id/TextView03" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="textfield 2-1"></TextView><br />
<TextView android:id="@+id/TextView04" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="textfield 2-2"></TextView><br />
</TableRow><br />
<br />
</TableLayout><br />
<TableLayout android:id="@+id/tableLayout1" android:layout_height="wrap_content" android:layout_width="match_parent"><br />
<TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content"><br />
<Button android:text="Button" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button><br />
<RadioButton android:text="RadioButton" android:id="@+id/radioButton1" android:layout_width="wrap_content" android:layout_height="wrap_content"></RadioButton><br />
<ProgressBar android:layout_height="wrap_content" android:id="@+id/progressBar1" android:layout_width="wrap_content"></ProgressBar><br />
</TableRow><br />
</TableLayout><br />
<TableLayout android:id="@+id/tableLayout2" android:layout_height="wrap_content" android:layout_width="match_parent"><br />
<TableRow android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/tableRow2"><br />
<SeekBar android:layout_height="wrap_content" android:id="@+id/seekBar1" android:layout_width="fill_parent"></SeekBar><br />
<DigitalClock android:text="DigitalClock" android:id="@+id/digitalClock1" android:layout_width="wrap_content" android:layout_height="wrap_content"></DigitalClock><br />
<ZoomButton android:src="@android:drawable/btn_plus" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/zoomButton1"></ZoomButton><br />
<ToggleButton android:text="ToggleButton" android:id="@+id/toggleButton1" android:layout_width="wrap_content" android:layout_height="wrap_content"></ToggleButton><br />
</TableRow><br />
</TableLayout><br />
<TableLayout android:id="@+id/tableLayout3" android:layout_height="wrap_content" android:layout_width="match_parent" android:stretchColumns="0"><br />
<TableRow android:id="@+id/tableRow3" android:layout_width="wrap_content" android:layout_height="wrap_content"><br />
<SeekBar android:layout_height="wrap_content" android:id="@+id/seekBar2" android:layout_width="fill_parent"></SeekBar><br />
</TableRow><br />
</TableLayout><br />
<br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioqnrFlwMfTBWdXgFKbnuVvR5N339tuzVA5i8vRLxuGuoiMn08aPLNuMpYWAzWYiDbF2mlXvjHtZSGHsFY11hytgvU6T50uISXZMFwmcHc7WdNoZ23bwOuSXah85nuFyKEsu-_x9D1uuk/s1600/tablelayout.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioqnrFlwMfTBWdXgFKbnuVvR5N339tuzVA5i8vRLxuGuoiMn08aPLNuMpYWAzWYiDbF2mlXvjHtZSGHsFY11hytgvU6T50uISXZMFwmcHc7WdNoZ23bwOuSXah85nuFyKEsu-_x9D1uuk/s320/tablelayout.png" width="213" /></a></div><br />
</div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com1tag:blogger.com,1999:blog-5139494440226094959.post-53088591710119032412011-05-24T07:03:00.000-07:002011-05-24T07:16:59.842-07:00How To Add a Row Dynamically<div dir="ltr" style="text-align: left;" trbidi="on"><div style="text-align: justify;"> whenever the button is clicked, it adds a new row to the TableLayout and notice the Scrollbar from the ScrollView.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">XML CODE:</div><div style="text-align: left;"><?xml version="1.0" encoding="utf-8"?><br />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"<br />
android:layout_width="fill_parent"<br />
android:layout_height="fill_parent" android:orientation="vertical"><br />
<br />
<Button android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Click To Add New row"></Button><br />
<br />
<ScrollView android:id="@+id/ScrollView01" android:layout_width="wrap_content" android:layout_height="wrap_content"><br />
<br />
<TableLayout android:id="@+id/TableLayout01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:stretchColumns="0"><br />
<br />
<TableRow android:id="@+id/TableRow01" android:layout_width="wrap_content" android:layout_height="wrap_content"><br />
<TextView android:layout_width="fill_parent" android:text="textfield 1-1" android:layout_height="wrap_content" android:id="@+id/TextView01"></TextView><br />
<ImageView android:id="@+id/imageView1" android:layout_height="wrap_content" android:src="@drawable/icon" android:layout_width="wrap_content"></ImageView><br />
<DigitalClock android:text="DigitalClock" android:layout_width="wrap_content" android:id="@+id/digitalClock1" android:layout_height="wrap_content"></DigitalClock><br />
<CheckBox android:id="@+id/CheckBox01" android:text="" android:layout_width="wrap_content" android:layout_height="wrap_content"></CheckBox><br />
</TableRow><br />
<br />
</TableLayout><br />
</ScrollView><br />
</LinearLayout></div><div style="text-align: left;"><br />
</div><div style="text-align: left;"></div><a name='more'></a>[Sorce code=tablelayout.java]<br />
<div style="text-align: left;"><br />
</div><div style="text-align: left;"></div><div style="text-align: left;">public class tablelayout extends Activity implements OnClickListener {</div><div style="text-align: left;"> /** Called when the activity is first created. */</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Button btn;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>int counter=0;</div><div style="text-align: left;"> @Override</div><div style="text-align: left;"> public void onCreate(Bundle savedInstanceState) {</div><div style="text-align: left;"> super.onCreate(savedInstanceState);</div><div style="text-align: left;"> setContentView(R.layout.main);</div><div style="text-align: left;"> btn=(Button)findViewById(R.id.Button01);</div><div style="text-align: left;"> btn.setOnClickListener( this);</div><div style="text-align: left;"> </div><div style="text-align: left;"> }<span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"> public void onClick(View view){</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>TableLayout tl=(TableLayout)findViewById(R.id.TableLayout01);</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>TableRow tr=new TableRow(this);</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>counter++;</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>TextView tv= new TextView(this);</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>tv.setText("text"+counter);</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>CheckBox cb=new CheckBox(this);</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>DigitalClock dc= new DigitalClock(this);</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>ImageView ib=new ImageView(this);</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>ib.setImageResource(R.drawable.icon);</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>tr.addView(tv);</div><div style="text-align: left;"> tr.addView(ib);</div><div style="text-align: left;"> tr.addView(dc);</div><div style="text-align: left;"> tr.addView(cb);</div><div style="text-align: left;"> tl.addView(tr,new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"> }</div><div style="text-align: left;"> </div><div style="text-align: left;">}</div><br />
<div style="text-align: left;">[/source code] <br />
Output Like This.</div><div style="text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCG3vws8loMIRIKpavmMIscIXujXwsb2K24gXpiGI99lLu4eLKYF9dsPIbfJxQe1qJg3uXxeYxa-nLeOev01fPi4JXR_23zMUW9M_E5PFQ8OlAtJ74pci25k7Sx2B60dfGHCz-sk3ma5A/s1600/singlerowimage.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCG3vws8loMIRIKpavmMIscIXujXwsb2K24gXpiGI99lLu4eLKYF9dsPIbfJxQe1qJg3uXxeYxa-nLeOev01fPi4JXR_23zMUW9M_E5PFQ8OlAtJ74pci25k7Sx2B60dfGHCz-sk3ma5A/s320/singlerowimage.png" width="213" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgka7tPtUOwqTiW7bgO3KZRKdVflVTvQZRvvdphGcWdiiSYm08qA9vwwDcYI8opPOLyqmiLlr4etRQEq5bnNQb7pO8c15GmNMdb4yl5BYAxAOF5Gp_1lF0WBgZ3AaBNvy8GawScwM1qDgU/s1600/dynamicadd.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgka7tPtUOwqTiW7bgO3KZRKdVflVTvQZRvvdphGcWdiiSYm08qA9vwwDcYI8opPOLyqmiLlr4etRQEq5bnNQb7pO8c15GmNMdb4yl5BYAxAOF5Gp_1lF0WBgZ3AaBNvy8GawScwM1qDgU/s320/dynamicadd.png" width="212" /></a></div></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: justify;">NOTE:TableLayout is built using the TableLayout and the TableRow commands. There is no TableCols like the<td> tag in HTML. To align your view in columns you have to set the width of the elements and manually control the layout.So</div><div style="text-align: left;"><br />
</div></div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com18tag:blogger.com,1999:blog-5139494440226094959.post-34179642568350062052011-05-21T12:31:00.000-07:002011-05-21T12:31:25.584-07:00How to getting android<div dir="ltr" style="text-align: left;" trbidi="on"><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dxcP1bjIzS8CdyCBP8hdajC_pxRX67axJaGfm-R07v2ofCtDRY55B4f5wTS_0XGMaPlRtXkHfrS-WWDErNRGg' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div></div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com0tag:blogger.com,1999:blog-5139494440226094959.post-84594792045625133402011-05-20T05:38:00.000-07:002011-05-20T05:38:58.457-07:00Push server Notification in Android<div dir="ltr" style="text-align: left;" trbidi="on"><br />
<a href="http://saga-androidapplication.webgarden.com/">If u Want To Download full source code Click this</a></div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com0tag:blogger.com,1999:blog-5139494440226094959.post-90876398245704803102011-05-17T04:55:00.000-07:002011-05-17T04:55:37.549-07:00How to use calendar in android<div dir="ltr" style="text-align: left;" trbidi="on"><br />
<div style="text-align: left;">In this apps we use four class to run calendarview.</div><div style="text-align: left;">first class name as CalendarActivity,Cell,TestActivity,calendarView.Before that we download a images like background.png,calendar_week.png,typeb_calendar_today.png. insert into Drawable folder,because to show and set a day in calendar format .</div><div style="text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj71XpAq_wGQ_lrmTDYk7mxNTd7zqcsLUfUc-hJw1DYPAoptg-Vq1jiFFuX097bh-TdPljLHJuusBumRM1n9WKxGbUNlqhKeExEGRprGbl7SLLxDeZ8pTwF5yzscvbmNzSP3jAtPDrGUEw/s1600/background.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj71XpAq_wGQ_lrmTDYk7mxNTd7zqcsLUfUc-hJw1DYPAoptg-Vq1jiFFuX097bh-TdPljLHJuusBumRM1n9WKxGbUNlqhKeExEGRprGbl7SLLxDeZ8pTwF5yzscvbmNzSP3jAtPDrGUEw/s200/background.png" width="197" /></a></div><br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiY9fuAY-tIFnTioSgF1QawApDgme5PbDRkDJzDR7mv-E2KV9HT_WE-HKQjHu6zKbeH9_b5tD119rythr3wKyhkyns5-R0wbplwIdlilE2MknQw6zCZgBpZ0PX4dlZtukyHJCo3grtNV8M/s1600/calendar_week.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="20" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiY9fuAY-tIFnTioSgF1QawApDgme5PbDRkDJzDR7mv-E2KV9HT_WE-HKQjHu6zKbeH9_b5tD119rythr3wKyhkyns5-R0wbplwIdlilE2MknQw6zCZgBpZ0PX4dlZtukyHJCo3grtNV8M/s400/calendar_week.png" width="400" /></a><br />
<br />
<div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyk58itPcC0RTVEbL46x6G6ayLnLaITnDLyuKaziY9sYB1AKpDBaEXwZXp_SCyrrpl3_0DV7DofGFPN0xLJdwxTf1eGMEtsvxaDdbmIgmP07au7_D1fqZKkrOxGLSc9pXBC4pIfDiucvY/s1600/typeb_calendar_today.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="181" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyk58itPcC0RTVEbL46x6G6ayLnLaITnDLyuKaziY9sYB1AKpDBaEXwZXp_SCyrrpl3_0DV7DofGFPN0xLJdwxTf1eGMEtsvxaDdbmIgmP07au7_D1fqZKkrOxGLSc9pXBC4pIfDiucvY/s200/typeb_calendar_today.png" width="200" /></a></div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">package com.exina.android.calendar;</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">import android.app.Activity;</div><div style="text-align: left;">import android.content.Intent;</div><div style="text-align: left;">import android.os.Bundle;</div><div style="text-align: left;">import android.os.Handler;</div><div style="text-align: left;">import android.text.format.DateUtils;</div><div style="text-align: left;">import android.view.View;</div><div style="text-align: left;">import android.widget.TextView;</div><div style="text-align: left;">import android.widget.Toast;</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">public class CalendarActivity extends Activity implements CalendarView.OnCellTouchListener{</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public static final String MIME_TYPE = "vnd.android.cursor.dir/vnd.exina.android.calendar.date";</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>CalendarView mView = null;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>TextView mHit;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Handler mHandler = new Handler();</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"> /** Called when the activity is first created. */</div><div style="text-align: left;"> @Override</div><div style="text-align: left;"> public void onCreate(Bundle savedInstanceState) {</div><div style="text-align: left;"> super.onCreate(savedInstanceState);</div><div style="text-align: left;"> setContentView(R.layout.main);</div><div style="text-align: left;"> mView = (CalendarView)findViewById(R.id.calendar);</div><div style="text-align: left;"> mView.setOnCellTouchListener(this);</div><div style="text-align: left;"> </div><div style="text-align: left;"> if(getIntent().getAction().equals(Intent.ACTION_PICK))</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>findViewById(R.id.hit).setVisibility(View.INVISIBLE);</div><div style="text-align: left;"> }</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public void onTouch(Cell cell) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Intent intent = getIntent();</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>String action = intent.getAction();</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>if(action.equals(Intent.ACTION_PICK) || action.equals(Intent.ACTION_GET_CONTENT)) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Intent ret = new Intent();</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>ret.putExtra("year", mView.getYear());</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>ret.putExtra("month", mView.getMonth());</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>ret.putExtra("day", cell.getDayOfMonth());</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>this.setResult(RESULT_OK, ret);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>finish();</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>return;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>int day = cell.getDayOfMonth();</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>if(mView.firstDay(day))</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mView.previousMonth();</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>else if(mView.lastDay(day))</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mView.nextMonth();</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>else</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>return;</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mHandler.post(new Runnable() {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public void run() {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Toast.makeText(CalendarActivity.this, DateUtils.getMonthString(mView.getMonth(), DateUtils.LENGTH_LONG) + " "+mView.getYear(), Toast.LENGTH_SHORT).show();</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>});</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"> </div><div style="text-align: left;">}</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">import android.graphics.Canvas;</div><div style="text-align: left;">import android.graphics.Color;</div><div style="text-align: left;">import android.graphics.Paint;</div><div style="text-align: left;">import android.graphics.Rect;</div><div style="text-align: left;">import android.graphics.RectF;</div><div style="text-align: left;">import android.graphics.drawable.Drawable;</div><div style="text-align: left;">import android.util.Log;</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">public class Cell {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private static final String TAG = "Cell";</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>protected Rect mBound = null;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>protected int mDayOfMonth = 1;<span class="Apple-tab-span" style="white-space: pre;"> </span>// from 1 to 31</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>protected Paint mPaint = new Paint(Paint.SUBPIXEL_TEXT_FLAG</div><div style="text-align: left;"> |Paint.ANTI_ALIAS_FLAG);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>int dx, dy;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public Cell(int dayOfMon, Rect rect, float textSize, boolean bold) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mDayOfMonth = dayOfMon;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mBound = rect;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mPaint.setTextSize(textSize/*26f*/);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mPaint.setColor(Color.BLACK);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>if(bold) mPaint.setFakeBoldText(true);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>dx = (int) mPaint.measureText(String.valueOf(mDayOfMonth)) / 2;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>dy = (int) (-mPaint.ascent() + mPaint.descent()) / 2;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public Cell(int dayOfMon, Rect rect, float textSize) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>this(dayOfMon, rect, textSize, false);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>protected void draw(Canvas canvas) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>canvas.drawText(String.valueOf(mDayOfMonth), mBound.centerX() - dx, mBound.centerY() + dy, mPaint);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public int getDayOfMonth() {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>return mDayOfMonth;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public boolean hitTest(int x, int y) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>return mBound.contains(x, y); </div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public Rect getBound() {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>return mBound;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public String toString() {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>return String.valueOf(mDayOfMonth)+"("+mBound.toString()+")";</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;">}</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">import java.text.SimpleDateFormat;</div><div style="text-align: left;">import java.util.Calendar;</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">import android.app.AlertDialog;</div><div style="text-align: left;">import android.content.Intent;</div><div style="text-align: left;">import android.os.Bundle;</div><div style="text-align: left;">import android.preference.Preference;</div><div style="text-align: left;">import android.preference.PreferenceActivity;</div><div style="text-align: left;">import android.widget.Toast;</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">public class TestActivity extends PreferenceActivity implements Preference.OnPreferenceClickListener{</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public void onCreate(Bundle savedInstance) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>super.onCreate(savedInstance);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>addPreferencesFromResource(R.xml.test);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>findPreference("show").setIntent(new Intent(Intent.ACTION_VIEW).setDataAndType(null, CalendarActivity.MIME_TYPE));</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>findPreference("pick").setOnPreferenceClickListener(this);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>findPreference("about").setOnPreferenceClickListener(this);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public void onActivityResult(int requestCode, int resultCode, Intent data) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>if(resultCode==RESULT_OK) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>int year = data.getIntExtra("year", 0);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>int month = data.getIntExtra("month", 0);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>int day = data.getIntExtra("day", 0);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>final Calendar dat = Calendar.getInstance();</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>dat.set(Calendar.YEAR, year);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>dat.set(Calendar.MONTH, month);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>dat.set(Calendar.DAY_OF_MONTH, day);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>SimpleDateFormat format = new SimpleDateFormat("yyyy MMM dd");</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Toast.makeText(TestActivity.this, format.format(dat.getTime()), Toast.LENGTH_LONG).show();</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public boolean onPreferenceClick(Preference preference) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>String key = preference.getKey();</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>if(key.equals("pick")) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>startActivityForResult(new Intent(Intent.ACTION_PICK).setDataAndType(null, CalendarActivity.MIME_TYPE), 100);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>} else if(key.equals("about")) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>new AlertDialog.Builder(this).setIcon(android.R.drawable.ic_dialog_alert).setTitle(R.string.app_name).setMessage("http://saga-androidapplication.webgarden.com/\n\nBy Saga<arun.saga@yahoo.in>").create().show();</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>return true;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;">}</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">import java.util.Calendar;</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">import android.content.Context;</div><div style="text-align: left;">import android.content.res.Resources;</div><div style="text-align: left;">import android.graphics.Canvas;</div><div style="text-align: left;">import android.graphics.Color;</div><div style="text-align: left;">import android.graphics.Rect;</div><div style="text-align: left;">import android.graphics.drawable.Drawable;</div><div style="text-align: left;">import android.util.AttributeSet;</div><div style="text-align: left;">import android.util.MonthDisplayHelper;</div><div style="text-align: left;">import android.view.MotionEvent;</div><div style="text-align: left;">import android.widget.ImageView;</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">public class CalendarView extends ImageView {</div><div style="text-align: left;"> private static int WEEK_TOP_MARGIN = 74;</div><div style="text-align: left;"> private static int WEEK_LEFT_MARGIN = 40;</div><div style="text-align: left;"> private static int CELL_WIDTH = 58;</div><div style="text-align: left;"> private static int CELL_HEIGH = 53;</div><div style="text-align: left;"> private static int CELL_MARGIN_TOP = 92;</div><div style="text-align: left;"> private static int CELL_MARGIN_LEFT = 39;</div><div style="text-align: left;"> private static float CELL_TEXT_SIZE;</div><div style="text-align: left;"> </div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private static final String TAG = "CalendarView"; </div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private Calendar mRightNow = null;</div><div style="text-align: left;"> private Drawable mWeekTitle = null;</div><div style="text-align: left;"> private Cell mToday = null;</div><div style="text-align: left;"> private Cell[][] mCells = new Cell[6][7];</div><div style="text-align: left;"> private OnCellTouchListener mOnCellTouchListener = null;</div><div style="text-align: left;"> MonthDisplayHelper mHelper;</div><div style="text-align: left;"> Drawable mDecoration = null;</div><div style="text-align: left;"> </div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public interface OnCellTouchListener {</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>public void onTouch(Cell cell);</div><div style="text-align: left;"> }</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public CalendarView(Context context) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>this(context, null);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public CalendarView(Context context, AttributeSet attrs) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>this(context, attrs, 0);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public CalendarView(Context context, AttributeSet attrs, int defStyle) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>super(context, attrs, defStyle);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mDecoration = context.getResources().getDrawable(R.drawable.typeb_calendar_today);<span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>initCalendarView();</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private void initCalendarView() {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mRightNow = Calendar.getInstance();</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// prepare static vars</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Resources res = getResources();</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>WEEK_TOP_MARGIN = (int) res.getDimension(R.dimen.week_top_margin);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>WEEK_LEFT_MARGIN = (int) res.getDimension(R.dimen.week_left_margin);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>CELL_WIDTH = (int) res.getDimension(R.dimen.cell_width);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>CELL_HEIGH = (int) res.getDimension(R.dimen.cell_heigh);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>CELL_MARGIN_TOP = (int) res.getDimension(R.dimen.cell_margin_top);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>CELL_MARGIN_LEFT = (int) res.getDimension(R.dimen.cell_margin_left);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>CELL_TEXT_SIZE = res.getDimension(R.dimen.cell_text_size);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// set background</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>setImageResource(R.drawable.background);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mWeekTitle = res.getDrawable(R.drawable.calendar_week);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mWeekTitle.setBounds(WEEK_LEFT_MARGIN, WEEK_TOP_MARGIN, WEEK_LEFT_MARGIN+mWeekTitle.getMinimumWidth(), WEEK_TOP_MARGIN+mWeekTitle.getMinimumHeight());</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mHelper = new MonthDisplayHelper(mRightNow.get(Calendar.YEAR), mRightNow.get(Calendar.MONTH));</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>initCells();</div><div style="text-align: left;"> }</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private void initCells() {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> class _calendar {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>public int day;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>public boolean thisMonth;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>public _calendar(int d, boolean b) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>day = d;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>thisMonth = b;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>public _calendar(int d) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>this(d, false);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> };</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> _calendar tmp[][] = new _calendar[6][7];</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> </div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> for(int i=0; i<tmp.length; i++) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>int n[] = mHelper.getDigitsForRow(i);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>for(int d=0; d<n.length; d++) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>if(mHelper.isWithinCurrentMonth(i,d))</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>tmp[i][d] = new _calendar(n[d], true);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>else</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>tmp[i][d] = new _calendar(n[d]);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> }</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> Calendar today = Calendar.getInstance();</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> int thisDay = 0;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> mToday = null;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> if(mHelper.getYear()==today.get(Calendar.YEAR) && mHelper.getMonth()==today.get(Calendar.MONTH)) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>thisDay = today.get(Calendar.DAY_OF_MONTH);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> }</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// build cells</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Rect Bound = new Rect(CELL_MARGIN_LEFT, CELL_MARGIN_TOP, CELL_WIDTH+CELL_MARGIN_LEFT, CELL_HEIGH+CELL_MARGIN_TOP);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>for(int week=0; week<mCells.length; week++) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>for(int day=0; day<mCells[week].length; day++) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>if(tmp[week][day].thisMonth) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>if(day==0 || day==6 )</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mCells[week][day] = new RedCell(tmp[week][day].day, new Rect(Bound), CELL_TEXT_SIZE);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>else </div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mCells[week][day] = new Cell(tmp[week][day].day, new Rect(Bound), CELL_TEXT_SIZE);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>} else</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mCells[week][day] = new GrayCell(tmp[week][day].day, new Rect(Bound), CELL_TEXT_SIZE);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Bound.offset(CELL_WIDTH, 0); // move to next column </div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// get today</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>if(tmp[week][day].day==thisDay) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mToday = mCells[week][day];</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mDecoration.setBounds(mToday.getBound());</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Bound.offset(0, CELL_HEIGH); // move to next row and first column</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Bound.left = CELL_MARGIN_LEFT;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Bound.right = CELL_MARGIN_LEFT+CELL_WIDTH;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}<span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"> public void setTimeInMillis(long milliseconds) {</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>mRightNow.setTimeInMillis(milliseconds);</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>initCells();</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>this.invalidate();</div><div style="text-align: left;"> }</div><div style="text-align: left;"> </div><div style="text-align: left;"> public int getYear() {</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>return mHelper.getYear();</div><div style="text-align: left;"> }</div><div style="text-align: left;"> </div><div style="text-align: left;"> public int getMonth() {</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>return mHelper.getMonth();</div><div style="text-align: left;"> }</div><div style="text-align: left;"> </div><div style="text-align: left;"> public void nextMonth() {</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>mHelper.nextMonth();</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>initCells();</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>invalidate();</div><div style="text-align: left;"> }</div><div style="text-align: left;"> </div><div style="text-align: left;"> public void previousMonth() {</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>mHelper.previousMonth();</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>initCells();</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>invalidate();</div><div style="text-align: left;"> }</div><div style="text-align: left;"> </div><div style="text-align: left;"> public boolean firstDay(int day) {</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>return day==1;</div><div style="text-align: left;"> }</div><div style="text-align: left;"> </div><div style="text-align: left;"> public boolean lastDay(int day) {</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>return mHelper.getNumberOfDaysInMonth()==day;</div><div style="text-align: left;"> }</div><div style="text-align: left;"> </div><div style="text-align: left;"> public void goToday() {</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>Calendar cal = Calendar.getInstance();</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>mHelper = new MonthDisplayHelper(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH));</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>initCells();</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>invalidate();</div><div style="text-align: left;"> }</div><div style="text-align: left;"> </div><div style="text-align: left;"> public Calendar getDate() {</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>return mRightNow;</div><div style="text-align: left;"> }</div><div style="text-align: left;"> </div><div style="text-align: left;"> @Override</div><div style="text-align: left;"> public boolean onTouchEvent(MotionEvent event) {</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>if(mOnCellTouchListener!=null){</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>for(Cell[] week : mCells) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>for(Cell day : week) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>if(day.hitTest((int)event.getX(), (int)event.getY())) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mOnCellTouchListener.onTouch(day);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}<span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>return super.onTouchEvent(event);</div><div style="text-align: left;"> }</div><div style="text-align: left;"> </div><div style="text-align: left;"> public void setOnCellTouchListener(OnCellTouchListener p) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mOnCellTouchListener = p;</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>@Override</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>protected void onDraw(Canvas canvas) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// draw background</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>super.onDraw(canvas);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mWeekTitle.draw(canvas);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// draw cells</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>for(Cell[] week : mCells) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>for(Cell day : week) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>day.draw(canvas);<span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>// draw today</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>if(mDecoration!=null && mToday!=null) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mDecoration.draw(canvas);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private class GrayCell extends Cell {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public GrayCell(int dayOfMon, Rect rect, float s) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>super(dayOfMon, rect, s);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mPaint.setColor(Color.LTGRAY);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}<span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>private class RedCell extends Cell {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>public RedCell(int dayOfMon, Rect rect, float s) {</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>super(dayOfMon, rect, s);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>mPaint.setColor(0xdddd0000);</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}<span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">}</div><div style="text-align: left;">xml file name as main.xml.</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><?xml version="1.0" encoding="utf-8"?></div><div style="text-align: left;"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"</div><div style="text-align: left;"> android:orientation="vertical"</div><div style="text-align: left;"> android:layout_width="fill_parent"</div><div style="text-align: left;"> android:layout_height="fill_parent"</div><div style="text-align: left;"> ></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span><com.exina.android.calendar.CalendarView android:id="@+id/calendar"</div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> android:layout_width="fill_parent" </div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span> android:layout_height="wrap_content" /></div><div style="text-align: left;"> <TextView android:layout_width="fill_parent"</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_height="wrap_content"</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>android:text="@string/app_name" /></div><div style="text-align: left;"> <TextView android:id="@+id/hit"</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_width="fill_parent"</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>android:layout_height="wrap_content"</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span>android:text="@string/hit" /></div><div style="text-align: left;"> </div><div style="text-align: left;"></LinearLayout></div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">Go to AndroidManifest.xml .</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">package="com.exina.android.calendar"</div><div style="text-align: left;"> android:versionCode="1"</div><div style="text-align: left;"> android:versionName="1.0"></div><div style="text-align: left;"> <application android:icon="@drawable/icon" android:label="@string/app_name"></div><div style="text-align: left;"> <activity android:name=".CalendarActivity"</div><div style="text-align: left;"> android:label="@string/app_name"></div><div style="text-align: left;"> </div><div style="text-align: left;"> <intent-filter></div><div style="text-align: left;"> <action android:name="android.intent.action.PICK" /></div><div style="text-align: left;"> <category android:name="android.intent.category.DEFAULT" /></div><div style="text-align: left;"> <data android:mimeType="vnd.android.cursor.dir/vnd.exina.android.calendar.date" /></div><div style="text-align: left;"> </intent-filter></div><div style="text-align: left;"> <intent-filter></div><div style="text-align: left;"> <action android:name="android.intent.action.VIEW" /></div><div style="text-align: left;"> <category android:name="android.intent.category.DEFAULT" /></div><div style="text-align: left;"> <data android:mimeType="vnd.android.cursor.dir/vnd.exina.android.calendar.date" /></div><div style="text-align: left;"> </intent-filter></div><div style="text-align: left;"> </activity></div><div style="text-align: left;"><br />
</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span><activity android:label="@string/app_name"</div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span> android:name=".TestActivity" android:icon="@drawable/icon"></div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span><intent-filter></div><div style="text-align: left;"> <span class="Apple-tab-span" style="white-space: pre;"> </span><action android:name="android.intent.action.MAIN"/></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span><category android:name="android.intent.category.LAUNCHER"/></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></intent-filter></div><div style="text-align: left;"><span class="Apple-tab-span" style="white-space: pre;"> </span></activity></div><div style="text-align: left;"></application></div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">Output:</div><div style="text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXCqQaG01cmUNoKFDvIFSLfnI_kU7NYlOlJ_7k8ldiNzpItrAoSaO9qq_1trW6b53y79Z6OFnygFlw68VFGCj6KR7g_hb2gxVlBReFgLjXqNtVi2rzbRncgLckNqzqS9VgRNc6gANdfDY/s1600/home.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXCqQaG01cmUNoKFDvIFSLfnI_kU7NYlOlJ_7k8ldiNzpItrAoSaO9qq_1trW6b53y79Z6OFnygFlw68VFGCj6KR7g_hb2gxVlBReFgLjXqNtVi2rzbRncgLckNqzqS9VgRNc6gANdfDY/s320/home.png" width="213" /></a></div> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5NlPN31De0risrl7FZlXbJuukDcAlzN2bZH3MUZewDnoZn3ziEreqzyAUGFD2fYpofv4aBWeCk88XXKmpkVpwQC81_PX5SIRcXVZi6JoMcrr60qV1SbKMXEftxChjqRyudjUYxQ6SY2g/s1600/calendar.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5NlPN31De0risrl7FZlXbJuukDcAlzN2bZH3MUZewDnoZn3ziEreqzyAUGFD2fYpofv4aBWeCk88XXKmpkVpwQC81_PX5SIRcXVZi6JoMcrr60qV1SbKMXEftxChjqRyudjUYxQ6SY2g/s320/calendar.png" width="213" /></a><br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdh2KhbG_5nHagABhf-YPwjfW0lH-YO0oMcG_WD-13SwTyRZAW2YANzSK5bT4laLRzwnF-hYkY6m4h0VjvnAeRzt_i3W6YQ9Jp363qWo_zms_2HuoDvRcM7y9wYY30Q0_13qZzh5rHLCg/s1600/pickdate.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdh2KhbG_5nHagABhf-YPwjfW0lH-YO0oMcG_WD-13SwTyRZAW2YANzSK5bT4laLRzwnF-hYkY6m4h0VjvnAeRzt_i3W6YQ9Jp363qWo_zms_2HuoDvRcM7y9wYY30Q0_13qZzh5rHLCg/s320/pickdate.png" width="213" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHZYqk-HGYRi6crMXNJHYXrykNLlcirstoUyjQkxYdlk-5_3byZWNdjmLUISOGpB20qVgXrSX3CrZgQpXg64E7zSHyyt008mROFk83NkC8bzHwhToPwzMFmy_g447EV7uzcS1cszg2Qmo/s1600/about.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHZYqk-HGYRi6crMXNJHYXrykNLlcirstoUyjQkxYdlk-5_3byZWNdjmLUISOGpB20qVgXrSX3CrZgQpXg64E7zSHyyt008mROFk83NkC8bzHwhToPwzMFmy_g447EV7uzcS1cszg2Qmo/s320/about.png" width="213" /></a><br />
<div style="text-align: left;"><br />
</div></div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com2tag:blogger.com,1999:blog-5139494440226094959.post-60713808522806869122011-05-17T00:58:00.001-07:002011-05-17T00:59:23.400-07:00<div dir="ltr" style="text-align: left;" trbidi="on"><br />
</div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com0tag:blogger.com,1999:blog-5139494440226094959.post-81212785204894356872011-05-15T00:28:00.000-07:002011-05-15T00:28:54.358-07:00Samsung Nexus S 4G<div dir="ltr" style="text-align: left;" trbidi="on"><div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0r74E8pgWL6kxakmwWHLWEAn2SVQr2naehjIXa-Th9KFdbpQO0rtuPFalWrEYeJtEwfOifqm8oYuVNF3pZJZoUMzNBv5TiCbSP4d9SzaUHtHIwDqz_eDxD5qpltlFZliXbYq7Hzm8x-U/s1600/samsungNexus4g.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="240" j8="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0r74E8pgWL6kxakmwWHLWEAn2SVQr2naehjIXa-Th9KFdbpQO0rtuPFalWrEYeJtEwfOifqm8oYuVNF3pZJZoUMzNBv5TiCbSP4d9SzaUHtHIwDqz_eDxD5qpltlFZliXbYq7Hzm8x-U/s320/samsungNexus4g.png" width="320" /></a></div>The good: The Samsung Nexus S 4G offers a brilliant display, WiMax support, and agreeable performance. It gains a number of usability improvements from the Gingerbread OS, and its straight Google interface will appeal to Android purists.<br />
The bad: The Samsung Nexus S 4G feels rather fragile, and it lacks a memory card slot and LED notifications. We were hoping for more new features over the Nexus One, and its 4G connection was spotty at times.<br />
The bottom line: The Samsung Nexus S 4G offers a great combination of design, features, and performance. The 4G connection could be more reliable, but the Gingerbread OS, stock Android UI, and admirable call quality make for a satisfying smartphone.<br />
<br />
Editors' note: Sprint's Samsung Nexus S 4G only differs from T-Mobile's Nexus S in a few ways. As such, we will focus on those differences for this review. For CNET's full analysis of the Nexus S series, including design and features, check our review of T-Mobile's handset.<br />
As it has a habit of doing, Sprint grabbed the CTIA spotlight early this year when it announced the Samsung Nexus S 4G the day before the annual wireless confab convened in Florida. Though the device was hardly new to the cell phone <br />
<div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_OAmd-QVXL4g5vpAQPCyUJwTob5FdxQ65SoSOi3ApUX7m1hlnSvBRCo7TqRASqWarIboQa30CY_GGJyYmJ6cq-3NuzfUMzpTN9qA3Co5NqVvm7e4m3h7FbeUNA1VUBdahlXWbqE6ph0M/s1600/1.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="150" j8="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_OAmd-QVXL4g5vpAQPCyUJwTob5FdxQ65SoSOi3ApUX7m1hlnSvBRCo7TqRASqWarIboQa30CY_GGJyYmJ6cq-3NuzfUMzpTN9qA3Co5NqVvm7e4m3h7FbeUNA1VUBdahlXWbqE6ph0M/s200/1.png" width="200" /></a></div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR7VKRLFxm1oPZoMYlI6ObSJ_dHY_g6hWvTYhD1aEPadeUIAkMcRyLLvRGA6xO2Iy8knvmlMfd92tkeGIP99HlIuK_euk1zzdmGvpeQPbzjCfrMwP9YDk9Ovr7UrTO-Z3Gc9PeoY4g420/s1600/nexus4g_512x288.jpg" imageanchor="1" style="clear: right; cssfloat: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="112" j8="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR7VKRLFxm1oPZoMYlI6ObSJ_dHY_g6hWvTYhD1aEPadeUIAkMcRyLLvRGA6xO2Iy8knvmlMfd92tkeGIP99HlIuK_euk1zzdmGvpeQPbzjCfrMwP9YDk9Ovr7UrTO-Z3Gc9PeoY4g420/s200/nexus4g_512x288.jpg" width="200" /></a> </div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"> </div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div>Manufacturer: Samsung.Part Number:SPHD720KIT..General<br />
Product Type Smartphone With digital camera .Service Provider Sprint Nextel .Width 2.48 in .Depth 0.43 in .Height 4.88 in .Weight 4.55 oz .Body Color Black .Cellular<br />
Technology CDMA/WiMax .Band WCDMA (UMTS) / GSM 850/900/1800/1900 .Phone Design PDA .Vibrating Alert Yes .Polyphonic Ringer Yes .Voice Dialing Yes .Call Timer Yes .Conference Call Capability Yes .Voice Recorder Yes .Caller ID Yes .Speakerphone Yes .Wireless Interface IEEE 802.11g,<br />
IEEE 802.11b,<br />
Bluetooth 2.1 EDR,<br />
IEEE 802.11n .Additional Features Multitasking,<br />
Widgets support .Communicator Features<br />
Operating System Google Android 2.3 .Synchronization With PC Yes .User Memory 16 GB .Messaging & Data Services<br />
Short Messaging Service (SMS) Yes .Messaging Services Google Talk .Mobile Email Yes .Supported Email Protocols SMTP,<br />
POP3,<br />
IMAP4 .GPRS (General Packet Radio Service) Yes .EDGE (Enhanced Data Rates For Global Evolution) Yes .Internet Browser Yes .Included Services YouTube,<br />
Gmail,<br />
Google Search,<br />
Android Market .HSDPA (High Speed Downlink Packet Access) Yes .Messaging / Data Features Text messages,<br />
Multimedia messages (MMS),<br />
E-Mail .Digital Camera<br />
Camera highlights With a resolution of 5 megapixels, this camera phone will give you better pictures than other phones. .Sensor Resolution 5 megapixels .Still Image Resolutions 2560 x 1920 .Focus Adjustment Automatic .White Balance Automatic,<br />
Presets .Camera Light Source Flash .Video Recorder Resolutions 720 x 480 .Digital Video Formats H.264,<br />
H.263,<br />
MPEG-4 .Features Video recording,<br />
Geo-tagging .GPS System<br />
Included GPS Software Google Maps .Organizer<br />
Alarm Clock Yes .Calendar Yes .Reminder Yes .Display<br />
Type OLED display .Technology Super AMOLED .Display Resolution 800 x 480 pixels .Diagonal Size 4 in .Color Support Color .Features Wallpaper .Digital Player (Recorder)<br />
Supported Digital Audio Standards M4A,<br />
MP3,<br />
MIDI,<br />
Ogg Vorbis,<br />
AAC,<br />
AMR .Connections<br />
Connector Type 1 x Micro-USB,<br />
1 x Headset jack - Mini-phone 3.5 mm .Miscellaneous<br />
Resistance Fingerprint-resistant oleophobic coating .Specific absorption rate (SAR) 0.9 W/Kg .Power<br />
Type Power adapter .Battery<br />
Technology - Lithium ion .Capacity 1500 mAh .Talk Time Up to 840 min (2G),<br />
Up to 402 min (3G) .Standby Time Up to 17.8 days on 3G/ Up to 29.7 days on 2G .<br />
<br />
Samsung Nexus S 4G (Sprint):<br />
$149.99 <br />
<div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><br />
</div><div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><br />
</div></div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com2tag:blogger.com,1999:blog-5139494440226094959.post-57111765112476774352011-05-15T00:24:00.000-07:002011-05-15T00:24:09.740-07:00Phone can Help to Moms in Shopping<div dir="ltr" style="text-align: left;" trbidi="on"><div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfvjoT025EWG6B_ty7zC8HpYwauwI7JrRNEtZ_2uMmPsxifA0s9d1_a0kKxf1CtWapbNhNW3bc_XgC5nLouLmmMeAcINNq0q7sT_UrsbaAY5yC4Twzd4xSouHvBKgx39D55qiVa-CiHwU/s1600/mobile.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="268" j8="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfvjoT025EWG6B_ty7zC8HpYwauwI7JrRNEtZ_2uMmPsxifA0s9d1_a0kKxf1CtWapbNhNW3bc_XgC5nLouLmmMeAcINNq0q7sT_UrsbaAY5yC4Twzd4xSouHvBKgx39D55qiVa-CiHwU/s320/mobile.jpg" width="320" /></a></div>Greystripe, the research firm, studied more than 230 women who were using iPhone, iPod Touch or Android devices while making shopping decisions. The study also reported the women preferred free apps more.The new age moms are turning to smartphones for help in shopping. Not that they are shopping from the phones itself, rather they are using the phones to find out where the stores are and also for comparing prices as well, says a research firm Greystripe. <br />
In a press release, the research firm says that close to half of the moms are using these devices to locate stores and 36 per cent of them are comparing prices using the smartphones. <br />
"Smartphones have become the super tool for moms on the go," said Dane Holewinski, director of marketing with Greystripe. "The majority of moms with smartphones are using those devices for their day to day tasks especially shopping, making them the ideal target for advertisers."<br />
Greystripe studied the shopping behaviour of over 230 women who were using iPhone and iPod Touch devices or Android smartrphones for help in making their shopping decisions. The women participated in the survey through mobile banner ads placed by Greystripe and 66 per cent of them admitted they took the help of mobile phones while making their shopping decisions. The study also reported 57 per cent women used coupons to get discounts on their shopping every time. <br />
The research also found women were more responsive to mobile advertising, and about 91 per cent respondents said they preferred free apps with advertisements. <br />
Greystripe itself is a mobile ad network, so it does have an interest in the results of the survey.</div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com5tag:blogger.com,1999:blog-5139494440226094959.post-29114499557646916552011-05-15T00:12:00.000-07:002011-05-15T00:12:24.149-07:00how to use a color in horizontal progress bar ?<div dir="ltr" style="text-align: left;" trbidi="on"><div style="text-align: left;"></div><div style="text-align: left;"></div><div style="text-align: left;">Create a one folder name as Drawable and create another xml in that folder</div><div style="text-align: left;">res/drawable/myprogressbar.xml</div><div style="text-align: left;"><br />
<layer-list xmlns:android="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"></div><div style="text-align: left;"> <item android:id="@android:id/background"><br />
<shape><br />
<corners android:radius="25dip" /><br />
<gradient android:startColor="#000000" android:endColor="#000000" /></div><div style="text-align: left;"> <stroke android:width="1dp" android:color="#000000" /><br />
</shape><br />
</item><br />
<br />
<item android:id="@android:id/progress"><br />
<clip><br />
<shape><br />
<corners android:radius="35dip" /><br />
<gradient android:startColor="#990000" android:endColor="#E6E8FA" /><br />
<!--<br />
<stroke android:width="1dp" android:color="#6B8E23" /><br />
--><br />
</shape><br />
</clip><br />
</item></div><div style="text-align: left;"></layer-list></div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><br />
this xml files can show the loading progress bar in a color.</div><div style="text-align: left;"><br />
</div><div style="text-align: left;">main.xml</div><div style="text-align: left;"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<LinearLayout xmlns:android="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"<br />
android:layout_width="fill_parent"<br />
android:layout_height="fill_parent" android:orientation="vertical"><br />
<ProgressBar android:layout_marginLeft="5dp" android:layout_width="250dp" android:progressDrawable="@drawable/myprogressbar" android:id="@+id/progressBar1" android:layout_marginBottom="90dp" android:layout_marginRight="10dp" style="?android:attr/progressBarStyleHorizontal" android:layout_height="wrap_content"></ProgressBar><br />
</LinearLayout></div><div style="text-align: left;"><br />
</div><div style="text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf4qjpgxSimgHmNE8Rn7EUSXdgTfE1o6ZlVUPnn7mxmFrAeZ9G8tqhbDePU1_vIB0oJ-0kpTxTc5Qz-u_RNO3dPU70CyAQJ4Ud0_X0OZ4OtnElVspzSYjmt05vf0uyKdZqqAFI9WWBA0M/s1600/colorpb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" j8="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf4qjpgxSimgHmNE8Rn7EUSXdgTfE1o6ZlVUPnn7mxmFrAeZ9G8tqhbDePU1_vIB0oJ-0kpTxTc5Qz-u_RNO3dPU70CyAQJ4Ud0_X0OZ4OtnElVspzSYjmt05vf0uyKdZqqAFI9WWBA0M/s320/colorpb.png" width="213" /></a></div><div style="text-align: left;"><br />
</div></div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com52tag:blogger.com,1999:blog-5139494440226094959.post-89939794881148425692011-05-06T05:19:00.000-07:002011-05-06T05:19:25.013-07:00How to use ExpandableListView using Check box<div dir="ltr" style="text-align: left;" trbidi="on"><br />
<br />
<br />
<div style="text-align: justify;">how to add checkboxes to an expandable list view like this one? Nothing can be simpler, you just add CheckBox control to the child view that forms the row and that's it. Except that it does not work without some tweaks.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">package com.pack;</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">import android.app.ExpandableListActivity;</div><div style="text-align: justify;">import android.os.Bundle;</div><div style="text-align: justify;">import android.view.View;</div><div style="text-align: justify;">import android.view.ViewGroup;</div><div style="text-align: justify;">import android.widget.ListView;</div><div style="text-align: justify;">import android.widget.CheckBox;</div><div style="text-align: justify;">import android.widget.ExpandableListView;</div><div style="text-align: justify;">import android.widget.SimpleExpandableListAdapter;</div><div style="text-align: justify;">import android.widget.TextView;</div><div style="text-align: justify;">import java.util.List;</div><div style="text-align: justify;">import java.util.ArrayList;</div><div style="text-align: justify;">import android.util.Log;</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">public class ELSample extends ExpandableListActivity</div><div style="text-align: justify;">{</div><div style="text-align: justify;"> private static final String LOG_TAG = "ElistCBox2";</div><div style="text-align: justify;"> private ColorAdapter expListAdapter;</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> /** Called when the activity is first created. */</div><div style="text-align: justify;"> @Override</div><div style="text-align: justify;"> public void onCreate(Bundle icicle)</div><div style="text-align: justify;"> {</div><div style="text-align: justify;"> super.onCreate(icicle);</div><div style="text-align: justify;"> setContentView(R.layout.main);</div><div style="text-align: justify;"> ArrayList<String> groupNames = new ArrayList<String>();</div><div style="text-align: justify;"> groupNames.add( "Food" );</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span> groupNames.add( "Fruit" );</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span> groupNames.add( "Juice" );</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span> groupNames.add( "Ice Cream" );</div><div style="text-align: justify;"> ArrayList<ArrayList<Color>> colors = new ArrayList<ArrayList<Color>>(); </div><div style="text-align: justify;"> ArrayList<Color> color = new ArrayList<Color>();</div><div style="text-align: justify;"> color.add( new Color( "Meals","Indian Meals", false ) ); </div><div style="text-align: justify;"> color.add( new Color( "Andra Meals","Staple food", false ) );</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>color.add( new Color( "Sea-Food","Butter fish", true ) ); </div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>color.add( new Color( "Crispy-Food","Burger", false ) );</div><div style="text-align: justify;"> colors.add( color );</div><div style="text-align: justify;"> </div><div style="text-align: justify;"> color = new ArrayList<Color>();</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>color.add( new Color( "Apple","American apple",false ) );</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>color.add( new Color( "Orange","Navel orange",false ) ); </div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>color.add( new Color( "Grape","Black Grape", true ) );</div><div style="text-align: justify;"> colors.add( color );</div><div style="text-align: justify;"> color = new ArrayList<Color>();</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>color.add( new Color( "Milk Shake","Butter Fruit Mix",true ) );</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>color.add( new Color( "Carrot","Juice with cherry",false ) ); </div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>color.add( new Color( "Mango","Juice with curd", true ) );</div><div style="text-align: justify;"> colors.add( color );</div><div style="text-align: justify;"> color = new ArrayList<Color>();</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>color.add( new Color( "Strawberry","Cone",true ) );</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>color.add( new Color( "Brain Freeze Ice Cream","Bar",false ) ); </div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>color.add( new Color( "Cookie Puss Ice Cream","Chocolate Flavour", false ) );</div><div style="text-align: justify;"> colors.add( color );</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>expListAdapter = new ColorAdapter( this,groupNames, colors );</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>setListAdapter( expListAdapter );</div><div style="text-align: justify;"> }</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> public void onContentChanged () {</div><div style="text-align: justify;"> super.onContentChanged();</div><div style="text-align: justify;"> Log.d( LOG_TAG, "onContentChanged" );</div><div style="text-align: justify;"> }</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> public boolean onChildClick(</div><div style="text-align: justify;"> ExpandableListView parent, </div><div style="text-align: justify;"> View v, </div><div style="text-align: justify;"> int groupPosition,</div><div style="text-align: justify;"> int childPosition,</div><div style="text-align: justify;"> long id) {</div><div style="text-align: justify;"> Log.d( LOG_TAG, "onChildClick: "+childPosition );</div><div style="text-align: justify;"> CheckBox cb = (CheckBox)v.findViewById( R.id.check1 );</div><div style="text-align: justify;"> if( cb != null )</div><div style="text-align: justify;"> cb.toggle();</div><div style="text-align: justify;"> return false;</div><div style="text-align: justify;"> }</div><div style="text-align: justify;">}</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">_________________________________________________________________________________</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">The first bizarre thing you can notice in res/layout/child_row.xml that the CheckBox is made non-focusable. Why to do that when we want the checkbox to capture "click" events beside "touch" events? There is a complicated answer already presented in this post. The ViewGroup encapsulating the list row (the LinearLayout in res/layout/child_row.xml) must retain the focus otherwise we don't get onChildClick events (see ElistCBox.java).</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">public class ColorAdapter extends BaseExpandableListAdapter {</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> private Context context;</div><div style="text-align: justify;"> private ArrayList<String> groups;</div><div style="text-align: justify;"> private ArrayList<ArrayList<Color>> colors;</div><div style="text-align: justify;"> private LayoutInflater inflater;</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> public ColorAdapter(Context context, </div><div style="text-align: justify;"> ArrayList<String> groups,</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>ArrayList<ArrayList<Color>> colors ) { </div><div style="text-align: justify;"> this.context = context;</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>this.groups = groups;</div><div style="text-align: justify;"> this.colors = colors;</div><div style="text-align: justify;"> inflater = LayoutInflater.from( context );</div><div style="text-align: justify;"> }</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> public Object getChild(int groupPosition, int childPosition) {</div><div style="text-align: justify;"> return colors.get( groupPosition ).get( childPosition );</div><div style="text-align: justify;"> }</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> public long getChildId(int groupPosition, int childPosition) {</div><div style="text-align: justify;"> return (long)( groupPosition*1024+childPosition ); // Max 1024 children per group</div><div style="text-align: justify;"> }</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {</div><div style="text-align: justify;"> View v = null;</div><div style="text-align: justify;"> if( convertView != null )</div><div style="text-align: justify;"> v = convertView;</div><div style="text-align: justify;"> else</div><div style="text-align: justify;"> v = inflater.inflate(R.layout.child_row, parent, false); </div><div style="text-align: justify;"> Color c = (Color)getChild( groupPosition, childPosition );</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>TextView color = (TextView)v.findViewById( R.id.childname );</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>if( color != null )</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>color.setText( c.getColor() );</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>TextView rgb = (TextView)v.findViewById( R.id.rgb );</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>if( rgb != null )</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>rgb.setText( c.getRgb() );</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>CheckBox cb = (CheckBox)v.findViewById( R.id.check1 );</div><div style="text-align: justify;"> cb.setChecked( c.getState() );</div><div style="text-align: justify;"> return v;</div><div style="text-align: justify;"> }</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> public int getChildrenCount(int groupPosition) {</div><div style="text-align: justify;"> return colors.get( groupPosition ).size();</div><div style="text-align: justify;"> }</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> public Object getGroup(int groupPosition) {</div><div style="text-align: justify;"> return groups.get( groupPosition ); </div><div style="text-align: justify;"> }</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> public int getGroupCount() {</div><div style="text-align: justify;"> return groups.size();</div><div style="text-align: justify;"> }</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> public long getGroupId(int groupPosition) {</div><div style="text-align: justify;"> return (long)( groupPosition*1024 ); // To be consistent with getChildId</div><div style="text-align: justify;"> } </div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {</div><div style="text-align: justify;"> View v = null;</div><div style="text-align: justify;"> if( convertView != null )</div><div style="text-align: justify;"> v = convertView;</div><div style="text-align: justify;"> else</div><div style="text-align: justify;"> v = inflater.inflate(R.layout.group_row, parent, false); </div><div style="text-align: justify;"> String gt = (String)getGroup( groupPosition );</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>TextView colorGroup = (TextView)v.findViewById( R.id.childname );</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>if( gt != null )</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span>colorGroup.setText( gt );</div><div style="text-align: justify;"> return v;</div><div style="text-align: justify;"> }</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> public boolean hasStableIds() {</div><div style="text-align: justify;"> return true;</div><div style="text-align: justify;"> }</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> public boolean isChildSelectable(int groupPosition, int childPosition) {</div><div style="text-align: justify;"> return true;</div><div style="text-align: justify;"> } </div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> public void onGroupCollapsed (int groupPosition) {} </div><div style="text-align: justify;"> public void onGroupExpanded(int groupPosition) {}</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">}</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Then Create another class for set a color,name as Color.java</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">public class Color {</div><div style="text-align: justify;"> public String color = null;</div><div style="text-align: justify;"> public String rgb = null;</div><div style="text-align: justify;"> public boolean state = false;</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> public Color( String color, String rgb, boolean state ) {</div><div style="text-align: justify;"> this.color = color;</div><div style="text-align: justify;"> this.rgb = rgb;</div><div style="text-align: justify;"> this.state = state;</div><div style="text-align: justify;"> }</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> public String getColor() {</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span> return color;</div><div style="text-align: justify;"> }</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> public String getRgb() {</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span> return rgb;</div><div style="text-align: justify;"> }</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> public boolean getState() {</div><div style="text-align: justify;"><span class="Apple-tab-span" style="white-space: pre;"> </span> return state;</div><div style="text-align: justify;"> }</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">}</div><div style="text-align: justify;">_________________________________________________________________________________</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">This would solve the problem for a Button but not for a CheckBox. Actually, I don't know why the Button behaves correctly and the CheckBox does not. My experience is that even if CheckBox has the focus, clicking on the row of the CheckBox does not toggle its state. I am curious if anyone can provide an explanation, here I just record the fact. Remove the android:focusable="false" line from the CheckBox element in child_row.xml and observe, that you can click on the highlighted row as much as you like but the CheckBox does not toggle. That's why I implemented it by "hand" - I took away the focus from the CheckBox, this makes the child row deliver onChildClick events then I toggled the state of the CheckBox programmatically. If anyone has a better solution, I would be deeply interested.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">[Name as Group_row.xml]</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><?xml version="1.0" encoding="utf-8"?></div><div style="text-align: justify;"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"</div><div style="text-align: justify;"> android:orientation="horizontal"</div><div style="text-align: justify;"> android:layout_width="fill_parent"</div><div style="text-align: justify;"> android:layout_height="wrap_content"></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> <TextView android:id="@+id/childname"</div><div style="text-align: justify;"> android:paddingLeft="50px"</div><div style="text-align: justify;"> android:textSize="14px"</div><div style="text-align: justify;"> android:textColor="#990000"</div><div style="text-align: justify;"> android:textStyle="italic"</div><div style="text-align: justify;"> android:layout_width="150px"</div><div style="text-align: justify;"> android:layout_height="wrap_content"/></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"></LinearLayout></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">[close group_row.xml]</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Then again create a new child xml file,name as Child_row.xml</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><?xml version="1.0" encoding="utf-8"?></div><div style="text-align: justify;"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"</div><div style="text-align: justify;"> android:orientation="horizontal"</div><div style="text-align: justify;"> android:layout_width="fill_parent"</div><div style="text-align: justify;"> android:background="#3300FF"</div><div style="text-align: justify;"> android:layout_height="wrap_content"></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> <TextView android:id="@+id/childname"</div><div style="text-align: justify;"> android:paddingLeft="50px"</div><div style="text-align: justify;"> android:focusable="false"</div><div style="text-align: justify;"> android:textSize="14px"</div><div style="text-align: justify;"> android:textStyle="italic"</div><div style="text-align: justify;"> android:layout_width="150px"</div><div style="text-align: justify;"> android:layout_height="wrap_content"/></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> <TextView android:id="@+id/rgb"</div><div style="text-align: justify;"> android:focusable="false"</div><div style="text-align: justify;"> android:textSize="14px"</div><div style="text-align: justify;"> android:textStyle="italic"</div><div style="text-align: justify;"> android:layout_width="100px"</div><div style="text-align: justify;"> android:layout_height="wrap_content"/></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> <CheckBox android:id="@+id/check1"</div><div style="text-align: justify;"> android:focusable="false"</div><div style="text-align: justify;"> android:layout_width="wrap_content"</div><div style="text-align: justify;"> android:layout_height="wrap_content"/></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"></LinearLayout></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIGcO3UdltCoZx8vlI8_ifiwfYcOYEg6ACAquASe_Egg-ANF0PQmBRbcUmiTxa7lrpkvECNeZ_Q-BytXZnweeLtyg8aeoQ4hhYpFhrcp97e7t5rlBVSgypCLKi8V2OmN5Yls74gnLa1fE/s1600/home.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIGcO3UdltCoZx8vlI8_ifiwfYcOYEg6ACAquASe_Egg-ANF0PQmBRbcUmiTxa7lrpkvECNeZ_Q-BytXZnweeLtyg8aeoQ4hhYpFhrcp97e7t5rlBVSgypCLKi8V2OmN5Yls74gnLa1fE/s320/home.png" width="213" /></a></div> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioVjcjpNC3axG8YoziagfK4pUxiJ_I3n02Bu68qECsra80HLtieyZy3mLaVGbqEHJxLNKBKRDjquvSjer0g97A-mlIewAIqKykk0bqQyVBzQXxwLS474TLib67nbG1DIafV1RXv0l4gTQ/s1600/food.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioVjcjpNC3axG8YoziagfK4pUxiJ_I3n02Bu68qECsra80HLtieyZy3mLaVGbqEHJxLNKBKRDjquvSjer0g97A-mlIewAIqKykk0bqQyVBzQXxwLS474TLib67nbG1DIafV1RXv0l4gTQ/s320/food.png" width="213" /></a><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6Ef_GUQt41NdJgOel3SD2bIZRgbh3Blc1F_NUzygnnBIOlZXkWqlIoil-HX6dOQcSHQmNYmYwA0OutYKXtdeOIlZySeHhky5GTCC_lccg1oHgq7Y4ZbCt2Y2utWN9MJYyx261DOew2Lo/s1600/itemselect.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6Ef_GUQt41NdJgOel3SD2bIZRgbh3Blc1F_NUzygnnBIOlZXkWqlIoil-HX6dOQcSHQmNYmYwA0OutYKXtdeOIlZySeHhky5GTCC_lccg1oHgq7Y4ZbCt2Y2utWN9MJYyx261DOew2Lo/s320/itemselect.png" width="213" /></a></div><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioVjcjpNC3axG8YoziagfK4pUxiJ_I3n02Bu68qECsra80HLtieyZy3mLaVGbqEHJxLNKBKRDjquvSjer0g97A-mlIewAIqKykk0bqQyVBzQXxwLS474TLib67nbG1DIafV1RXv0l4gTQ/s1600/food.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a><br />
<div style="text-align: justify;"><br />
</div><br />
<br />
</div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com8tag:blogger.com,1999:blog-5139494440226094959.post-32295353332878505172011-05-06T01:50:00.000-07:002011-05-06T01:50:35.311-07:00Android Developers Blog: Android Cloud To Device Messaging<a href="http://android-developers.blogspot.com/2010/05/android-cloud-to-device-messaging.html">Android Developers Blog: Android Cloud To Device Messaging</a>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com2tag:blogger.com,1999:blog-5139494440226094959.post-10532438333184882612011-05-05T11:30:00.000-07:002011-05-05T11:30:59.322-07:00How to use Web view in Android<div dir="ltr" style="text-align: left;" trbidi="on"><span style="color: #7f007f; font-size: x-small;"><span style="color: #7f007f; font-size: x-small;"> [Sourcecode=java]<br />
<br />
<br />
<span style="font-size: x-small;">setContentView(R.layout.</span><i><span style="color: #0000c0; font-size: x-small;"><span style="color: #0000c0; font-size: x-small;">main</span></span><span style="font-size: x-small;">);</span><span style="font-size: x-small;"><div align="left">WebView wv=(WebView)findViewById(R.id.</div><div align="left" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;">wv.loadUrl(</div><div align="left" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div><div align="left" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><span style="font-size: x-small;">[@source-code/]</span></div><div align="left" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div><div align="left" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><span style="font-size: x-small;"> </span><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;">With exactly I have to added to the AndroidManifest.xml! </div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;">Give a Uses- Permission like <span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;"></span></span><span style="color: #3f7f7f; font-size: x-small;"><span style="color: #3f7f7f; font-size: x-small;">uses-permission</span></span><span style="color: black; font-size: x-small;"> </span><span style="color: #7f007f; font-size: x-small;"><span style="color: #7f007f; font-size: x-small;">android:name</span></span><span style="color: black; font-size: x-small;">=</span><i><span style="color: #2a00ff; font-size: x-small;"><span style="color: #2a00ff; font-size: x-small;">"android.permission.INTERNET"</span></span><span style="color: black; font-size: x-small;"> </span><span style="color: teal; font-size: x-small;"><span style="color: teal; font-size: x-small;">/></span></span></i></div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipwHV9mBpKVIS8zh6TKP5lYx0_0WnsjTem1UU2A6w1_Gy03JtneZOLiyQj9gaRC1optUVWfyFwiRYQZapwCH7UrfRm32KgqZprkCneIN-SiTrmV1aIhq5thzH4QnR4ojTOzFDsaH28FLY/s1600/webview.png" imageanchor="1" style="height: 220px; margin-left: 1em; margin-right: 1em; width: 236px;"><img border="0" height="320" j8="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipwHV9mBpKVIS8zh6TKP5lYx0_0WnsjTem1UU2A6w1_Gy03JtneZOLiyQj9gaRC1optUVWfyFwiRYQZapwCH7UrfRm32KgqZprkCneIN-SiTrmV1aIhq5thzH4QnR4ojTOzFDsaH28FLY/s320/webview.png" width="213" /></a></div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div><div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"><br />
</div></div></span><i><span style="color: #0000c0; font-size: x-small;"><span style="color: #0000c0; font-size: x-small;">webView1</span></span><span style="font-size: x-small;">);</span><span style="color: #2a00ff; font-size: x-small;"><span style="color: #2a00ff; font-size: x-small;"><a href="http://saga-androidapplication.blogspot.com/">http://saga-androidapplication.blogspot.com/</a></span></span><span style="font-size: x-small;">);</span></i></i></span></span></div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com0tag:blogger.com,1999:blog-5139494440226094959.post-33734236140336285582011-05-04T07:03:00.000-07:002011-05-04T07:03:57.273-07:00How to use View Flipper<div dir="ltr" style="text-align: left;" trbidi="on"><br />
ViewFlipper is a subclass of android.widget.ViewAnimator, so we can apply Animation on ViewFlipper also. Here is a example; the ViwFlipper change in shifting from one view to another view slowly.So u have to create a folder /res/anim, create two xml file to define the flip-in and flip-out animation.<br />
/res/anim/flipin.xml<br />
<br />
<?xml version="1.0" encoding="utf-8"?><br />
<set xmlns:android="http://schemas.android.com/apk/res/android"<br />
android:interpolator="@android:anim/decelerate_interpolator"><br />
<translate<br />
android:fromXDelta="-100%"<br />
android:toXDelta="0%"<br />
android:duration="500" /><br />
</set><br />
<br />
__________________________________________________________________________________<br />
<br />
/res/anim/flipout.xml<br />
and also create another xml,the xml name as flipout<br />
<br />
<?xml version="1.0" encoding="utf-8"?><br />
<set xmlns:android="http://schemas.android.com/apk/res/android"<br />
android:interpolator="@android:anim/decelerate_interpolator"><br />
<translate<br />
android:fromXDelta="0%"<br />
android:toXDelta="100%"<br />
android:duration="500" /><br />
</set><br />
<br />
__________________________________________________________________________________<br />
<br />
main.xml<br />
<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 />
<TextView<br />
android:layout_width="fill_parent"<br />
android:layout_height="wrap_content"<br />
android:text="@string/hello"<br />
/><br />
<ViewFlipper<br />
android:id="@+id/viewflipper"<br />
android:layout_width="fill_parent"<br />
android:layout_height="fill_parent"><br />
<LinearLayout<br />
android:layout_width="fill_parent"<br />
android:layout_height="wrap_content"<br />
android:orientation="vertical"><br />
<TextView<br />
android:layout_width="wrap_content"<br />
android:layout_height="wrap_content"<br />
android:text="First Screen"/><br />
<Button<br />
android:id="@+id/button1"<br />
android:layout_width="fill_parent"<br />
android:layout_height="wrap_content"<br />
android:text="Flip to second page"/><br />
</LinearLayout><br />
<LinearLayout<br />
android:layout_width="fill_parent"<br />
android:layout_height="fill_parent"<br />
android:orientation="vertical"><br />
<TextView<br />
android:layout_width="wrap_content"<br />
android:layout_height="wrap_content"<br />
android:text="Second Screen"/><br />
<Button<br />
android:id="@+id/button2"<br />
android:layout_width="fill_parent"<br />
android:layout_height="fill_parent"<br />
android:text="Flip back"/><br />
</LinearLayout><br />
</ViewFlipper><br />
</LinearLayout><br />
__________________________________________________________________________________<br />
main code, AndroidViewFlipper.java<br />
<br />
package com.sample.AndroidViewFlipper;<br />
import android.app.Activity;<br />
import android.os.Bundle;<br />
import android.view.View;<br />
import android.view.animation.Animation;<br />
import android.view.animation.AnimationUtils;<br />
import android.widget.Button;<br />
import android.widget.ViewFlipper;<br />
<br />
public class AndroidViewFlipper extends Activity {<br />
<br />
/** Called when the activity is first created. */<br />
@Override<br />
public void onCreate(Bundle savedInstanceState) {<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.main);<br />
final ViewFlipper MyViewFlipper = (ViewFlipper)findViewById(R.id.viewflipper);<br />
Button button1 = (Button)findViewById(R.id.button1);<br />
Button button2 = (Button)findViewById(R.id.button2);<br />
<br />
Animation animationFlipIn = AnimationUtils.loadAnimation(this, R.anim.flipin);<br />
Animation animationFlipOut = AnimationUtils.loadAnimation(this, R.anim.flipout);<br />
MyViewFlipper.setInAnimation(animationFlipIn);<br />
MyViewFlipper.setOutAnimation(animationFlipOut);<br />
<br />
button1.setOnClickListener(new Button.OnClickListener(){<br />
<br />
@Override<br />
public void onClick(View arg0) {<br />
// TODO Auto-generated method stub<br />
MyViewFlipper.showNext();<br />
}});<br />
<br />
button2.setOnClickListener(new Button.OnClickListener(){<br />
<br />
@Override<br />
public void onClick(View arg0) {<br />
// TODO Auto-generated method stub<br />
MyViewFlipper.showPrevious();<br />
}});<br />
}<br />
}<br />
<br />
<br />
<br />
</div>SaGahttp://www.blogger.com/profile/16103178711151324991noreply@blogger.com2