Home - Truiton
Skip to content
Android Tutorials on Truiton

Android Tutorials

Have a look at our latest Android tutorials and learn about the stack

Expo Navigator - Truiton

Expo Navigator

A revolutionary Mobile App for Trade Expos

code projected over woman

Join Us

In this fast-paced changing world of technology, Truiton is a platform for young technical minds who wish to explore new technologies..

nimble_asset_features_two

Contact Us

Latest Articles

		[{"id":18052,"link":"https:\/\/www.truiton.com\/2026\/01\/android-jacoco-code-coverage-plugin-for-unit-testing\/","name":"android-jacoco-code-coverage-plugin-for-unit-testing","thumbnail":{"url":"https:\/\/i0.wp.com\/www.truiton.com\/wp-content\/uploads\/2026\/01\/Android-Jacoco.jpg?fit=1536%2C803&ssl=1","alt":""},"title":"Android JaCoCo Code Coverage Plugin for Unit Testing","postMeta":[],"author":{"name":"Mohit Gupt","link":"https:\/\/www.truiton.com\/author\/mohitgupt\/"},"date":"Jan 24, 2026","dateGMT":"2026-01-24 04:15:45","modifiedDate":"2026-01-24 11:18:05","modifiedDateGMT":"2026-01-24 05:48:05","commentCount":"0","commentStatus":"open","categories":{"coma":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>","space":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>"},"taxonomies":{"post_tag":"<a href='https:\/\/www.truiton.com\/tag\/android-2\/' rel='post_tag'>android<\/a><a href='https:\/\/www.truiton.com\/tag\/jacoco\/' rel='post_tag'>Jacoco<\/a><a href='https:\/\/www.truiton.com\/tag\/tutorial\/' rel='post_tag'>tutorial<\/a>"},"readTime":{"min":10,"sec":42},"status":"publish","excerpt":"Here we discuss the significance of unit testing in Android app development, emphasizing the use of the Android JaCoCo plugin for code coverage. It outlines steps to integrate JaCoCo for generating detailed coverage reports, troubleshoot issues related to Firebase Performance Monitoring, and implement CI\/CD workflows using GitHub Actions for testing compliance."},{"id":17152,"link":"https:\/\/www.truiton.com\/2024\/02\/spring-boot-hibernate-jpa-generationtype-table-vs-sequence-strategy-with-mysql\/","name":"spring-boot-hibernate-jpa-generationtype-table-vs-sequence-strategy-with-mysql","thumbnail":{"url":"https:\/\/i0.wp.com\/www.truiton.com\/wp-content\/uploads\/2024\/02\/Spring-JPA-GenerationType-Featured.webp?fit=1900%2C1060&ssl=1","alt":"Spring JPA primary key generation strategy"},"title":"Spring Boot Hibernate - JPA GenerationType Table vs Sequence strategy with MySQL","postMeta":[],"author":{"name":"Mohit Gupt","link":"https:\/\/www.truiton.com\/author\/mohitgupt\/"},"date":"Feb 20, 2024","dateGMT":"2024-02-20 13:49:03","modifiedDate":"2024-02-20 19:19:07","modifiedDateGMT":"2024-02-20 13:49:07","commentCount":"0","commentStatus":"open","categories":{"coma":"<a href=\"https:\/\/www.truiton.com\/category\/spring\/\" rel=\"category tag\">Spring<\/a>","space":"<a href=\"https:\/\/www.truiton.com\/category\/spring\/\" rel=\"category tag\">Spring<\/a>"},"taxonomies":{"post_tag":"<a href='https:\/\/www.truiton.com\/tag\/hibernate\/' rel='post_tag'>Hibernate<\/a><a href='https:\/\/www.truiton.com\/tag\/jpa\/' rel='post_tag'>JPA<\/a><a href='https:\/\/www.truiton.com\/tag\/spring\/' rel='post_tag'>Spring<\/a>"},"readTime":{"min":13,"sec":50},"status":"publish","excerpt":"Explaining how GenerationType TABLE and SEQUENCE works with MySQL DB in Spring boot hibernate. We will build a custom TableGenerator with prefix and compare its performance with a SequenceStyleGenerator"},{"id":16643,"link":"https:\/\/www.truiton.com\/2022\/10\/implementing-the-splash-activity-in-android-the-right-way\/","name":"implementing-the-splash-activity-in-android-the-right-way","thumbnail":{"url":"https:\/\/i0.wp.com\/www.truiton.com\/wp-content\/uploads\/2022\/10\/Android-Splash-Screen-API-Featured.jpg?fit=1200%2C630&ssl=1","alt":"Android Splash Screen API"},"title":"Implementing the Splash Activity in Android - The Right Way","postMeta":[],"author":{"name":"Mohit Gupt","link":"https:\/\/www.truiton.com\/author\/mohitgupt\/"},"date":"Oct 28, 2022","dateGMT":"2022-10-28 17:19:52","modifiedDate":"2022-11-07 22:41:22","modifiedDateGMT":"2022-11-07 17:11:22","commentCount":"0","commentStatus":"open","categories":{"coma":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>","space":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>"},"taxonomies":{"post_tag":"<a href='https:\/\/www.truiton.com\/tag\/splash-screen\/' rel='post_tag'>Splash Screen<\/a><a href='https:\/\/www.truiton.com\/tag\/tutorial\/' rel='post_tag'>tutorial<\/a>"},"readTime":{"min":8,"sec":16},"status":"publish","excerpt":""},{"id":3772,"link":"https:\/\/www.truiton.com\/2019\/11\/merging-android-livedata\/","name":"merging-android-livedata","thumbnail":{"url":"https:\/\/i0.wp.com\/www.truiton.com\/wp-content\/uploads\/2019\/08\/Merging-Android-LiveData-Featured.jpg?fit=950%2C530&ssl=1","alt":"Merging Android LiveData"},"title":"Merging Android LiveData","postMeta":[],"author":{"name":"Mohit Gupt","link":"https:\/\/www.truiton.com\/author\/mohitgupt\/"},"date":"Nov 17, 2019","dateGMT":"2019-11-17 12:35:14","modifiedDate":"2019-11-17 18:08:25","modifiedDateGMT":"2019-11-17 12:38:25","commentCount":"0","commentStatus":"open","categories":{"coma":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>","space":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>"},"taxonomies":{"post_tag":"<a href='https:\/\/www.truiton.com\/tag\/livedata\/' rel='post_tag'>LiveData<\/a>"},"readTime":{"min":8,"sec":23},"status":"publish","excerpt":"Learn how to combine two LiveData objects into a single stream of merged Android LiveData using MediatorLiveData."},{"id":2119,"link":"https:\/\/www.truiton.com\/2018\/10\/android-chips-example-material-design\/","name":"android-chips-example-material-design","thumbnail":{"url":"https:\/\/i0.wp.com\/www.truiton.com\/wp-content\/uploads\/2018\/10\/Featured-Android_Chips.jpg?fit=950%2C530&ssl=1","alt":"Android Chips Example Featured"},"title":"Android Chips Example: Material Design","postMeta":[],"author":{"name":"Mohit Gupt","link":"https:\/\/www.truiton.com\/author\/mohitgupt\/"},"date":"Oct 21, 2018","dateGMT":"2018-10-21 06:27:20","modifiedDate":"2019-09-01 15:11:18","modifiedDateGMT":"2019-09-01 09:41:18","commentCount":"0","commentStatus":"open","categories":{"coma":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>","space":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>"},"taxonomies":{"post_tag":"<a href='https:\/\/www.truiton.com\/tag\/material-design\/' rel='post_tag'>Material Design<\/a><a href='https:\/\/www.truiton.com\/tag\/material-design-backward-compatibility\/' rel='post_tag'>Material Design Backward Compatibility<\/a>"},"readTime":{"min":9,"sec":27},"status":"publish","excerpt":""},{"id":1857,"link":"https:\/\/www.truiton.com\/2018\/06\/android-autocompletetextview-suggestions-from-webservice-call\/","name":"android-autocompletetextview-suggestions-from-webservice-call","thumbnail":{"url":"https:\/\/i0.wp.com\/www.truiton.com\/wp-content\/uploads\/2018\/03\/AutoCompleteTextView-Featured.jpg?fit=950%2C530&ssl=1","alt":"Android AutoCompleteTextView - Featured"},"title":"Android AutoCompleteTextView: Suggestions from Web Service Call","postMeta":[],"author":{"name":"Mohit Gupt","link":"https:\/\/www.truiton.com\/author\/mohitgupt\/"},"date":"Jun 19, 2018","dateGMT":"2018-06-19 08:37:26","modifiedDate":"2019-09-01 15:08:30","modifiedDateGMT":"2019-09-01 09:38:30","commentCount":"5","commentStatus":"open","categories":{"coma":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>","space":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>"},"taxonomies":{"post_tag":"<a href='https:\/\/www.truiton.com\/tag\/autocompletetextview\/' rel='post_tag'>AutoCompleteTextView<\/a>"},"readTime":{"min":9,"sec":30},"status":"publish","excerpt":""},{"id":1557,"link":"https:\/\/www.truiton.com\/2017\/05\/introducing-android-mobile-vision-api\/","name":"introducing-android-mobile-vision-api","thumbnail":{"url":"https:\/\/i0.wp.com\/www.truiton.com\/wp-content\/uploads\/2017\/05\/Android-Mobile-Vision-Featured.jpg?fit=950%2C530&ssl=1","alt":"Android Mobile Vision API"},"title":"Introducing Android Mobile Vision API","postMeta":[],"author":{"name":"Mohit Gupt","link":"https:\/\/www.truiton.com\/author\/mohitgupt\/"},"date":"May 28, 2017","dateGMT":"2017-05-28 17:29:27","modifiedDate":"2019-09-01 15:12:51","modifiedDateGMT":"2019-09-01 09:42:51","commentCount":"2","commentStatus":"open","categories":{"coma":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>","space":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>"},"taxonomies":{"post_tag":"<a href='https:\/\/www.truiton.com\/tag\/face-detection\/' rel='post_tag'>Face Detection<\/a><a href='https:\/\/www.truiton.com\/tag\/image-recognition\/' rel='post_tag'>Image Recognition<\/a><a href='https:\/\/www.truiton.com\/tag\/mobile-vision-api\/' rel='post_tag'>Mobile Vision API<\/a><a href='https:\/\/www.truiton.com\/tag\/ocr\/' rel='post_tag'>OCR<\/a>"},"readTime":{"min":6,"sec":0},"status":"publish","excerpt":""},{"id":1728,"link":"https:\/\/www.truiton.com\/2017\/05\/android-face-detection-example\/","name":"android-face-detection-example","thumbnail":{"url":"https:\/\/i0.wp.com\/www.truiton.com\/wp-content\/uploads\/2017\/05\/Android-Face-Detection-Featured.jpg?fit=950%2C530&ssl=1","alt":"Android Face Detection Featured"},"title":"Android Face Detection Example","postMeta":[],"author":{"name":"Mohit Gupt","link":"https:\/\/www.truiton.com\/author\/mohitgupt\/"},"date":"May 28, 2017","dateGMT":"2017-05-28 16:58:13","modifiedDate":"2019-09-01 15:17:32","modifiedDateGMT":"2019-09-01 09:47:32","commentCount":"5","commentStatus":"open","categories":{"coma":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>","space":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>"},"taxonomies":{"post_tag":"<a href='https:\/\/www.truiton.com\/tag\/face-detection\/' rel='post_tag'>Face Detection<\/a><a href='https:\/\/www.truiton.com\/tag\/mobile-vision-api\/' rel='post_tag'>Mobile Vision API<\/a>"},"readTime":{"min":9,"sec":23},"status":"publish","excerpt":""},{"id":1666,"link":"https:\/\/www.truiton.com\/2017\/01\/android-bottom-navigation-bar-example\/","name":"android-bottom-navigation-bar-example","thumbnail":{"url":"https:\/\/i0.wp.com\/www.truiton.com\/wp-content\/uploads\/2017\/01\/Android-Bottom-Navigation-Bar-Featured.jpg?fit=950%2C530&ssl=1","alt":"Android Bottom Navigation Bar"},"title":"Android Bottom Navigation Bar Example","postMeta":[],"author":{"name":"Mohit Gupt","link":"https:\/\/www.truiton.com\/author\/mohitgupt\/"},"date":"Jan 28, 2017","dateGMT":"2017-01-28 14:23:50","modifiedDate":"2019-09-01 15:22:33","modifiedDateGMT":"2019-09-01 09:52:33","commentCount":"20","commentStatus":"open","categories":{"coma":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>","space":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>"},"taxonomies":{"post_tag":"<a href='https:\/\/www.truiton.com\/tag\/app-design-guidelines\/' rel='post_tag'>app design guidelines<\/a><a href='https:\/\/www.truiton.com\/tag\/design-support-library\/' rel='post_tag'>Design Support Library<\/a><a href='https:\/\/www.truiton.com\/tag\/material-design\/' rel='post_tag'>Material Design<\/a>"},"readTime":{"min":6,"sec":34},"status":"publish","excerpt":""},{"id":1606,"link":"https:\/\/www.truiton.com\/2016\/11\/optical-character-recognition-android-ocr\/","name":"optical-character-recognition-android-ocr","thumbnail":{"url":"https:\/\/i0.wp.com\/www.truiton.com\/wp-content\/uploads\/2016\/11\/Android-OCR-Library-Featured.jpg?fit=950%2C530&ssl=1","alt":"android-ocr-library-featured"},"title":"Optical Character Recognition on Android - OCR","postMeta":[],"author":{"name":"Mohit Gupt","link":"https:\/\/www.truiton.com\/author\/mohitgupt\/"},"date":"Nov 6, 2016","dateGMT":"2016-11-06 15:12:47","modifiedDate":"2019-09-01 15:25:27","modifiedDateGMT":"2019-09-01 09:55:27","commentCount":"16","commentStatus":"open","categories":{"coma":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>","space":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>"},"taxonomies":{"post_tag":"<a href='https:\/\/www.truiton.com\/tag\/image-recognition\/' rel='post_tag'>Image Recognition<\/a><a href='https:\/\/www.truiton.com\/tag\/mobile-vision-api\/' rel='post_tag'>Mobile Vision API<\/a><a href='https:\/\/www.truiton.com\/tag\/ocr\/' rel='post_tag'>OCR<\/a>"},"readTime":{"min":7,"sec":22},"status":"publish","excerpt":""},{"id":1572,"link":"https:\/\/www.truiton.com\/2016\/09\/android-example-programmatically-scan-qr-code-and-bar-code\/","name":"android-example-programmatically-scan-qr-code-and-bar-code","thumbnail":{"url":"https:\/\/i0.wp.com\/www.truiton.com\/wp-content\/uploads\/2016\/09\/android-scan-qr-code-example-Featured.jpg?fit=950%2C530&ssl=1","alt":"Android Scan QR Code Example"},"title":"Android Example - Programmatically Scan QR Code and Bar Code","postMeta":[],"author":{"name":"Mohit Gupt","link":"https:\/\/www.truiton.com\/author\/mohitgupt\/"},"date":"Sep 26, 2016","dateGMT":"2016-09-26 16:25:53","modifiedDate":"2019-09-01 15:27:44","modifiedDateGMT":"2019-09-01 09:57:44","commentCount":"8","commentStatus":"open","categories":{"coma":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>","space":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>"},"taxonomies":{"post_tag":"<a href='https:\/\/www.truiton.com\/tag\/image-recognition\/' rel='post_tag'>Image Recognition<\/a><a href='https:\/\/www.truiton.com\/tag\/mobile-vision-api\/' rel='post_tag'>Mobile Vision API<\/a>"},"readTime":{"min":8,"sec":35},"status":"publish","excerpt":""},{"id":1535,"link":"https:\/\/www.truiton.com\/2016\/07\/android-bottom-sheet-example\/","name":"android-bottom-sheet-example","thumbnail":{"url":"https:\/\/i0.wp.com\/www.truiton.com\/wp-content\/uploads\/2016\/07\/Android-Bottom-Sheet-Featured.jpg?fit=950%2C530&ssl=1","alt":"Android Bottom Sheet - Featured"},"title":"Android Bottom Sheet Example","postMeta":[],"author":{"name":"Mohit Gupt","link":"https:\/\/www.truiton.com\/author\/mohitgupt\/"},"date":"Jul 17, 2016","dateGMT":"2016-07-17 17:22:29","modifiedDate":"2019-09-01 19:16:20","modifiedDateGMT":"2019-09-01 13:46:20","commentCount":"2","commentStatus":"open","categories":{"coma":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>","space":"<a href=\"https:\/\/www.truiton.com\/category\/android\/\" rel=\"category tag\">Android<\/a>"},"taxonomies":{"post_tag":"<a href='https:\/\/www.truiton.com\/tag\/material-design\/' rel='post_tag'>Material Design<\/a><a href='https:\/\/www.truiton.com\/tag\/material-design-backward-compatibility\/' rel='post_tag'>Material Design Backward Compatibility<\/a>"},"readTime":{"min":7,"sec":24},"status":"publish","excerpt":""}]