<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:annotate="http://purl.org/rss/1.0/modules/annotate/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
<!--
	This feed generated for Anonymous
	More info at http://naklon.info/rss/about.htm
-->
<channel>
<title>Advanced Tutorials</title>
<link>http://www.anddev.org/</link>
<description>Tutorials with &lt;b&gt;advanced&lt;/b&gt; 'difficulty' and more Lines of Code.&amp;nbsp;&lt;a href="http://feeds.feedburner.com/anddev_AdvancedTutorials" rel="alternate" type="application/rss+xml"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/feed-icon16x16.png" alt="RSS" style="vertical-align:middle;border:0"/&gt;&lt;/a&gt; </description>
<managingEditor>team@anddev.org</managingEditor>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<generator>RSS Feed 2.2.4</generator>
<language>en</language>
<lastBuildDate>Mon, 09 Nov 2009 02:05:41 GMT</lastBuildDate>
<image>
	<url>http://www.anddev.org/templates/subSilver/images/logo_phpBB_med.gif</url>
	<title>Advanced Tutorials</title>
	<link>http://www.anddev.org/</link>
	<width>122</width>
	<height>56</height>
</image>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/anddev_AdvancedTutorials" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
<title>Advanced Tutorials :: CursorAdapter</title>
<link>http://feedproxy.google.com/~r/anddev_AdvancedTutorials/~3/ek2Rqqm3GAM/viewtopic.php</link>
<pubDate>Fri, 06 Nov 2009 10:21:20 GMT</pubDate>
<guid isPermaLink="false">http://www.anddev.org/viewtopic.php?p=29091#29091</guid>
<description>Author: &lt;a href="http://www.anddev.org/profile.php?mode=viewprofile&amp;u=10320" target="_blank"&gt;spoorti&lt;/a&gt;&lt;br /&gt;
Subject: CursorAdapter&lt;br /&gt;
Posted: Fri Nov 06, 2009 11:21 am (GMT 1)&lt;br /&gt;
&lt;br /&gt;&lt;span class="postbody"&gt;
Hi,
&lt;br /&gt;

&lt;br /&gt;
I am using CursorAdapter, newView &amp;amp; bindView for displaying the data from the Cursor. But in the UI I am able to see only the first row and rest are getting displayed as false...
&lt;br /&gt;
Please help me out in solving this
&lt;br /&gt;

&lt;br /&gt;
&lt;span style="font-weight: bold"&gt;XML&lt;/span&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&lt;br /&gt;

&lt;br /&gt;
&amp;lt;LinearLayout android:layout_width=&amp;quot;fill_parent&amp;quot;
&lt;br /&gt;
 android:layout_height=&amp;quot;fill_parent&amp;quot;
&lt;br /&gt;
  xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot; android:id=&amp;quot;@+id/LinearLAyout&amp;quot; android:orientation=&amp;quot;vertical&amp;quot;&amp;gt;
&lt;br /&gt;
 
&lt;br /&gt;
&amp;lt;TextView android:text=&amp;quot;@+id/TextView01&amp;quot; android:id=&amp;quot;@+id/name&amp;quot; android:layout_width=&amp;quot;wrap_content&amp;quot; android:layout_height=&amp;quot;wrap_content&amp;quot;&amp;gt;&amp;lt;/TextView&amp;gt;
&lt;br /&gt;
&amp;lt;TextView android:text=&amp;quot;@+id/TextView02&amp;quot; android:id=&amp;quot;@+id/number&amp;quot; android:layout_width=&amp;quot;wrap_content&amp;quot; android:layout_height=&amp;quot;wrap_content&amp;quot;&amp;gt;&amp;lt;/TextView&amp;gt;
&lt;br /&gt;
&amp;lt;TextView android:text=&amp;quot;@+id/TextView03&amp;quot; android:id=&amp;quot;@+id/duration&amp;quot; android:layout_width=&amp;quot;wrap_content&amp;quot; android:layout_height=&amp;quot;wrap_content&amp;quot;&amp;gt;&amp;lt;/TextView&amp;gt;
&lt;br /&gt;
&amp;lt;/LinearLayout&amp;gt;
&lt;br /&gt;

&lt;br /&gt;
&lt;span style="font-weight: bold"&gt;Java&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
public class test extends TabActivity {
&lt;br /&gt;

&lt;br /&gt;
               TextView nameView;
&lt;br /&gt;
		TextView numberView;
&lt;br /&gt;
		TextView dateView;
&lt;br /&gt;
		TextView durationView;
&lt;br /&gt;
@Override
&lt;br /&gt;
	public void onCreate(Bundle savedInstanceState) {
&lt;br /&gt;
		super.onCreate(savedInstanceState);
&lt;br /&gt;
		setContentView(R.layout.main);
&lt;br /&gt;

&lt;br /&gt;
		// all information
&lt;br /&gt;
		Cursor c = getContentResolver().query(
&lt;br /&gt;
				android.provider.CallLog.Calls.CONTENT_URI, null, null, null,
&lt;br /&gt;
				android.provider.CallLog.Calls.DATE + &amp;quot; DESC&amp;quot;);
&lt;br /&gt;
		startManagingCursor(c);
&lt;br /&gt;
CursorAdapter all = new CursorAdapter(this, c) {
&lt;br /&gt;

&lt;br /&gt;
			@Override
&lt;br /&gt;
			public View newView(Context context, Cursor cursor, ViewGroup parent) {
&lt;br /&gt;
				// TODO Auto-generated method stub
&lt;br /&gt;
				LayoutInflater inflater = ((Activity) context)
&lt;br /&gt;
						.getLayoutInflater();
&lt;br /&gt;
				final View v = inflater.inflate(R.layout.all, parent, false);
&lt;br /&gt;
				Log.e(&amp;quot;@@@@@@@@@@@@@@V&amp;quot;,&amp;quot;View&amp;quot;);
&lt;br /&gt;

&lt;br /&gt;
				// final View view = mInflater.inflate(R.layout.custom_list,
&lt;br /&gt;
				// parent, false);
&lt;br /&gt;
				return v;
&lt;br /&gt;
			}
&lt;br /&gt;

&lt;br /&gt;
			@Override
&lt;br /&gt;
			public void bindView(View view, Context context, Cursor cursor1) {
&lt;br /&gt;
				// TODO Auto-generated method stub
&lt;br /&gt;

&lt;br /&gt;
				nameView = (TextView) findViewById(R.id.name);
&lt;br /&gt;
				numberView = (TextView) findViewById(R.id.number);
&lt;br /&gt;
				dateView = (TextView) findViewById(R.id.date);
&lt;br /&gt;

&lt;br /&gt;
				if (nameView != null) {
&lt;br /&gt;
					int index = cursor1.getColumnIndex(Calls.CACHED_NAME);
&lt;br /&gt;
					String name = cursor1.getString(index);
&lt;br /&gt;
					if(name==null)
&lt;br /&gt;
						name = &amp;quot;default&amp;quot;;
&lt;br /&gt;
					Log.e(&amp;quot;@@@@@@@@@@@@@@NAme&amp;quot;,name);
&lt;br /&gt;
					nameView.setText(name);
&lt;br /&gt;
				}
&lt;br /&gt;

&lt;br /&gt;
				if (numberView != null) {
&lt;br /&gt;
					int index = cursor1.getColumnIndex(Calls.NUMBER);
&lt;br /&gt;
					String number = cursor1.getString(index);
&lt;br /&gt;
					if(number==null)
&lt;br /&gt;
						number = &amp;quot;default&amp;quot;;
&lt;br /&gt;
					Log.e(&amp;quot;@@@@@@@@@@@@@@Number&amp;quot;,number);
&lt;br /&gt;
					numberView.setText(number);
&lt;br /&gt;
				}
&lt;br /&gt;

&lt;br /&gt;
				if (dateView != null) {
&lt;br /&gt;

&lt;br /&gt;
					int flags = DateUtils.FORMAT_ABBREV_RELATIVE;
&lt;br /&gt;
					// long data =
&lt;br /&gt;
					// cursor1.getLong(cursor1.getColumnIndex(Calls.DATE));
&lt;br /&gt;
					String str = DateUtils
&lt;br /&gt;
							.getRelativeTimeSpanString(
&lt;br /&gt;
									cursor1.getLong(cursor1
&lt;br /&gt;
											.getColumnIndex(Calls.DATE)),
&lt;br /&gt;
									System.currentTimeMillis(),
&lt;br /&gt;
									DateUtils.MINUTE_IN_MILLIS, flags)
&lt;br /&gt;
							.toString();
&lt;br /&gt;
					if(str==null)
&lt;br /&gt;
						str = &amp;quot;default&amp;quot;;
&lt;br /&gt;
					Log.e(&amp;quot;@@@@@@@@@@@@@@Date&amp;quot;,str);
&lt;br /&gt;
					dateView.setText(str);
&lt;br /&gt;
				}
&lt;br /&gt;

&lt;br /&gt;
				durationView = (TextView) findViewById(R.id.duration);
&lt;br /&gt;
				if (durationView != null) {
&lt;br /&gt;
					int index = cursor1.getColumnIndex(Calls.DURATION);
&lt;br /&gt;
					long duration = cursor1.getLong(index);
&lt;br /&gt;
				   
&lt;br /&gt;
					String test = cursor1.getString(index);
&lt;br /&gt;
			    
&lt;br /&gt;
					Log.e(&amp;quot;@@@@@@@@@@@@@@duration&amp;quot;,test);
&lt;br /&gt;
					durationView.setText(formatDuration(duration));
&lt;br /&gt;
				}
&lt;br /&gt;

&lt;br /&gt;
				// cursor1.moveToNext();
&lt;br /&gt;
				// }
&lt;br /&gt;
			}
&lt;br /&gt;
		};
&lt;br /&gt;
}
&lt;br /&gt;

&lt;br /&gt;
Please Tel me what the problem might be&lt;/span&gt;&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/anddev_AdvancedTutorials/~4/ek2Rqqm3GAM" height="1" width="1"/&gt;</description>
<dc:creator>spoorti</dc:creator>
<dc:subject>Advanced Tutorials</dc:subject>
<annotate:reference rdf:resource="http://www.anddev.org/viewtopic.php?p=29091#29091" />
<comments>http://www.anddev.org/posting.php?mode=quote&amp;p=29091</comments>
<feedburner:origLink>http://www.anddev.org/viewtopic.php?p=29091#29091</feedburner:origLink></item>
<item>
<title>Advanced Tutorials :: Google Maps on Android</title>
<link>http://feedproxy.google.com/~r/anddev_AdvancedTutorials/~3/vbGcPSiUcu0/viewtopic.php</link>
<pubDate>Wed, 04 Nov 2009 09:09:10 GMT</pubDate>
<guid isPermaLink="false">http://www.anddev.org/viewtopic.php?p=28954#28954</guid>
<description>Author: &lt;a href="http://www.anddev.org/profile.php?mode=viewprofile&amp;u=11057" target="_blank"&gt;saigeethamn&lt;/a&gt;&lt;br /&gt;
Subject: Google Maps on Android&lt;br /&gt;
Posted: Wed Nov 04, 2009 10:09 am (GMT 1)&lt;br /&gt;
&lt;br /&gt;&lt;span class="postbody"&gt;
Maps-based and location-based services are compelling for mobile users. Hence let us explore the support for map services in the Android platform in this tutorial. In the next we will  build upon this and add location services too.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Map services are provided by an external library that includes the com.google.android.maps package. This library is not provided as part of the standard SDK. It is provided as a Google APIs add-on to the android SDK. For the convenience of developers, this add-on is provided as part of the SDK on the emulator.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Before I jump into the example, let me explain some fundamental concepts related to the Maps API.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
NOTE: For using the Google Maps, you have to obtain a Maps API key. How to obtain the key is also described towards the end of this tutorial. This is Step 1. 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Maps API add-on provides a MapActivity class that extends the Activity class of Android. This helps is managing the lifecycle of a MapView object that we will be using later. Our main class in the application will be extending the MapActivity class. This class can be treated as the default activity class whenever we deal with the Maps API.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
MapView – This is a class that extends the View and the ViewGroup classes of Android. It provides the basic functionality expected on a Map like responding to key presses or touch and allowing zooming etc. It also provides a controller object that helps us manipulate the Map view programmatically. We will see how, in the example later.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Now that we have understood the basics of the Maps API, let us jump into the example. 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Step 2: To begin with, when you create an android project in Eclipse, instead of choosing the target name as Android 1.5, you need to select the target as Google APIs. This ensures that the project has the map API external libraries along with android 1.5 SDK. 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Step 3: The Activity class you create this time should not extend the standard “android.app.Activity” class but should extend the MapActivity class about which I explained earlier.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Step 4: Apart from this, you need to add the following tag in the AndroidManifext.xml in order to use the external library:
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class="genmed"&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class="code"&gt;&amp;lt;uses-library android&amp;#58;name=&amp;quot;com.google.android.maps&amp;quot; /&amp;gt;&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class="postbody"&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Step 5: Now let us declare the map view in main.xml in layout folder. To do so, add this element in order to display the map using MapView.
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class="genmed"&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class="code"&gt;
&lt;br /&gt;
&amp;lt;com.google.android.maps.MapView
&lt;br /&gt;
android&amp;#58;id=&amp;quot;@+id/myGMap&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; android&amp;#58;layout_width=&amp;quot;fill_parent&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; android&amp;#58;layout_height=&amp;quot;wrap_content&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; android&amp;#58;enabled=&amp;quot;true&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; android&amp;#58;clickable=&amp;quot;true&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; android&amp;#58;apiKey=&amp;quot;0YaGLMeMFKXrhzHL-uSYZSnqXqbGwE6kxF4VwFQ&amp;quot;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; /&amp;gt;
&lt;br /&gt;
&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class="postbody"&gt;
&lt;br /&gt;

&lt;br /&gt;
Here the apikey should be what was generated by you in an earlier step 1. 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
 Step 6: In the activity class I set the geo point on the map and set the satellite view to false.
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class="genmed"&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class="code"&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; myMapView = &amp;#40;MapView&amp;#41; findViewById&amp;#40;R.id.myGMap&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; geoPoint = new GeoPoint&amp;#40;&amp;#40;int&amp;#41; &amp;#40;latitude * 1000000&amp;#41;, &amp;#40;int&amp;#41; &amp;#40;longitude * 1000000&amp;#41;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; myMapView.setSatellite&amp;#40;false&amp;#41;;
&lt;br /&gt;
&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class="postbody"&gt;
&lt;br /&gt;

&lt;br /&gt;
Step 7: Now you are almost ready to go. But we will try to do some programtic handling of the mapview. For that we need to get a handle to the MapController object. It is done this way:
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class="genmed"&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class="code"&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; myMC = myMapView.getController&amp;#40;&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; myMC.setCenter&amp;#40;geoPoint&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; myMC.setZoom&amp;#40;15&amp;#41;;
&lt;br /&gt;
&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class="postbody"&gt;
&lt;br /&gt;
I also set the zoom controls to be displayed with this code.
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class="genmed"&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class="code"&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; myMapView.setBuiltInZoomControls&amp;#40;true&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; myMapView.displayZoomControls&amp;#40;true&amp;#41;;
&lt;br /&gt;

&lt;br /&gt;
&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class="postbody"&gt;
&lt;br /&gt;
Step 8: Add the following permissions in the AndroidManifest.xml in order to access the maps over the internet:
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class="genmed"&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class="code"&gt;
&lt;br /&gt;
&amp;lt;uses-permission android&amp;#58;name=&amp;quot;android.permission.ACCESS_COARSE_LOCATION&amp;quot;&amp;gt;&amp;lt;/uses-permission&amp;gt;
&lt;br /&gt;
&amp;lt;uses-permission android&amp;#58;name=&amp;quot;android.permission.ACCESS_FINE_LOCATION&amp;quot;&amp;gt;&amp;lt;/uses-permission&amp;gt;
&lt;br /&gt;
&amp;lt;uses-permission android&amp;#58;name=&amp;quot;android.permission.INTERNET&amp;quot;&amp;gt;&amp;lt;/uses-permission&amp;gt;
&lt;br /&gt;
&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class="postbody"&gt;
&lt;br /&gt;

&lt;br /&gt;
You could execute your program now to view the map with the fixed geopoint. 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Step 9: One last step – let us add some actions to the key presses for zooming in, zooming out, viewing the satellite view, normal map view
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"&gt;&lt;tr&gt; 	  &lt;td&gt;&lt;span class="genmed"&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class="code"&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; public boolean onKeyDown&amp;#40;int keyCode, KeyEvent event&amp;#41; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if &amp;#40;keyCode == KeyEvent.KEYCODE_I&amp;#41; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; myMapView.getController&amp;#40;&amp;#41;.setZoom&amp;#40;myMapView.getZoomLevel&amp;#40;&amp;#41; + 1&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return true;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125; else if &amp;#40;keyCode == KeyEvent.KEYCODE_O&amp;#41; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; myMapView.getController&amp;#40;&amp;#41;.setZoom&amp;#40;myMapView.getZoomLevel&amp;#40;&amp;#41; - 1&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return true;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125; else if &amp;#40;keyCode == KeyEvent.KEYCODE_S&amp;#41; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; myMapView.setSatellite&amp;#40;true&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return true;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125; else if &amp;#40;keyCode == KeyEvent.KEYCODE_M&amp;#41; &amp;#123;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; myMapView.setSatellite&amp;#40;false&amp;#41;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return true;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return false;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#125;
&lt;br /&gt;
&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class="postbody"&gt;
&lt;br /&gt;

&lt;br /&gt;
Now you can run the applications. The Google map will show up with a pointer to the geo location defined in the program. You can click on I, O, S and M for zooming in, zooming out, viewing the satellite map or the normal map respectively.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Interesting?
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
&lt;span style="font-weight: bold"&gt;Obtaining a Maps API Key:&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Step 1: Locate debug.keystore on your system. It is usually in the USER_HOME\Local Settings\Application Data\.android folder on windows.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Step 2: Use the keytool utility to generate certificate fingerprint (MD5). keytool utility that comes with the default JDK installation.
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
C:\&amp;gt;keytool -list -alias androiddebugkey -keys
&lt;br /&gt;
tore .android\debug.keystore -storepass android -keypass android
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
It will getnerate a certificate fingerprint (MD5) in this format:
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Certificate fingerprint (MD5): XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
Step 3: Go to the page for obtaining the Maps API Key. Put your Certificate fingerprint (MD5) And get your API key for android Google Map application. On this page, paste the certificate fingerprint in the appropriate form field, and click the “Generate API Key” button. This will return a Maps API key string. 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
This key needs to be used along with the MapView element declared in the XML layout file as mentioned in the tutorial above.
&lt;br /&gt;

&lt;br /&gt;
NOTE: For many more such tutorials please visit &lt;a href="http://saigeethamn.blogspot.com" target="_blank"&gt;http://saigeethamn.blogspot.com&lt;/a&gt;&lt;br /&gt;_________________&lt;br /&gt;A person who loves to share my ten cents of knowledge
&lt;br /&gt;
&lt;a href="http://saigeethamn.blogspot.com" target="_blank"&gt;http://saigeethamn.blogspot.com&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/anddev_AdvancedTutorials/~4/vbGcPSiUcu0" height="1" width="1"/&gt;</description>
<dc:creator>saigeethamn</dc:creator>
<dc:subject>Advanced Tutorials</dc:subject>
<annotate:reference rdf:resource="http://www.anddev.org/viewtopic.php?p=28954#28954" />
<comments>http://www.anddev.org/posting.php?mode=quote&amp;p=28954</comments>
<feedburner:origLink>http://www.anddev.org/viewtopic.php?p=28954#28954</feedburner:origLink></item>
<item>
<title>Advanced Tutorials :: help w AnalogClock widget - remoteview and appwidgetprovider</title>
<link>http://feedproxy.google.com/~r/anddev_AdvancedTutorials/~3/7TAQ-OVlp7I/viewtopic.php</link>
<pubDate>Sun, 01 Nov 2009 16:25:24 GMT</pubDate>
<guid isPermaLink="false">http://www.anddev.org/viewtopic.php?p=28780#28780</guid>
<description>Author: &lt;a href="http://www.anddev.org/profile.php?mode=viewprofile&amp;u=7754" target="_blank"&gt;chuazy&lt;/a&gt;&lt;br /&gt;
Subject: help w AnalogClock widget - remoteview and appwidgetprovider&lt;br /&gt;
Posted: Sun Nov 01, 2009 5:25 pm (GMT 1)&lt;br /&gt;
&lt;br /&gt;&lt;span class="postbody"&gt;
Hi guys,
&lt;br /&gt;

&lt;br /&gt;
I am trying to develop and AnalogClock widget on the home screen that changes depending on the time of day. I am finding problems getting to the right code to make it happen, and will hope to seek you help and advise here.
&lt;br /&gt;

&lt;br /&gt;
1) Getting the dial resource in AnalogClock to change in code
&lt;br /&gt;
I have been trying to get the AnalogClock in my widget XML file to change based on the system time. However, I realized that AppWidgetProvider do not support findViewbyID and i was trying to figure out how to make use of remoteviews to change the AnalogClock image. Any experts can enlighten me on this issue? Now I am implementing another method, but it is very ugly. 
&lt;br /&gt;

&lt;br /&gt;

&lt;br /&gt;
1) Getting onUpdate to work in appwidgetprovider
&lt;br /&gt;
I am trying to get the onUpdate to work and change the views on set time, say at the start of every passing hour, at time zone change, at time change etc. Anyone know how i can get started to make onUpdate work for that purpose?
&lt;br /&gt;

&lt;br /&gt;
My code is below. Thanks guys. hope to learn from all of you.
&lt;br /&gt;

&lt;br /&gt;
Cheers
&lt;br /&gt;
Zee
&lt;br /&gt;

&lt;br /&gt;
&lt;/span&gt;&lt;table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"&gt;&lt;tr&gt;	  &lt;td&gt;&lt;span class="genmed"&gt;&lt;b&gt;&lt;span style="color: #933;"&gt;Java:&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;	&lt;/tr&gt;	&lt;tr&gt;	  &lt;td class="syntax-code"&gt;&lt;div class="java" style="font-family: monospace;"&gt;&lt;span class="kw2"&gt;public&lt;/span&gt; &lt;span class="kw2"&gt;class&lt;/span&gt; Widget &lt;span class="kw2"&gt;extends&lt;/span&gt; AppWidgetProvider
&lt;br /&gt;
&lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span class="kw2"&gt;public&lt;/span&gt; &lt;span class="kw4"&gt;void&lt;/span&gt; onReceive&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="kw3"&gt;Context&lt;/span&gt; context, Intent intent&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="kw3"&gt;String&lt;/span&gt; action = intent.&lt;span class="me1"&gt;getAction&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="kw1"&gt;if&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;AppWidgetManager.&lt;span class="me1"&gt;ACTION_APPWIDGET_UPDATE&lt;/span&gt;.&lt;span class="me1"&gt;equals&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;action&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; setViews&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Intent AlarmClockIntent = &lt;span class="kw2"&gt;new&lt;/span&gt; Intent&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;Intent.&lt;span class="me1"&gt;ACTION_MAIN&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;.&lt;span class="me1"&gt;addCategory&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;Intent.&lt;span class="me1"&gt;CATEGORY_LAUNCHER&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;.&lt;span class="me1"&gt;setComponent&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="kw2"&gt;new&lt;/span&gt; ComponentName&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;com.android.alarmclock&amp;quot;&lt;/span&gt;, &lt;span class="st0"&gt;&amp;quot;com.android.alarmclock.AlarmClock&amp;quot;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PendingIntent pendingIntent = PendingIntent.&lt;span class="me1"&gt;getActivity&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;context, &lt;span class="nu0"&gt;0&lt;/span&gt;, AlarmClockIntent, &lt;span class="nu0"&gt;0&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; views.&lt;span class="me1"&gt;setOnClickPendingIntent&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;R.&lt;span class="me1"&gt;id&lt;/span&gt;.&lt;span class="me1"&gt;Widget&lt;/span&gt;, pendingIntent&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AppWidgetManager.&lt;span class="me1"&gt;getInstance&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;context&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;.&lt;span class="me1"&gt;updateAppWidget&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;intent.&lt;span class="me1"&gt;getIntArrayExtra&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;AppWidgetManager.&lt;span class="me1"&gt;EXTRA_APPWIDGET_IDS&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;, views&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span class="kw2"&gt;public&lt;/span&gt; &lt;span class="kw4"&gt;void&lt;/span&gt; onUpdate&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="kw3"&gt;Context&lt;/span&gt; context, AppWidgetManager appWidgetManager, &lt;span class="kw4"&gt;int&lt;/span&gt;&lt;span class="br0"&gt;&amp;#91;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#93;&lt;/span&gt; appWidgetIds&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;setViews&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span class="kw2"&gt;private&lt;/span&gt; &lt;span class="kw4"&gt;void&lt;/span&gt; setViews&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#123;&lt;/span&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="kw3"&gt;GregorianCalendar&lt;/span&gt; &lt;span class="kw3"&gt;Calendar&lt;/span&gt; = &lt;span class="kw2"&gt;new&lt;/span&gt; &lt;span class="kw3"&gt;GregorianCalendar&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="kw4"&gt;int&lt;/span&gt; hour;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hour = &lt;span class="kw3"&gt;Calendar&lt;/span&gt;.&lt;span class="me1"&gt;get&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="kw3"&gt;Calendar&lt;/span&gt;.&lt;span class="me1"&gt;HOUR_OF_DAY&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="kw1"&gt;if&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;hour &amp;gt; &lt;span class="nu0"&gt;12&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#123;&lt;/span&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hour -= &lt;span class="nu0"&gt;12&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="kw1"&gt;if&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;hour == &lt;span class="nu0"&gt;0&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#123;&lt;/span&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hour = &lt;span class="nu0"&gt;12&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="kw1"&gt;switch&lt;/span&gt; &lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;hour&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw1"&gt;case&lt;/span&gt; &lt;span class="nu0"&gt;1&lt;/span&gt;:
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;views = &lt;span class="kw2"&gt;new&lt;/span&gt; RemoteViews&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;com.ClockWidget&amp;quot;&lt;/span&gt;, R.&lt;span class="me1"&gt;layout&lt;/span&gt;.&lt;span class="me1"&gt;widget&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw2"&gt;break&lt;/span&gt;;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw1"&gt;case&lt;/span&gt; &lt;span class="nu0"&gt;2&lt;/span&gt;:
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;views = &lt;span class="kw2"&gt;new&lt;/span&gt; RemoteViews&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;com.ClockWidget&amp;quot;&lt;/span&gt;, R.&lt;span class="me1"&gt;layout&lt;/span&gt;.&lt;span class="me1"&gt;widget2&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw2"&gt;break&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw1"&gt;case&lt;/span&gt; &lt;span class="nu0"&gt;3&lt;/span&gt;:
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;views = &lt;span class="kw2"&gt;new&lt;/span&gt; RemoteViews&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;com.ClockWidget&amp;quot;&lt;/span&gt;, R.&lt;span class="me1"&gt;layout&lt;/span&gt;.&lt;span class="me1"&gt;widget3&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw2"&gt;break&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw1"&gt;case&lt;/span&gt; &lt;span class="nu0"&gt;4&lt;/span&gt;:
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;views = &lt;span class="kw2"&gt;new&lt;/span&gt; RemoteViews&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;com.ClockWidget&amp;quot;&lt;/span&gt;, R.&lt;span class="me1"&gt;layout&lt;/span&gt;.&lt;span class="me1"&gt;widget4&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw2"&gt;break&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw1"&gt;case&lt;/span&gt; &lt;span class="nu0"&gt;5&lt;/span&gt;:
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;views = &lt;span class="kw2"&gt;new&lt;/span&gt; RemoteViews&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;com.ClockWidget&amp;quot;&lt;/span&gt;, R.&lt;span class="me1"&gt;layout&lt;/span&gt;.&lt;span class="me1"&gt;widget5&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw2"&gt;break&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw1"&gt;case&lt;/span&gt; &lt;span class="nu0"&gt;6&lt;/span&gt;:
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;views = &lt;span class="kw2"&gt;new&lt;/span&gt; RemoteViews&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;com.ClockWidget&amp;quot;&lt;/span&gt;, R.&lt;span class="me1"&gt;layout&lt;/span&gt;.&lt;span class="me1"&gt;widget6&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw2"&gt;break&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw1"&gt;case&lt;/span&gt; &lt;span class="nu0"&gt;7&lt;/span&gt;:
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;views = &lt;span class="kw2"&gt;new&lt;/span&gt; RemoteViews&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;com.ClockWidget&amp;quot;&lt;/span&gt;, R.&lt;span class="me1"&gt;layout&lt;/span&gt;.&lt;span class="me1"&gt;widget7&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw2"&gt;break&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw1"&gt;case&lt;/span&gt; &lt;span class="nu0"&gt;8&lt;/span&gt;:
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;views = &lt;span class="kw2"&gt;new&lt;/span&gt; RemoteViews&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;com.ClockWidget&amp;quot;&lt;/span&gt;, R.&lt;span class="me1"&gt;layout&lt;/span&gt;.&lt;span class="me1"&gt;widget8&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw2"&gt;break&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw1"&gt;case&lt;/span&gt; &lt;span class="nu0"&gt;9&lt;/span&gt;:
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;views = &lt;span class="kw2"&gt;new&lt;/span&gt; RemoteViews&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;com.ClockWidget&amp;quot;&lt;/span&gt;, R.&lt;span class="me1"&gt;layout&lt;/span&gt;.&lt;span class="me1"&gt;widget9&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw2"&gt;break&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw1"&gt;case&lt;/span&gt; &lt;span class="nu0"&gt;10&lt;/span&gt;:
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;views = &lt;span class="kw2"&gt;new&lt;/span&gt; RemoteViews&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;com.ClockWidget&amp;quot;&lt;/span&gt;, R.&lt;span class="me1"&gt;layout&lt;/span&gt;.&lt;span class="me1"&gt;widget10&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw2"&gt;break&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw1"&gt;case&lt;/span&gt; &lt;span class="nu0"&gt;11&lt;/span&gt;:
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;views = &lt;span class="kw2"&gt;new&lt;/span&gt; RemoteViews&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;com.ClockWidget&amp;quot;&lt;/span&gt;, R.&lt;span class="me1"&gt;layout&lt;/span&gt;.&lt;span class="me1"&gt;widget11&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw2"&gt;break&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw1"&gt;case&lt;/span&gt; &lt;span class="nu0"&gt;12&lt;/span&gt;:
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;views = &lt;span class="kw2"&gt;new&lt;/span&gt; RemoteViews&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;quot;com.ClockWidget&amp;quot;&lt;/span&gt;, R.&lt;span class="me1"&gt;layout&lt;/span&gt;.&lt;span class="me1"&gt;widget12&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw2"&gt;break&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw2"&gt;default&lt;/span&gt;:
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw2"&gt;break&lt;/span&gt;;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;br /&gt;

&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; 
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span class="kw2"&gt;private&lt;/span&gt; RemoteViews views;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span class="kw2"&gt;private&lt;/span&gt; AnalogClock clock;&lt;/div&gt;&lt;/td&gt;	&lt;/tr&gt;&lt;/table&gt;&lt;span class="postbody"&gt;&lt;/span&gt;&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/anddev_AdvancedTutorials/~4/7TAQ-OVlp7I" height="1" width="1"/&gt;</description>
<dc:creator>chuazy</dc:creator>
<dc:subject>Advanced Tutorials</dc:subject>
<annotate:reference rdf:resource="http://www.anddev.org/viewtopic.php?p=28780#28780" />
<comments>http://www.anddev.org/posting.php?mode=quote&amp;p=28780</comments>
<feedburner:origLink>http://www.anddev.org/viewtopic.php?p=28780#28780</feedburner:origLink></item>
</channel>
</rss><!-- Page generation time: 0.2147s  - Memory Usage: 2.914 Mb  - GZIP enabled -->
