<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Android Archives - Petamind</title>
	<atom:link href="https://petaminds.com/tag/android/feed/" rel="self" type="application/rss+xml" />
	<link>https://petaminds.com/tag/android/</link>
	<description>A.I, Data and Software Engineering</description>
	<lastBuildDate>Wed, 05 Jun 2024 22:27:51 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://petaminds.com/wp-content/uploads/2019/09/ic_launcher.png</url>
	<title>Android Archives - Petamind</title>
	<link>https://petaminds.com/tag/android/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>MVVM vs MVI &#8211; Architecture for Mobile Development</title>
		<link>https://petaminds.com/mvvm-vs-mvi-architecture-for-mobile-development/</link>
					<comments>https://petaminds.com/mvvm-vs-mvi-architecture-for-mobile-development/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Fri, 05 Apr 2024 22:22:00 +0000</pubDate>
				<category><![CDATA[front-end]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[Kotlin]]></category>
		<category><![CDATA[MVI]]></category>
		<category><![CDATA[MVVM]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=5191</guid>

					<description><![CDATA[<p>The Model-View-ViewModel (MVVM) and Model-View-Intent (MVI) are architectural patterns used in software development, particularly for structuring the code of user interface (UI) applications. Both patterns aim to separate concerns and manage the flow of data between the UI and the underlying data models, but they do so in different ways. Let&#8217;s explore both patterns with [&#8230;]</p>
<p>The post <a href="https://petaminds.com/mvvm-vs-mvi-architecture-for-mobile-development/">MVVM vs MVI &#8211; Architecture for Mobile Development</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/mvvm-vs-mvi-architecture-for-mobile-development/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Exploring Kotlin&#8217;s suspendCoroutine: A Guide with Examples</title>
		<link>https://petaminds.com/exploring-kotlins-suspendcoroutine-a-guide-with-examples/</link>
					<comments>https://petaminds.com/exploring-kotlins-suspendcoroutine-a-guide-with-examples/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Tue, 08 Aug 2023 22:51:56 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[full-stack]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Kotlin]]></category>
		<category><![CDATA[suspendCoroutine]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=3948</guid>

					<description><![CDATA[<p>Introduction: Kotlin, with its modern syntax and powerful features, has taken the programming world by storm. One of its unique offerings is the suspendCoroutine function, a game-changer when it comes to handling asynchronous operations. In this article, we&#8217;ll dive into the world of suspendCoroutine, demystifying its usage and providing you with real-world examples to showcase [&#8230;]</p>
<p>The post <a href="https://petaminds.com/exploring-kotlins-suspendcoroutine-a-guide-with-examples/">Exploring Kotlin&#8217;s suspendCoroutine: A Guide with Examples</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/exploring-kotlins-suspendcoroutine-a-guide-with-examples/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Convert Callback Into Kotlin Coroutines Suspend or Deferred</title>
		<link>https://petaminds.com/convert-callback-into-kotlin-coroutines-suspend-or-deferred/</link>
					<comments>https://petaminds.com/convert-callback-into-kotlin-coroutines-suspend-or-deferred/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Thu, 28 Apr 2022 09:16:45 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[callback]]></category>
		<category><![CDATA[Coroutine]]></category>
		<category><![CDATA[Kotlin]]></category>
		<category><![CDATA[suspendCoroutine]]></category>
		<category><![CDATA[wrapper]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=3718</guid>

					<description><![CDATA[<p>Since coroutine is a hot topic in mobile development, converting vanilla JVM callback into Kotlin Coroutines is desirable. The wrapping happens using something called&#160;SuspendCoroutine. What is a SuspendCoroutine suspendCoroutine&#160;is a builder function that mainly used to convert callbacks into&#160;suspend&#160;functions. Let&#8217;s say for example you have some legacy (or not) Api, that uses callbacks. You can [&#8230;]</p>
<p>The post <a href="https://petaminds.com/convert-callback-into-kotlin-coroutines-suspend-or-deferred/">Convert Callback Into Kotlin Coroutines Suspend or Deferred</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/convert-callback-into-kotlin-coroutines-suspend-or-deferred/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Best Android Image Loaders – 2022</title>
		<link>https://petaminds.com/best-android-image-loaders-2022/</link>
					<comments>https://petaminds.com/best-android-image-loaders-2022/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Tue, 29 Mar 2022 20:35:47 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Coil]]></category>
		<category><![CDATA[Glide]]></category>
		<category><![CDATA[Image]]></category>
		<category><![CDATA[Loader]]></category>
		<category><![CDATA[Picasso]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=3701</guid>

					<description><![CDATA[<p>In this article, we will explore some of the best Android image loaders for you. These are some of the most commonly used third-party libraries since Android SDK doesn’t provide a simple image loading solution for developers to use. Generally, you tend to have to implement one yourself or look at third-party libraries. Glide Glide [&#8230;]</p>
<p>The post <a href="https://petaminds.com/best-android-image-loaders-2022/">Best Android Image Loaders – 2022</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/best-android-image-loaders-2022/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Kotlin Scoping Functions apply vs. with, let, also, and run</title>
		<link>https://petaminds.com/kotlin-scoping-functions-apply-vs-with-let-also-and-run/</link>
					<comments>https://petaminds.com/kotlin-scoping-functions-apply-vs-with-let-also-and-run/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Sun, 27 Mar 2022 00:03:42 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Kotlin]]></category>
		<category><![CDATA[scoping]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=3693</guid>

					<description><![CDATA[<p>Functional-style programming is highly advocated and supported by Kotlin’s syntax as well as a range of functions in Kotlin’s standard library. In this post we will examine five Kotlin scoping functions (aka higher-order functions): apply, with, let, also, and run. When learning these five functions, you will need to memorize 2 things:&#160;how&#160;to use them, and&#160;when&#160;to [&#8230;]</p>
<p>The post <a href="https://petaminds.com/kotlin-scoping-functions-apply-vs-with-let-also-and-run/">Kotlin Scoping Functions apply vs. with, let, also, and run</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/kotlin-scoping-functions-apply-vs-with-let-also-and-run/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Constraints with Android Worker</title>
		<link>https://petaminds.com/constraints-with-android-worker/</link>
					<comments>https://petaminds.com/constraints-with-android-worker/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Sat, 26 Mar 2022 01:19:11 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[background]]></category>
		<category><![CDATA[constraints]]></category>
		<category><![CDATA[resume]]></category>
		<category><![CDATA[worker]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=3682</guid>

					<description><![CDATA[<p>Sometimes, we want our app to perform some background tasks under certain conditions, such as Battery level or network etc. With Worker and Constraints, we can conveniently achieve that. The example problem A worker class that prints a message to the console. We want this function doWork executes when the network is available or the [&#8230;]</p>
<p>The post <a href="https://petaminds.com/constraints-with-android-worker/">Constraints with Android Worker</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/constraints-with-android-worker/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Advanced android room persistent storage</title>
		<link>https://petaminds.com/advanced-android-room-persistent-storage/</link>
					<comments>https://petaminds.com/advanced-android-room-persistent-storage/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Thu, 12 Nov 2020 09:52:38 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[full-stack]]></category>
		<category><![CDATA[dao]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[room]]></category>
		<category><![CDATA[sqlite]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=2862</guid>

					<description><![CDATA[<p>Room provides an abstraction layer over SQLite to allow fluent database access while harnessing the full power of SQLite. Because Room takes care of several concerns for you, e.g. caching, networking, Android&#160;highly recommend&#160;using Room instead of SQLite. If you are coming from iOS, the good news is that Room is very similar to the core [&#8230;]</p>
<p>The post <a href="https://petaminds.com/advanced-android-room-persistent-storage/">Advanced android room persistent storage</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/advanced-android-room-persistent-storage/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Tutorial: Multi-touch gesture for android</title>
		<link>https://petaminds.com/tutorial-multi-touch-gesture-for-android/</link>
					<comments>https://petaminds.com/tutorial-multi-touch-gesture-for-android/#comments</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Fri, 23 Oct 2020 03:34:21 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[back-end]]></category>
		<category><![CDATA[full-stack]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[gesture]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Kotlin]]></category>
		<category><![CDATA[multi-touch]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=2853</guid>

					<description><![CDATA[<p>Multi-touch gestures are very useful in many common scenarios, such as zooming, panning. For game development, handling multi-touch is essential. This post will give a quick guide for handling multi-touch points. Project structure We create a new project name MultiTouch with Java and add a new class named GameScene as a subclass of android.view.View. The [&#8230;]</p>
<p>The post <a href="https://petaminds.com/tutorial-multi-touch-gesture-for-android/">Tutorial: Multi-touch gesture for android</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/tutorial-multi-touch-gesture-for-android/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Ping the pong redev video tutorial</title>
		<link>https://petaminds.com/ping-the-pong-redev-video-tutorial/</link>
					<comments>https://petaminds.com/ping-the-pong-redev-video-tutorial/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Sat, 19 Sep 2020 00:40:08 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[Game Dev]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[Kotlin]]></category>
		<category><![CDATA[petamind]]></category>
		<category><![CDATA[ping]]></category>
		<category><![CDATA[Pong]]></category>
		<category><![CDATA[youtube]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=2710</guid>

					<description><![CDATA[<p>Following up the article &#8220;RE-DEV THE FIRST VIDEO GAME PONG WITH SURFACEVIEW AND GAMELOOP&#8221;, here is the video tutorial for another version of the Ping game. What is new? Improve the GUI Better collision handling Challenges The source code for the project is not fully provided but you can always get the code from the [&#8230;]</p>
<p>The post <a href="https://petaminds.com/ping-the-pong-redev-video-tutorial/">Ping the pong redev video tutorial</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/ping-the-pong-redev-video-tutorial/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>re-dev the first video game pong with SurfaceView and gameloop</title>
		<link>https://petaminds.com/re-dev-the-first-video-game-pong-with-surfaceview-and-gameloop/</link>
					<comments>https://petaminds.com/re-dev-the-first-video-game-pong-with-surfaceview-and-gameloop/#comments</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Mon, 14 Sep 2020 02:21:56 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Game Dev]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[game loop]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[Kotlin]]></category>
		<category><![CDATA[Pong]]></category>
		<category><![CDATA[surfaceview]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=2688</guid>

					<description><![CDATA[<p>In this article, we recreate the two-player game Pong &#8211; the first arcade video game 1972 &#8211; for Android using Kotlin. We will implement the game SurfaceView, game loop design pattern, and code optimization for better performance. Game loop Game loop is a common design pattern in game development. It is already integrated into different [&#8230;]</p>
<p>The post <a href="https://petaminds.com/re-dev-the-first-video-game-pong-with-surfaceview-and-gameloop/">re-dev the first video game pong with SurfaceView and gameloop</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/re-dev-the-first-video-game-pong-with-surfaceview-and-gameloop/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
