tag:blogger.com,1999:blog-73984751609252916562024-03-11T16:56:15.895+05:30Tech ThoughtsG T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.comBlogger100125tag:blogger.com,1999:blog-7398475160925291656.post-67677635050435792172024-03-11T16:54:00.005+05:302024-03-11T16:55:44.121+05:30RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)<div style="text-align: left;"><span style="font-family: georgia;">When I was trying to do a git clone, I got the below error:<br /><br /></span></div><p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEisTZa2Zpx0CsjGKlrlJvyO5f0i3lSY-Fb82HomqWq2jhLYG9ck8rMlPDZjn91-s6LArKiq4dJOyCCz86Rx5uaUqJfad5kaQES5wdXRn6QObdb2AIVwc4koH_tdNYzcnXbpJqBnulx7SXLjifuIYL8TZTD5K877IugTQd5mcFoRBGtuFduOYyYJMPxmfjEZ" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: georgia;"><img alt="" data-original-height="179" data-original-width="928" height="78" src="https://blogger.googleusercontent.com/img/a/AVvXsEisTZa2Zpx0CsjGKlrlJvyO5f0i3lSY-Fb82HomqWq2jhLYG9ck8rMlPDZjn91-s6LArKiq4dJOyCCz86Rx5uaUqJfad5kaQES5wdXRn6QObdb2AIVwc4koH_tdNYzcnXbpJqBnulx7SXLjifuIYL8TZTD5K877IugTQd5mcFoRBGtuFduOYyYJMPxmfjEZ=w400-h78" width="400" /></span></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><div style="text-align: justify;"><span style="font-family: georgia; text-align: left;">The error was RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: CANCEL (err 0)</span></div><span style="font-family: georgia; text-align: left;"><div style="text-align: justify;">some bytes of body are still expected. Unexpected disconnect while reading sideband packet. Early EOF. </div><div style="text-align: justify;">I have gone through google to solve this issue. I found different solutions. Some of them even told it's due to network. You need to change the internet operator etc. But all in vain. The correct solution is , you need to increase the buffer size of http post with the below command</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"></div></span></div><p></p><pre style="border-radius: 6px; box-sizing: border-box; color: #1f2328; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 13.6px; line-height: 1.45; margin-bottom: 0px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px;"><code style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 6px; border: 0px; box-sizing: border-box; display: inline; font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;">git config --global http.postBuffer 157286400</code></pre><pre style="border-radius: 6px; box-sizing: border-box; color: #1f2328; line-height: 1.45; margin-bottom: 0px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px;"><span style="font-family: georgia;">After this I was able to clone the repo properly.</span></pre><pre style="border-radius: 6px; box-sizing: border-box; color: #1f2328; line-height: 1.45; margin-bottom: 0px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px;"><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjBYZcx-QiHpzpo5EhlRMyfGLZkmk_kAwUWukrubY5fwmW2vCKeopRNpFpRDx3X794dSXE0yyD7lEiJ2KomeInOWRpFYWIteGGx82r7mCKN8l4rJRBiqIw5zJnel_QP9zYHcll8j9euL3dDu5rAMYkwvUHC-IP2eSJIpBcKkEDGzDEstg28B0rfdPr-TzX5" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="206" data-original-width="1144" height="73" src="https://blogger.googleusercontent.com/img/a/AVvXsEjBYZcx-QiHpzpo5EhlRMyfGLZkmk_kAwUWukrubY5fwmW2vCKeopRNpFpRDx3X794dSXE0yyD7lEiJ2KomeInOWRpFYWIteGGx82r7mCKN8l4rJRBiqIw5zJnel_QP9zYHcll8j9euL3dDu5rAMYkwvUHC-IP2eSJIpBcKkEDGzDEstg28B0rfdPr-TzX5=w400-h73" width="400" /></a></div><br />Happy coding</span></pre><pre style="border-radius: 6px; box-sizing: border-box; color: #1f2328; line-height: 1.45; margin-bottom: 0px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px;"><span style="font-family: georgia;"><br /></span></pre>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-1360054340338119272024-02-02T16:45:00.003+05:302024-02-02T16:45:26.302+05:30Seeding: Array[ReflectionException]Class Array does not exist Error while trying to seed the database in Laravel<div style="background-color: white; box-sizing: border-box; color: #212529; margin: 0px 0px 1rem; padding: 0px; text-align: left;"><div style="text-align: justify;"><span style="font-family: helvetica;">While I tried to seed the database in laravel after the migration with the below artisan command,</span></div><span style="font-family: helvetica;"><div style="text-align: justify;"><br /></div><div style="text-align: justify;">php artisan db:seed</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">I received the below error: </div><div style="text-align: justify;">Seeding: Array</div><div style="text-align: justify;">[ReflectionException]</div><div style="text-align: justify;">Class Array does not exist</div><div style="text-align: justify;"><br /></div><span class="extn-css-1m8t0fv" id="output-phrase~0~0" style="box-sizing: border-box; margin: 0px; padding: 0px;"><div style="text-align: justify;"><span class="extn-css-1m8t0fv" id="output-phrase~0~0" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span data-testid="output-word-0-0-0" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-rh820s" style="box-sizing: border-box; margin: 0px; padding: 0px;">There </span></span><span data-testid="output-word-0-0-1" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-rh820s" style="box-sizing: border-box; margin: 0px; padding: 0px;">are </span></span></span><span class="extn-css-1m8t0fv" id="output-phrase~0~1" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span data-testid="output-word-1-0-0" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">a </span></span><span data-testid="output-word-1-0-1" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">few </span></span><span data-testid="output-word-1-0-2" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-rh820s" style="box-sizing: border-box; margin: 0px; padding: 0px;">possible </span></span><span data-testid="output-word-1-0-3" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-rh820s" style="box-sizing: border-box; margin: 0px; padding: 0px;">causes </span></span></span><span class="extn-css-1m8t0fv" id="output-phrase~0~2" style="box-sizing: border-box; margin: 0px; padding: 0px;">for </span><span class="extn-css-1m8t0fv" id="output-phrase~0~3" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span data-testid="output-word-3-0-0" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">the </span></span><span data-testid="output-word-3-0-1" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">error </span></span><span data-testid="output-word-3-0-2" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">message </span></span></span><span class="extn-css-1m8t0fv" id="output-phrase~0~4" style="box-sizing: border-box; margin: 0px; padding: 0px;">“ReflectionException: </span></div><div style="text-align: justify;"><span class="extn-css-1m8t0fv" id="output-phrase~0~5" style="box-sizing: border-box; margin: 0px; padding: 0px;">Class </span><span class="extn-css-1m8t0fv" id="output-phrase~0~6" style="box-sizing: border-box; margin: 0px; padding: 0px;">Array </span><span class="extn-css-1m8t0fv" id="output-phrase~0~7" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span data-testid="output-word-7-0-0" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">does </span></span><span data-testid="output-word-7-0-1" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">not </span></span><span data-testid="output-word-7-0-2" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">exist” </span></span></span><span class="extn-css-1m8t0fv" id="output-phrase~0~8" style="box-sizing: border-box; margin: 0px; padding: 0px;">that </span><span class="extn-css-1m8t0fv" id="output-phrase~0~9" style="box-sizing: border-box; margin: 0px; padding: 0px;">appears </span><span class="extn-css-1m8t0fv" id="output-phrase~0~10" style="box-sizing: border-box; margin: 0px; padding: 0px;">when </span><span class="extn-css-1m8t0fv" id="output-phrase~0~11" style="box-sizing: border-box; margin: 0px; padding: 0px;">Laravel </span><span class="extn-css-1m8t0fv" id="output-phrase~0~12" style="box-sizing: border-box; margin: 0px; padding: 0px;">tries </span><span class="extn-css-1m8t0fv" id="output-phrase~0~13" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span data-testid="output-word-13-0-0" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">to </span></span><span data-testid="output-word-13-0-1" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">use </span></span></span><span class="extn-css-1m8t0fv" id="output-phrase~0~14" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span data-testid="output-word-14-0-0" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">a </span></span><span data-testid="output-word-14-0-1" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">class </span></span></span><span class="extn-css-1m8t0fv" id="output-phrase~0~15" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span data-testid="output-word-15-0-0" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">that </span></span><span data-testid="output-word-15-0-1" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">it </span></span></span><span class="extn-css-1m8t0fv" id="output-phrase~0~16" style="box-sizing: border-box; margin: 0px; padding: 0px;">cannot </span><span class="extn-css-1m8t0fv" id="output-phrase~0~17" style="box-sizing: border-box; margin: 0px; padding: 0px;">locate. </span><span class="extn-css-1m8t0fv" id="output-phrase~0~18" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span data-testid="output-word-18-0-0" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-rh820s" style="box-sizing: border-box; margin: 0px; padding: 0px;">These </span></span><span data-testid="output-word-18-0-1" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-rh820s" style="box-sizing: border-box; margin: 0px; padding: 0px;">include: </span></span></span><span class="extn-css-1m8t0fv" id="output-phrase~0~19" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span data-testid="output-word-19-0-0" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">The </span></span><span data-testid="output-word-19-0-1" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">class </span></span></span><span class="extn-css-1m8t0fv" id="output-phrase~0~20" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span data-testid="output-word-20-0-0" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-rh820s" style="box-sizing: border-box; margin: 0px; padding: 0px;">might </span></span><span data-testid="output-word-20-0-1" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">not </span></span></span><span class="extn-css-1m8t0fv" id="output-phrase~0~21" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span data-testid="output-word-21-0-0" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">have </span></span><span data-testid="output-word-21-0-1" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">been </span></span></span><span class="extn-css-1m8t0fv" id="output-phrase~0~22" style="box-sizing: border-box; margin: 0px; padding: 0px;">properly </span><span class="extn-css-1m8t0fv" id="output-phrase~0~23" style="box-sizing: border-box; margin: 0px; padding: 0px;">imported </span><span class="extn-css-1m8t0fv" id="output-phrase~0~24" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span data-testid="output-word-24-0-0" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">or </span></span><span data-testid="output-word-24-0-1" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">required </span></span></span><span class="extn-css-1m8t0fv" id="output-phrase~0~25" style="box-sizing: border-box; margin: 0px; padding: 0px;">at </span><span class="extn-css-1m8t0fv" id="output-phrase~0~26" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span data-testid="output-word-26-0-0" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">the </span></span><span data-testid="output-word-26-0-1" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">top </span></span></span><span class="extn-css-1m8t0fv" id="output-phrase~0~27" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span data-testid="output-word-27-0-0" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">of </span></span><span data-testid="output-word-27-0-1" style="box-sizing: border-box; margin: 0px; padding: 0px;"><span class="extn-css-0" style="box-sizing: border-box; margin: 0px; padding: 0px;">the </span></span></span><span class="extn-css-1m8t0fv" id="output-phrase~0~28" style="box-sizing: border-box; margin: 0px; padding: 0px;">file. </span><span class="extn-css-1m8t0fv" id="output-phrase~0~29" style="box-sizing: border-box; margin: 0px; padding: 0px;">The </span><span class="extn-css-1m8t0fv" id="output-phrase~0~30" style="box-sizing: border-box; margin: 0px; padding: 0px;">class </span><span class="extn-css-1m8t0fv" id="output-phrase~0~31" style="box-sizing: border-box; margin: 0px; padding: 0px;">might </span><span class="extn-css-1m8t0fv" id="output-phrase~0~32" style="box-sizing: border-box; margin: 0px; padding: 0px;">not </span><span class="extn-css-1m8t0fv" id="output-phrase~0~33" style="box-sizing: border-box; margin: 0px; padding: 0px;">have </span><span class="extn-css-1m8t0fv" id="output-phrase~0~34" style="box-sizing: border-box; margin: 0px; padding: 0px;">been </span><span class="extn-css-1m8t0fv" id="output-phrase~0~35" style="box-sizing: border-box; margin: 0px; padding: 0px;">properly </span><span class="extn-css-1m8t0fv" id="output-phrase~0~36" style="box-sizing: border-box; margin: 0px; padding: 0px;">imported </span><span class="extn-css-1m8t0fv" id="output-phrase~0~37" style="box-sizing: border-box; margin: 0px; padding: 0px;">or </span><span class="extn-css-1m8t0fv" id="output-phrase~0~38" style="box-sizing: border-box; margin: 0px; padding: 0px;">required </span><span class="extn-css-1m8t0fv" id="output-phrase~0~39" style="box-sizing: border-box; margin: 0px; padding: 0px;">at </span><span class="extn-css-1m8t0fv" id="output-phrase~0~40" style="box-sizing: border-box; margin: 0px; padding: 0px;">the </span><span class="extn-css-1m8t0fv" id="output-phrase~0~41" style="box-sizing: border-box; margin: 0px; padding: 0px;">top </span><span class="extn-css-1m8t0fv" id="output-phrase~0~42" style="box-sizing: border-box; margin: 0px; padding: 0px;">of </span><span class="extn-css-1m8t0fv" id="output-phrase~0~43" style="box-sizing: border-box; margin: 0px; padding: 0px;">the </span><span class="extn-css-1m8t0fv" id="output-phrase~0~44" style="box-sizing: border-box; margin: 0px; padding: 0px;">file. </span><span class="extn-css-1m8t0fv" id="output-phrase~0~45" style="box-sizing: border-box; margin: 0px; padding: 0px;">Composer </span><span class="extn-css-1m8t0fv" id="output-phrase~0~46" style="box-sizing: border-box; margin: 0px; padding: 0px;">dump-autoload </span><span class="extn-css-1m8t0fv" id="output-phrase~0~47" style="box-sizing: border-box; margin: 0px; padding: 0px;">may not be done.</span></div><div style="text-align: justify;"><span class="extn-css-1m8t0fv" style="box-sizing: border-box; margin: 0px; padding: 0px;"><br /></span></div></span><div style="text-align: justify;">I solved this by running the below command:</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">composer update</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">and then run:</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">composer dump-autoload</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Now run</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">php artisan db:seed</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">It works. Happy coding</div></span></div>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-35691781786189984452024-01-09T16:51:00.003+05:302024-01-09T16:53:38.810+05:30Laravel JWT AUTH only returns TRUE/FALSE instead of the token<div style="text-align: justify;"><span style="font-family: georgia;">When using Laravel JWT authentication, the default behavior is to return a boolean (`true` or `false`) indicating whether the authentication was successful or not. If you want to receive the token upon successful authentication, you might need to customize the authentication response.</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;">Here's how you can modify Laravel to return the token upon successful authentication using JWT:</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><b><u>1. Install the JWT package:</u></b></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><b><u><br /></u></b></span></div><div style="text-align: justify;"><span style="font-family: georgia;"> Make sure you have the `tymon/jwt-auth` package installed. You can install it using Composer:</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;"> composer require tymon/jwt-auth</span></div><div style="text-align: justify;"><span style="font-family: georgia;"> </span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><b><u>2. Publish the configuration file:</u></b></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><b><u><br /></u></b></span></div><div style="text-align: justify;"><span style="font-family: georgia;"> Run the following command to publish the JWT configuration file:</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;"> </span></div><div style="text-align: justify;"><span style="font-family: georgia;">php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"</span></div><div style="text-align: justify;"><span style="font-family: georgia;"> </span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><b><u>3. Configure the `config/jwt.php` file:</u></b></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;"> Open the `config/jwt.php` file and set the `'return_user_token'` configuration option to `true`:</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;"> </span><span style="font-family: georgia;"> /*</span></div><div style="text-align: justify;"><span style="font-family: georgia;"> |--------------------------------------------------------------------------</span></div><div style="text-align: justify;"><span style="font-family: georgia;"> | Return User Token</span></div><div style="text-align: justify;"><span style="font-family: georgia;"> |--------------------------------------------------------------------------</span></div><div style="text-align: justify;"><span style="font-family: georgia;"> |</span></div><div style="text-align: justify;"><span style="font-family: georgia;"> | If set to true, the middleware will attach the token to the response</span></div><div style="text-align: justify;"><span style="font-family: georgia;"> | so that it can be easily accessed in your application</span></div><div style="text-align: justify;"><span style="font-family: georgia;"> |</span></div><div style="text-align: justify;"><span style="font-family: georgia;"> */</span></div><div style="text-align: justify;"><span style="font-family: georgia;"> 'return_user_token' => true,</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><b><u>4. Update your authentication logic:</u></b></span></div><div style="text-align: justify;"><span style="font-family: georgia;"> In your authentication controller (e.g., `LoginController`), make sure you are using the `JWTAuth` facade and include the `attempt` method. Here's an example:</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;"> </span></div><div style="text-align: justify;"><span style="font-family: georgia;"> use Illuminate\Support\Facades\Auth;</span></div><div style="text-align: justify;"><span style="font-family: georgia;"> use Tymon\JWTAuth\Facades\JWTAuth;</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;"> public function login(Request $request)</span></div><div style="text-align: justify;"><span style="font-family: georgia;"> {</span></div><div style="text-align: justify;"><span style="font-family: georgia;"> $credentials = $request->only('email', 'password');</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;"> if ($token = JWTAuth::attempt($credentials)) {</span></div><div style="text-align: justify;"><span style="font-family: georgia;"> return response()->json([</span></div><div style="text-align: justify;"><span style="font-family: georgia;"> 'token' => $token,</span></div><div style="text-align: justify;"><span style="font-family: georgia;"> 'user' => Auth::user(), // Include user details if needed</span></div><div style="text-align: justify;"><span style="font-family: georgia;"> ]);</span></div><div style="text-align: justify;"><span style="font-family: georgia;"> }</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;"> return response()->json(['error' => 'Unauthorized'], 401);</span></div><div style="text-align: justify;"><span style="font-family: georgia;"> }</span></div><div style="text-align: justify;"><span style="font-family: georgia;"> </span></div><span style="font-family: georgia;"><div style="text-align: justify;"><br /></div><div style="text-align: justify;">By setting `'return_user_token'` to `true` in the configuration file and modifying your authentication logic, you should receive the token in the response upon successful authentication. Adjust the code as needed based on your application structure and requirements. </div></span>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-39779920170188700342024-01-03T15:20:00.001+05:302024-01-09T17:10:35.628+05:30How to set default value to spinner dropdown in Android?<div style="text-align: left;"><div style="text-align: justify;"><span style="font-family: georgia;"> In Android, if you want to set a default value for a `Spinner` dropdown, you can achieve this by adding the default value to the adapter and selecting it programmatically. Here's an example:</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><span style="font-family: georgia;"><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.widget.AdapterView;</div><div style="text-align: justify;">import android.widget.ArrayAdapter;</div><div style="text-align: justify;">import android.widget.Spinner;</div><div style="text-align: justify;">import androidx.appcompat.app.AppCompatActivity;</div><div style="text-align: justify;">import java.util.ArrayList;</div><div style="text-align: justify;">import java.util.List;</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">public class MainActivity extends AppCompatActivity {</div><div style="text-align: justify;"> private Spinner spinner;</div><div style="text-align: justify;"> @Override</div><div style="text-align: justify;"> protected void onCreate(Bundle savedInstanceState) {</div><div style="text-align: justify;"> super.onCreate(savedInstanceState);</div><div style="text-align: justify;"> setContentView(R.layout.activity_main);</div><div style="text-align: justify;"> spinner = findViewById(R.id.spinner);</div><div style="text-align: justify;"> // Create a list of items for the spinner</div><div style="text-align: justify;"> List<String> items = new ArrayList<>();</div><div style="text-align: justify;"> items.add("Default Value"); // Add your default value here</div><div style="text-align: justify;"> items.add("Item 1");</div><div style="text-align: justify;"> items.add("Item 2");</div><div style="text-align: justify;"> items.add("Item 3");</div><div style="text-align: justify;"> // Create an ArrayAdapter using the string array and a default spinner layout</div><div style="text-align: justify;"> ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, items);</div><div style="text-align: justify;"> // Specify the layout to use when the list of choices appears</div><div style="text-align: justify;"> adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);</div><div style="text-align: justify;"> // Apply the adapter to the spinner</div><div style="text-align: justify;"> spinner.setAdapter(adapter);</div><div style="text-align: justify;"> // Set the default value as the selected item</div><div style="text-align: justify;"> spinner.setSelection(0); // 0 is the index of the default value</div><div style="text-align: justify;"> // Set a listener to handle spinner item selection events</div><div style="text-align: justify;"> spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {</div><div style="text-align: justify;"> @Override</div><div style="text-align: justify;"> public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {</div><div style="text-align: justify;"> // Handle the selected item</div><div style="text-align: justify;"> String selectedValue = (String) parentView.getItemAtPosition(position);</div><div style="text-align: justify;"> // Do something with the selected value</div><div style="text-align: justify;"> }</div><div style="text-align: justify;"> @Override</div><div style="text-align: justify;"> public void onNothingSelected(AdapterView<?> parentView) {</div><div style="text-align: justify;"> // Do nothing here</div><div style="text-align: justify;"> }</div><div style="text-align: justify;"> });</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;"><br /></div><div style="text-align: justify;">In this example, "Default Value" is added to the list of items, and `spinner.setSelection(0);` is used to set it as the default selected item. Adjust the code based on your specific use case and UI elements.</div></span></div>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-54996348081331459552024-01-02T20:24:00.001+05:302024-01-02T20:25:07.698+05:30Laravel artisan migrate PHP Fatal error: Cannot declare class, because the name is already in use : Solution<p><span style="font-family: georgia;">When I was trying to migrate a database in Laravel Project using the <b>'php artisan migrate</b>', I get the below error:</span></p><p><span style="font-family: georgia;">php artisan migrate</span></p><p><span style="font-family: georgia;">Migration table created successfully.</span></p><p><span style="font-family: georgia;">PHP Fatal error: Cannot declare class CreatePasswordResetsTable, because the name is already in use in F:\Projects\database\migrations\2023_11_28_102415_create_password_resets_table.php on line 7 7</span></p><p><span style="font-family: georgia;">[Symfony\Component\Debug\Exception\FatalErrorException]</span></p><p><span style="font-family: georgia;">Cannot declare class CreatePasswordResetsTable, because the name is already in use</span></p><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgOgLp0yc6J5NRdWXpjOypMzNPTxP7Us4562mW5Hn3TCQfc4VejZ55O6zr5V28UKw0dScK4oI4r6hdAm6wbsHsrPMp-VVji9HUT2Pa68kc4eAhAs6wlN_JSe9UCWARR1p9u5C84CIYrnlZmb0-NKsQRujDI_eS--bPr0tE7JAKRgQnouN651ErZp8EgeQ-8" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="152" data-original-width="816" height="75" src="https://blogger.googleusercontent.com/img/a/AVvXsEgOgLp0yc6J5NRdWXpjOypMzNPTxP7Us4562mW5Hn3TCQfc4VejZ55O6zr5V28UKw0dScK4oI4r6hdAm6wbsHsrPMp-VVji9HUT2Pa68kc4eAhAs6wlN_JSe9UCWARR1p9u5C84CIYrnlZmb0-NKsQRujDI_eS--bPr0tE7JAKRgQnouN651ErZp8EgeQ-8=w400-h75" width="400" /></a></div><br /><span style="font-family: georgia;">In such error, we can check below solutions:</span></div><div><br /></div><div><p style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 15px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 1.1em; padding: 0px; vertical-align: baseline;"><strong style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); border: 0px; box-sizing: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="font-family: georgia;">First Solution :</span></strong></p><div style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 1.1em; padding: 0px; text-align: left; vertical-align: baseline;"><span style="font-family: georgia;">It seems like you have 2 migrations done at different time with essentially same name.<br />for example : <code style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: var(--black-200); border-radius: var(--br-sm); border: 0px; box-sizing: inherit; color: var(--black-600); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: var(--su2) var(--su4); vertical-align: baseline; white-space-collapse: preserve;">2019_01_18_020910_create_Password_Reset_table.php<br /></code>and <code style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: var(--black-200); border-radius: var(--br-sm); border: 0px; box-sizing: inherit; color: var(--black-600); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: var(--su2) var(--su4); vertical-align: baseline; white-space-collapse: preserve;">2019_01_16_020910_create_Password_Reset_table.php<br /></code>Laravel will convert this filename eliminating the date signature and Camel Casing the remaining text.<br />So both of these migration will have class <span style="color: black;">CreatePasswordResetsTable</span>even if the time signatures are different. Check if your migrations directory have such 2 files.<br />To check this run this from terminal in project root : </span></div><div style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 1.1em; padding: 0px; text-align: left; vertical-align: baseline;"><code style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: var(--black-200); border-radius: var(--br-sm); border: 0px; box-sizing: inherit; color: var(--black-600); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: var(--su2) var(--su4); vertical-align: baseline; white-space-collapse: preserve;"><span style="font-family: georgia;">grep -ri '<span style="color: black; white-space-collapse: collapse;">CreatePasswordResetsTable</span>' database/migrations</span></code></div><div style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 1.1em; padding: 0px; text-align: left; vertical-align: baseline;"><code style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: var(--black-200); border-radius: var(--br-sm); border: 0px; box-sizing: inherit; color: var(--black-600); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: var(--su2) var(--su4); vertical-align: baseline; white-space-collapse: preserve;"><span style="font-family: georgia;">You can delete one of the old migration file with the same table name. And run 'php artisan migrate'. It should work.</span></code></div><div style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 1.1em; padding: 0px; text-align: left; vertical-align: baseline;"><strong style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); border: 0px; box-sizing: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="font-family: georgia;">Second Solution :</span></strong></div><div style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 1.1em; padding: 0px; text-align: left; vertical-align: baseline;"><span style="font-family: georgia;">Sometimes composer's internal class autoloading causes this issue. Do following to check if it resolves :<br />run <code style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: var(--black-200); border-radius: var(--br-sm); border: 0px; box-sizing: inherit; color: var(--black-600); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: var(--su2) var(--su4); vertical-align: baseline; white-space-collapse: preserve;">composer install</code></span></div><div style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 1.1em; padding: 0px; text-align: left; vertical-align: baseline;"><span style="font-family: georgia;"><strong style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); border: 0px; box-sizing: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Third Solution</strong> :</span></div><div style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 1.1em; padding: 0px; text-align: left; vertical-align: baseline;"><span style="font-family: georgia;">This is likely to be invalid but a same file should not have same class declaration 2 files by mistake.</span></div><div style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 1.1em; padding: 0px; text-align: left; vertical-align: baseline;"><span style="font-family: georgia;"><strong style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); border: 0px; box-sizing: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Fourth Solution</strong> :</span></div><div style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 1.1em; padding: 0px; text-align: left; vertical-align: baseline;"><span style="font-family: georgia;">There might be a package you have installed which has a migration with same class name. To find run grep -ril<code style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: var(--black-200); border-radius: var(--br-sm); border: 0px; box-sizing: inherit; color: var(--black-600); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: var(--su2) var(--su4); vertical-align: baseline; white-space-collapse: preserve;">'</code></span><span style="color: black; font-family: georgia;">CreatePasswordResetsTable </span><span style="font-family: georgia;"><code style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: var(--black-200); border-radius: var(--br-sm); border: 0px; box-sizing: inherit; color: var(--black-600); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: var(--su2) var(--su4); vertical-align: baseline; white-space-collapse: preserve;">' </code></span><span style="font-family: georgia;">Vendor</span></div><p style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 1.1em; padding: 0px; vertical-align: baseline;"><span style="font-family: georgia;">If it shows any file then that's what causing 2 classes to have same names.</span></p><div style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 1.1em; padding: 0px; text-align: left; vertical-align: baseline;"><span style="font-family: georgia;">You can create a new one php artisan make:migration create_password_reset_table_custom and then copy what you have in current migration to the new one and delete the existing one(not from package but the one you have created).</span></div><p style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="font-family: georgia;">This will create a class </span><span style="color: black; font-family: georgia;">CreatePasswordResetsTable </span><span style="font-family: georgia;">which is different than what the package already has.</span></p><p style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="font-family: georgia;"><br /></span></p><p style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="font-family: georgia;">One of the above solution will solve the issue</span></p></div>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-9462142444570281862023-07-31T20:52:00.004+05:302023-07-31T20:55:07.483+05:30How to get the table name with a required column name in MySQL using query<div style="text-align: justify;"><span style="font-family: georgia;">While working on a project we had a big database which contains more than 250 tables. I wanted to get the table name containing a column say "Column A". We can do it easily with a query.</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;">Say now we have a database called as "Test_Database" with lot of tables and columns. Now I want to get all the table names in this database which contains "Column A" or "Column B". We can execute the below query to get the table names:</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><pre class="lang-sql s-code-block" style="--_cb-line-numbers-bg: var(--black-050); border-radius: var(--br-md); border: 0px; box-sizing: inherit; color: var(--highlight-color); font-family: var(--ff-mono); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: var(--fs-body1); font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; line-height: var(--lh-md); margin-bottom: 0px; margin-top: 0px; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: var(--su12); vertical-align: baseline; width: auto;"><div style="text-align: justify;"><span class="hljs-keyword" color="var(--highlight-keyword)" style="border: 0px; box-sizing: inherit; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">SELECT</span><span color="var(--highlight-color)" style="font-family: inherit; font-size: var(--_pr-code-fs); font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;"> </span><span class="hljs-keyword" color="var(--highlight-keyword)" style="border: 0px; box-sizing: inherit; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">DISTINCT</span><span color="var(--highlight-color)" style="font-family: inherit; font-size: var(--_pr-code-fs); font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;"> TABLE_NAME </span></div><code class="hljs language-sql" style="border: 0px; box-sizing: inherit; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: var(--_pr-code-fs); font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;"><div style="text-align: justify;"><span color="var(--highlight-color)" style="font-family: inherit; font-size: var(--_pr-code-fs); font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;"> </span><span class="hljs-keyword" color="var(--highlight-keyword)" style="border: 0px; box-sizing: inherit; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">FROM</span><span color="var(--highlight-color)" style="font-family: inherit; font-size: var(--_pr-code-fs); font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;"> INFORMATION_SCHEMA.COLUMNS</span></div><div style="text-align: justify;"><span color="var(--highlight-color)" style="font-family: inherit; font-size: var(--_pr-code-fs); font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;"> </span><span class="hljs-keyword" color="var(--highlight-keyword)" style="border: 0px; box-sizing: inherit; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">WHERE</span><span color="var(--highlight-color)" style="font-family: inherit; font-size: var(--_pr-code-fs); font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;"> COLUMN_NAME </span><span class="hljs-keyword" color="var(--highlight-keyword)" style="border: 0px; box-sizing: inherit; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">IN</span><span color="var(--highlight-color)" style="font-family: inherit; font-size: var(--_pr-code-fs); font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;"> (</span><span class="hljs-string" color="var(--highlight-variable)" style="border: 0px; box-sizing: inherit; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">'Column A'</span><span color="var(--highlight-color)" style="font-family: inherit; font-size: var(--_pr-code-fs); font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">,</span><span class="hljs-string" color="var(--highlight-variable)" style="border: 0px; box-sizing: inherit; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">'Column B'</span><span color="var(--highlight-color)" style="font-family: inherit; font-size: var(--_pr-code-fs); font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">) </span></div></code></pre><div style="text-align: justify;"><span color="var(--highlight-color)" style="font-family: inherit; font-size: var(--_pr-code-fs); font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;"> </span><span class="hljs-keyword" color="var(--highlight-keyword)" style="border: 0px; box-sizing: inherit; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">AND</span><span color="var(--highlight-color)" style="font-family: inherit; font-size: var(--_pr-code-fs); font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;"> TABLE_SCHEMA</span><span class="hljs-operator" color="var(--highlight-color)" style="border: 0px; box-sizing: inherit; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">=</span><span class="hljs-string" color="var(--highlight-variable)" style="border: 0px; box-sizing: inherit; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">'<span style="font-family: georgia; font-size: medium;">Test_Database</span>'</span><span color="var(--highlight-color)" style="font-family: inherit; font-size: var(--_pr-code-fs); font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">;</span><span style="font-family: georgia;"> </span></div><div style="text-align: justify;"><span style="font-family: georgia;"><span style="background-color: white;"><br /></span></span></div><div style="text-align: left;"><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><span style="font-family: georgia;"><div style="text-align: justify;"><span style="background-color: white; color: #232629;">Above query shows all the table names which contains "Column A" or "Column B" columns. That's it. Happy coding !</span></div></span></div>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-4713905998015039712023-07-13T17:52:00.002+05:302023-07-13T17:54:38.197+05:30How to add drawable resources to an existing Android Studio project<p class="MsoNormal" style="text-align: justify;"><span style="font-family: georgia;">To add a drawable resource to an existing Android Studio
project, you can follow these steps:</span><span style="font-family: georgia;"> </span></p>
<p class="MsoListParagraphCxSpFirst" style="text-align: justify; text-indent: -18pt;"></p><ul><li style="text-align: justify;"><span style="font-family: georgia;">Open your Android Studio project.</span></li><li style="text-align: justify;"><span style="font-family: georgia;">In the Project Explorer pane on the left side,
navigate to the res folder.</span></li><li style="text-align: justify;"><span style="font-family: georgia;">Right-click on the res folder and select
"New" -> "Android Resource Directory".</span><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiUtkcYGZGBbKXcYklNFS4jRwAqUzAHSz8HWNRyvhwXR_ZWitAPT1RhsQv46qiq6ZvnlgNjcLGhP96hT4BIZkOlwCKyPUyVla8MDTyyYmkSqPtnkU06LavWRfTtA1K_xQ6zLVz58SYcLiWxnrbu7N5HdfUTfIsktzeN59D8miiEa4RdnIxXWBBkO8tYjo9O" style="font-family: georgia; margin-left: 1em; margin-right: 1em; text-align: center;"><img alt="" data-original-height="718" data-original-width="1366" height="210" src="https://blogger.googleusercontent.com/img/a/AVvXsEiUtkcYGZGBbKXcYklNFS4jRwAqUzAHSz8HWNRyvhwXR_ZWitAPT1RhsQv46qiq6ZvnlgNjcLGhP96hT4BIZkOlwCKyPUyVla8MDTyyYmkSqPtnkU06LavWRfTtA1K_xQ6zLVz58SYcLiWxnrbu7N5HdfUTfIsktzeN59D8miiEa4RdnIxXWBBkO8tYjo9O=w400-h210" width="400" /></a></li><li style="text-align: justify;"><span style="font-family: georgia;">In the "Resource type" dropdown,
select "drawable".<br /></span></li><li style="text-align: justify;"><span style="font-family: georgia;">Click "OK" to create the new drawable
resource directory.</span></li><li><div style="text-align: justify;"><span style="font-family: georgia;">In the newly created drawable directory,
right-click and select "New" -> "Image Asset" (if you
want to add an image file) or "Vector Asset" (if you want to add a
vector file).</span> </div><div class="separator" style="clear: both; text-align: justify;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgYIHmFOevNw3B_cXFU2nG7sMDF9bBNRmqCEiDUGIQGMHqR9rFBYs6skRwhLrVR1rvt6anjF3-U--6y824jELGdzZPyAygDaUSZO1kNb7HKNWyv7kQaixR27sCZVKWP9dm0jOC4WDN5QC7qALvYdMnkLKUr0zf029DGTRKNro2Mtvva3B15g7XMTPSKwlz6" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="580" data-original-width="1015" height="229" src="https://blogger.googleusercontent.com/img/a/AVvXsEgYIHmFOevNw3B_cXFU2nG7sMDF9bBNRmqCEiDUGIQGMHqR9rFBYs6skRwhLrVR1rvt6anjF3-U--6y824jELGdzZPyAygDaUSZO1kNb7HKNWyv7kQaixR27sCZVKWP9dm0jOC4WDN5QC7qALvYdMnkLKUr0zf029DGTRKNro2Mtvva3B15g7XMTPSKwlz6=w400-h229" width="400" /></a></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"> <span style="font-family: georgia; text-indent: -18pt;">Follow the prompts in the Asset Studio wiza</span><span style="font-family: georgia; text-indent: -18pt;">rd to
import or create the desired image or vector resource.</span></div></li></ul><ul><li style="text-align: justify;"><span style="font-family: georgia;">If you choose "Image Asset", you can
select an existing image file or create a new one. You can customize various
options such as image type, shape, and padding.</span></li><li style="text-align: justify;"><span style="font-family: georgia;">If you choose "Vector Asset", you can
import an SVG file or create a new vector using the built-in vector editor.</span></li><li style="text-align: justify;"><span style="font-family: georgia;">After configuring the asset, click
"Next" and "Finish" to complete the process.</span></li><li style="text-align: justify;"><span style="font-family: georgia;">The new drawable resource will be added to the
drawable directory, and it will be automatically generated in various densities
(e.g., mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi) if it's an image asset.</span></li><li style="text-align: justify;"><span style="font-family: georgia;">can now reference the newly added drawable resource in
your layout XML files or Java code by using its resource identifier (e.g.,
@drawable/your_drawable_resource_name).</span></li></ul><!--[if !supportLists]--><p></p>
<p class="MsoNormal" style="text-align: justify;"><span style="font-family: georgia;">Note: If you want to add an image file directly to the
drawable directory without using the Asset Studio, you can simply copy the
image file and paste it into the drawable directory. Make sure the image file
has a proper filename, adhering to Android resource naming conventions (e.g.,
lowercase letters, underscores, no spaces or special characters).<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: justify;"><o:p><span style="font-family: georgia;"> </span></o:p><span style="font-family: georgia;">By following these steps, you can add a drawable resource to
your existing Android Studio project.</span></p>
<p class="MsoNormal" style="text-align: justify;"><o:p><span style="font-family: georgia;"> </span></o:p></p>
<p class="MsoNormal" style="text-align: justify;"><o:p><span style="font-family: georgia;"> </span></o:p></p><div class="separator" style="clear: both; text-align: justify;"><span style="font-family: georgia;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjarzYn5Kd-E1jfrgDXteLSnisY5YcOrghYaQwSn4KwXlfSca0SNqnLsRtqaNsV6c6ULr2PotqTFySaRQzkCxArDlTTZ8JTqzYxVeLi-NgDWkgNXeGXqwRnjDVx94rlFgLu4Uc539UYOsBAjHWlRMJUTJGZd4pJwDr77NCSQHzT1KzLHQaEdje2DlmbG3VQ/s2525/Screenshot_20230713_173448.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2525" data-original-width="1152" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjarzYn5Kd-E1jfrgDXteLSnisY5YcOrghYaQwSn4KwXlfSca0SNqnLsRtqaNsV6c6ULr2PotqTFySaRQzkCxArDlTTZ8JTqzYxVeLi-NgDWkgNXeGXqwRnjDVx94rlFgLu4Uc539UYOsBAjHWlRMJUTJGZd4pJwDr77NCSQHzT1KzLHQaEdje2DlmbG3VQ/w183-h400/Screenshot_20230713_173448.png" width="183" /></a></span></div><span style="font-family: georgia;"><div style="text-align: justify;"><br /></div></span><p></p>
<p class="MsoNormal" style="text-align: justify;"><o:p><span style="font-family: georgia;"> </span></o:p></p>
<p class="MsoNormal" style="text-align: justify;"><o:p><span style="font-family: georgia;"> </span></o:p></p>
<p class="MsoNormal" style="text-align: justify;"><o:p><span style="font-family: georgia;"> </span></o:p></p>
<p style="text-align: justify;"><span style="font-family: georgia;"> </span></p>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-37670875729951348532023-07-11T18:40:00.007+05:302023-07-11T18:41:43.253+05:30Hybrid app development for Android and IOS<div style="text-align: left;"><div style="text-align: justify;"><span style="font-family: georgia;"> </span></div><span style="font-family: georgia;"><div style="text-align: justify;">There are several popular platforms available for developing
hybrid apps for Android and iOS. The choice of the best platform depends on
various factors such as your familiarity with programming languages, the
complexity of your app, performance requirements, and the specific features you
need. Here are three widely used platforms for hybrid app development:</div><o:p><div style="text-align: justify;"> </div></o:p><div style="text-align: justify;">React Native: React Native is a popular JavaScript framework
developed by Facebook. It allows you to build native-like mobile apps using
JavaScript and React. React Native offers a rich set of pre-built UI
components, provides excellent performance, and allows code sharing between
Android and iOS platforms. It has a large and active community, which means you
can find plenty of resources, libraries, and support.</div><o:p><div style="text-align: justify;"> </div></o:p><div style="text-align: justify;">Flutter: Flutter is an open-source UI framework developed by
Google. It uses the Dart programming language and allows you to build beautiful,
high-performance apps for both Android and iOS platforms from a single
codebase. Flutter provides a rich set of customizable widgets and has a
hot-reload feature that allows for fast development and testing. It has gained
popularity for its fast rendering capabilities and native-like performance.</div><o:p><div style="text-align: justify;"> </div></o:p><div style="text-align: justify;">Xamarin: Xamarin is a cross-platform app development
framework owned by Microsoft. It allows you to build apps using C# and .NET,
providing a native-like user experience. Xamarin allows code sharing across platforms,
and you can access native APIs and use platform-specific functionality. It has
a mature ecosystem, and if you are already familiar with C# and .NET, Xamarin
can be a good choice.</div><o:p><div style="text-align: justify;"> </div></o:p><div style="text-align: justify;">All of these platforms have their strengths and weaknesses,
so it's important to evaluate your specific project requirements and consider
factors like performance, development speed, community support, and learning
curve before choosing the best platform for your hybrid app development.</div></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;">In this, if you ask which is easy to learn. </span><span style="font-family: georgia;">The ease of learning a platform can vary depending on your
background, previous experience, and familiarity with the programming languages
involved. However, in terms of beginner-friendliness, Flutter is often
considered to have a relatively gentle learning curve.</span></div><div style="text-align: left;"><div style="text-align: left;"><div style="text-align: justify;"><span style="font-family: georgia;"> </span></div><span style="font-family: georgia;"><div style="text-align: justify;">Flutter uses the Dart programming language, which is easy to
grasp for developers who are already familiar with object-oriented programming
concepts. Dart has a clear syntax and provides helpful error messages, making
it easier for beginners to learn and understand.</div><o:p><div style="text-align: justify;"> </div></o:p><div style="text-align: justify;">Additionally, Flutter offers a rich set of documentation,
tutorials, and resources, including a detailed online documentation, video
tutorials, and a vibrant community. These resources can assist beginners in
getting started with Flutter and provide guidance throughout the learning
process.</div><o:p><div style="text-align: justify;"> </div></o:p><div style="text-align: justify;">That being said, it's important to note that the perceived
ease of learning also depends on your prior programming experience and the
specific requirements of your project. If you already have experience with
JavaScript and React, React Native may be more accessible for you. Similarly,
if you are already proficient in C# and .NET, Xamarin might be easier to pick
up.</div><o:p><div style="text-align: justify;"> </div></o:p><div style="text-align: justify;">Ultimately, the best approach is to try out different
platforms, explore their documentation and resources, and choose the one that
aligns with your skill set and project needs.</div></span></div><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p></div><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-76506476747068291692023-07-09T14:12:00.004+05:302023-07-19T13:07:16.980+05:30How to Embed PDF in Word file<p class="MsoNormal" style="text-align: justify;"><span style="font-family: georgia;">To embed a PDF file within a Word document, we can follow
these steps:<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: justify;"><o:p><span style="font-family: georgia;"> </span></o:p></p>
<p class="MsoNormal"></p><ul style="text-align: left;"><li style="text-align: justify;"><span style="font-family: georgia;">Open Microsoft Word and create a new or existing document
where you want to embed the PDF file.</span></li><li style="text-align: justify;"><span style="font-family: georgia;">Click on the "Insert" tab in the ribbon at the top
of the Word window.</span></li><li style="text-align: justify;"><span style="font-family: georgia;">In the "Text" section of the ribbon, click on the
"Object" button. This will open the "Object" dialog box.</span></li><li style="text-align: justify;"><span style="font-family: georgia;">In the "Object" dialog box, click on the
"Create from File" tab.</span></li><li style="text-align: justify;"><span style="font-family: georgia;">Click on the "Browse" button and navigate to the
location where your PDF file is saved. Select the PDF file and click
"OK".</span></li><li style="text-align: justify;"><span style="font-family: georgia;">In the "Object" dialog box, make sure the checkbox
next to "Link to file" is unchecked. If it's checked, the PDF file
will be linked to the Word document instead of being embedded.</span></li><li style="text-align: justify;"><span style="font-family: georgia;">Optionally, you can check the checkbox next to "Display
as icon" if you want the PDF file to appear as an icon in your Word
document. If you leave it unchecked, the PDF pages will be displayed directly
in the Word document.</span></li><li style="text-align: justify;"><span style="font-family: georgia;">Click on the "OK" button to embed the PDF file
into your Word document.</span></li></ul><p></p>
<p class="MsoNormal" style="text-align: justify;"><span style="font-family: georgia;">The PDF file should now be embedded within your Word
document. You can resize and reposition it as needed. When you save the Word
document, the embedded PDF file will be included and accessible whenever you
open the document on a device with a compatible PDF viewer.</span><o:p></o:p></p>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-57093128256575309082023-06-30T15:39:00.004+05:302023-07-19T13:07:42.611+05:30Android Studio says: duplicate class found and not able to build<div style="text-align: justify;"><span style="font-family: georgia;">While I was trying to build an android project on latest Android studio that is: </span></div><div style="text-align: left;"><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><span style="font-family: georgia;"><div style="text-align: justify;">Android Studio Flamingo | 2022.2.1 Patch 2</div><div style="text-align: justify;">Build #AI-222.4459.24.2221.10121639, built on May 12, 2023</div><div style="text-align: justify;">Runtime version: 17.0.6+0-b2043.56-9586694 amd64</div><div style="text-align: justify;">VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.</div></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;">I got the below error:</span></div><div style="text-align: justify;"><span style="font-family: georgia;">"Duplicate class found"</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><pre style="border-radius: var(--br-md); border: 0px; box-sizing: inherit; color: var(--highlight-color); font-family: var(--ff-mono); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: var(--fs-body1); font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; line-height: var(--lh-md); margin-bottom: calc(1.5em); margin-top: 0px; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: var(--su12); vertical-align: baseline; width: auto;"><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk8-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.21)</span></div><code style="border-radius: 0px; border: 0px; box-sizing: inherit; color: var(--black-800); font-family: var(--ff-mono); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: var(--_pr-code-fs); font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;"><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.internal.jdk7.JDK7PlatformImplementations found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk7-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.internal.jdk7.JDK7PlatformImplementations$ReflectSdkVersion found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk7-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.internal.jdk8.JDK8PlatformImplementations found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk8-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.internal.jdk8.JDK8PlatformImplementations$ReflectSdkVersion found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk8-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.io.path.DirectoryEntriesReader found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk7-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.io.path.ExperimentalPathApi found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk7-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.io.path.FileVisitorBuilder found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk7-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.io.path.FileVisitorBuilderImpl found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk7-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.io.path.FileVisitorImpl found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk7-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.io.path.LinkFollowing found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk7-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.io.path.PathNode found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk7-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.io.path.PathRelativizer found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk7-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.io.path.PathTreeWalk found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk7-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.io.path.PathTreeWalk$bfsIterator$1 found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk7-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.io.path.PathTreeWalk$dfsIterator$1 found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk7-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.io.path.PathTreeWalkKt found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk7-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.io.path.PathWalkOption found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk7-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.io.path.PathsKt found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk7-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.io.path.PathsKt__PathReadWriteKt found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk7-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.io.path.PathsKt__PathUtilsKt found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk7-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.jdk7.AutoCloseableKt found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk7-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.jvm.jdk8.JvmRepeatableKt found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk8-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.jvm.optionals.OptionalsKt found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk8-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.random.jdk8.PlatformThreadLocalRandom found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk8-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.21)</span></div><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">Duplicate class kotlin.streams.jdk8.StreamsKt found in modules kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and kotlin-stdlib-jdk8-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.21)</span></div></code></pre><pre style="border-radius: var(--br-md); border: 0px; box-sizing: inherit; color: var(--highlight-color); font-family: var(--ff-mono); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: var(--fs-body1); font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; line-height: var(--lh-md); margin-bottom: calc(1.5em); margin-top: 0px; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: var(--su12); text-align: justify; vertical-align: baseline; width: auto;"><span style="background-color: white; color: #232629; font-family: georgia; white-space: normal;">I solved this issue by downgrading the dependencies.</span></pre><div style="--_pr-img-mb: 0; background-color: white; border: 0px; box-sizing: inherit; clear: both; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; text-align: left; vertical-align: baseline;"><div style="color: #232629; text-align: justify; white-space: normal;"><span style="font-family: georgia; font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.6.1'</span></div><span style="font-family: georgia;"><div style="color: #232629; text-align: justify; white-space: normal;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1'</span></div><div style="text-align: justify;"><span style="color: #232629;"><br /></span></div></span></div><div style="--_pr-img-mb: 0; background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #232629; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; text-align: left; vertical-align: baseline; white-space: normal;"><div style="text-align: justify;"><span style="font-family: georgia;">Just downgrading from 2.6.1 to 2.5.1</span></div><span style="font-family: georgia;"><div style="text-align: justify;">Like below</div></span></div><div style="--_pr-img-mb: 0; background-color: white; border: 0px; box-sizing: inherit; clear: both; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; text-align: left; vertical-align: baseline;"><div style="text-align: justify;"><span style="color: #232629; font-family: georgia;"><br /></span></div><span style="color: #232629; font-family: georgia; white-space: normal;"><div style="text-align: justify;"><span style="font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.5.1'</span></div><code style="border-radius: 0px; border: 0px; box-sizing: inherit; color: var(--black-800); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;"><div style="text-align: justify;"><span style="font-family: georgia; font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1'</span></div></code></span></div><div style="--_pr-img-mb: 0; background-color: white; border: 0px; box-sizing: inherit; clear: both; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; text-align: left; vertical-align: baseline;"><div style="text-align: justify;"><span style="color: #232629; font-family: monospace;"><br /></span></div><span><div style="color: #232629; font-family: georgia; text-align: justify;"><br /></div></span></div><div style="--_pr-img-mb: 0; background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #232629; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; text-align: justify; vertical-align: baseline; white-space: normal;"><span style="font-family: georgia;">If the above solution does not affect, you can try to add the below dependency:</span></div><div style="--_pr-img-mb: 0; background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #232629; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; text-align: justify; vertical-align: baseline; white-space: normal;"><span style="font-family: georgia;"><br /></span></div><div style="--_pr-img-mb: 0; background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #232629; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; text-align: left; vertical-align: baseline; white-space: normal;"><pre style="background-color: #2b2b2b; color: #a9b7c6; font-family: "JetBrains Mono", monospace; font-size: 9.8pt; text-align: justify;">implementation(platform(<span style="color: #6a8759;">"org.jetbrains.kotlin:kotlin-bom:1.8.0"</span>))</pre></div><div style="--_pr-img-mb: 0; background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #232629; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; text-align: justify; vertical-align: baseline; white-space: normal;"><span style="font-family: georgia;">If the above solution does not affect anything, try downgrading some plugins you just upgraded. It'll definitely resolve.</span></div><div style="--_pr-img-mb: 0; background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #232629; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; text-align: justify; vertical-align: baseline; white-space: normal;"><span style="font-family: georgia;"><br /></span></div><div style="--_pr-img-mb: 0; background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #232629; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; text-align: justify; vertical-align: baseline; white-space: normal;"><span style="font-family: georgia;">I hope it is helpful.</span></div></div>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-60074468287547039982023-06-24T18:30:00.001+05:302023-07-19T13:08:09.868+05:30org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: Error in android<p style="text-align: justify;"><span style="font-family: georgia;">I got the below error while running my android project :</span></p><div style="background-color: white; border: 0px; box-sizing: inherit; color: #232629; flex: 1 1 auto; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: 1.3; margin-bottom: var(--su8) !important; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-wrap: break-word; padding: 0px; text-align: justify; vertical-align: baseline;"><span style="font-family: georgia; font-size: small;">org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: Script7.groovy: 1: unable to resolve class</span></div><div style="background-color: white; border: 0px; box-sizing: inherit; color: #232629; flex: 1 1 auto; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: 1.3; margin-bottom: var(--su8) !important; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-wrap: break-word; padding: 0px; text-align: justify; vertical-align: baseline;"><span style="font-family: georgia; font-size: small;"><br /></span></div><div style="background-color: white; border: 0px; box-sizing: inherit; color: #232629; flex: 1 1 auto; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: 1.3; margin-bottom: var(--su8) !important; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-wrap: break-word; padding: 0px; text-align: justify; vertical-align: baseline;"><span style="font-family: georgia; font-size: small;">To solve this error I have to upgrade my jdk. To upgrade the jdk, you can follow the below steps</span></div><div style="background-color: white; border: 0px; box-sizing: inherit; color: #232629; flex: 1 1 auto; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: 1.3; margin-bottom: var(--su8) !important; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-wrap: break-word; padding: 0px; text-align: justify; vertical-align: baseline;"><span style="font-family: georgia; font-size: small;"><br /></span></div><div style="background-color: white; border: 0px; box-sizing: inherit; color: #232629; flex: 1 1 auto; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: 1.3; margin-bottom: var(--su8) !important; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-wrap: break-word; padding: 0px; text-align: left; vertical-align: baseline;"><div style="text-align: justify;"><span style="font-family: georgia; font-weight: inherit;">From File menu -> Project Structure -> SDK Location -> JDK location Drop down menu choose:</span></div><span style="font-family: georgia;"><div style="text-align: justify;"><span style="font-weight: inherit;">Embeded JDK c:....\jre</span></div></span></div><div style="background-color: white; border: 0px; box-sizing: inherit; color: #232629; flex: 1 1 auto; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: 1.3; margin-bottom: var(--su8) !important; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-wrap: break-word; padding: 0px; text-align: justify; vertical-align: baseline;"><span style="font-family: georgia;"><br /></span></div><div style="background-color: white; border: 0px; box-sizing: inherit; color: #232629; flex: 1 1 auto; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: 1.3; margin-bottom: var(--su8) !important; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-wrap: break-word; padding: 0px; text-align: left; vertical-align: baseline;"><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: justify;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhYZWVCnJGe3n9V6m2K44WOr_Y7iNV7WgOBTm_7xuPaFy4UakSzFJkLltreLFWFHrYkowKQtq_01wweoi2umrQSOQfnDi_DuLCdKLOmgUXY4TwLZAYh8YFxY-OgUOcirPjpe0VyUz0GsCuQQ01ixY3BJncALYgnCbG8zYHFaCAh2W_mLAmOPVpXsXFHhifn" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="353" data-original-width="656" height="172" src="https://blogger.googleusercontent.com/img/a/AVvXsEhYZWVCnJGe3n9V6m2K44WOr_Y7iNV7WgOBTm_7xuPaFy4UakSzFJkLltreLFWFHrYkowKQtq_01wweoi2umrQSOQfnDi_DuLCdKLOmgUXY4TwLZAYh8YFxY-OgUOcirPjpe0VyUz0GsCuQQ01ixY3BJncALYgnCbG8zYHFaCAh2W_mLAmOPVpXsXFHhifn" width="320" /></a></div><div style="background-color: white; border: 0px; box-sizing: inherit; color: #232629; flex: 1 1 auto; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: 1.3; margin-bottom: var(--su8) !important; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-wrap: break-word; padding: 0px; text-align: justify; vertical-align: baseline;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-weight: inherit;">or you can upgrade the jdk to latest jdk by clickiing on upgrade to latest jdk. You can upgrade jdk from Gradle settings also.</span></div></span></div><div style="background-color: white; border: 0px; box-sizing: inherit; color: #232629; flex: 1 1 auto; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: 1.3; margin-bottom: var(--su8) !important; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-wrap: break-word; padding: 0px; text-align: justify; vertical-align: baseline;"><span style="font-family: georgia;"><br /></span></div><div style="background-color: white; border: 0px; box-sizing: inherit; flex: 1 1 auto; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variation-settings: inherit; line-height: 1.3; margin-bottom: var(--su8) !important; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-wrap: break-word; padding: 0px; text-align: left; vertical-align: baseline;"><div style="color: #232629; font-weight: inherit; text-align: justify;"><span style="font-family: georgia; font-weight: inherit;">This solves the above error. </span></div><span><div style="color: #232629; font-family: georgia; text-align: justify;"><br /></div></span></div>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-6211054425793188312023-06-07T12:54:00.004+05:302023-06-07T12:54:36.808+05:30Understanding Android Security: Best Practices for Secure App Development<p style="text-align: justify;"><span style="font-family: georgia;"> <span style="background-color: white; color: #212529;">Developing secure Android apps requires following best practices and implementing various security measures. Here are some tips to enhance the security of your Android app:</span></span></p><ol style="background-color: white; box-sizing: border-box; color: #212529; list-style-image: initial; list-style-position: initial; margin: 0px 0px 1rem; padding: 0px;"><li style="box-sizing: border-box; list-style: decimal; margin: 0px 0px 0px 20px; padding: 0px;"><div style="text-align: justify;"><span style="font-family: georgia;">Secure Data Storage:</span></div><ul style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 1.5em; padding: 0px;"><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Use secure storage mechanisms, such as the Android Keystore system, to store sensitive data like passwords, encryption keys, and API keys.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Avoid storing sensitive information in plain text or easily accessible locations like shared preferences.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Employ data encryption techniques like AES or RSA when storing data on disk or transmitting it over the network.</span></li></ul></li><li style="box-sizing: border-box; list-style: decimal; margin: 0px 0px 0px 20px; padding: 0px;"><div style="text-align: justify;"><span style="font-family: georgia;">Input Validation and Sanitization:</span></div><ul style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 1.5em; padding: 0px;"><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Validate and sanitize all user inputs to prevent common security vulnerabilities like SQL injection, cross-site scripting (XSS), and remote code execution.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Utilize input validation libraries and frameworks to simplify the process and reduce the risk of errors.</span></li></ul></li><li style="box-sizing: border-box; list-style: decimal; margin: 0px 0px 0px 20px; padding: 0px;"><div style="text-align: justify;"><span style="font-family: georgia;">Secure Network Communication:</span></div><ul style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 1.5em; padding: 0px;"><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Use secure communication protocols such as HTTPS/TLS for transmitting sensitive data over the network.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Implement certificate pinning to ensure the authenticity of the server’s SSL certificate.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Validate server certificates and hostname to prevent man-in-the-middle attacks.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Avoid transmitting sensitive information in URL parameters or query strings.</span></li></ul></li><li style="box-sizing: border-box; list-style: decimal; margin: 0px 0px 0px 20px; padding: 0px;"><div style="text-align: justify;"><span style="font-family: georgia;">User Authentication and Authorization:</span></div><ul style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 1.5em; padding: 0px;"><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Implement strong and secure authentication mechanisms, such as password hashing, biometric authentication, or OAuth-based authentication.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Enforce secure password policies (e.g., complexity, length, expiration) to enhance user account security.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Implement session management techniques to handle user sessions securely.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Employ appropriate authorization mechanisms to control access to sensitive app features and data.</span></li></ul></li><li style="box-sizing: border-box; list-style: decimal; margin: 0px 0px 0px 20px; padding: 0px;"><div style="text-align: justify;"><span style="font-family: georgia;">Secure Code Practices:</span></div><ul style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 1.5em; padding: 0px;"><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Regularly update and patch your app’s dependencies, libraries, and frameworks to address known security vulnerabilities.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Implement secure coding practices, such as input validation, output encoding, and secure error handling.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Avoid hardcoding sensitive information like API keys, passwords, or cryptographic keys directly in the code.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Utilize appropriate security frameworks and libraries to handle security-related tasks effectively.</span></li></ul></li><li style="box-sizing: border-box; list-style: decimal; margin: 0px 0px 0px 20px; padding: 0px;"><div style="text-align: justify;"><span style="font-family: georgia;">User Privacy:</span></div><ul style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 1.5em; padding: 0px;"><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Request and handle user permissions appropriately and transparently, following the principle of least privilege.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Implement privacy controls and settings to allow users to control their data and preferences.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Be cautious with collecting and storing personally identifiable information (PII), adhering to privacy regulations like GDPR or CCPA.</span></li></ul></li><li style="box-sizing: border-box; list-style: decimal; margin: 0px 0px 0px 20px; padding: 0px;"><div style="text-align: justify;"><span style="font-family: georgia;">Code Obfuscation and Reverse Engineering:</span></div><ul style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 1.5em; padding: 0px;"><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Employ code obfuscation techniques (e.g., ProGuard, R8) to make it harder for attackers to understand and reverse engineer your app’s code.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Use techniques like code tampering detection and runtime integrity checks to detect and respond to tampering attempts.</span></li></ul></li><li style="box-sizing: border-box; list-style: decimal; margin: 0px 0px 0px 20px; padding: 0px;"><div style="text-align: justify;"><span style="font-family: georgia;">Regular Security Testing:</span></div><ul style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 1.5em; padding: 0px;"><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Conduct regular security assessments and penetration testing to identify and address vulnerabilities.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Use static code analysis tools and security testing frameworks to identify common security issues during the development process.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Perform dynamic security testing to simulate real-world attacks and assess the resilience of your app.</span></li></ul></li><li style="box-sizing: border-box; list-style: decimal; margin: 0px 0px 0px 20px; padding: 0px;"><div style="text-align: justify;"><span style="font-family: georgia;">Stay Updated with Security Best Practices:</span></div><ul style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 1.5em; padding: 0px;"><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Keep up-to-date with the latest security guidelines and best practices from Android and security communities.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Follow Android’s security-related recommendations, including the Android Security Guidelines and Security Best Practices documentation.</span></li></ul></li></ol><p style="background-color: white; box-sizing: border-box; color: #212529; margin: 0px 0px 1rem; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Remember, security is an ongoing process, and it’s essential to monitor security news and updates regularly to address emerging threats and vulnerabilities.</span></p>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-87080665200700349442023-06-06T17:57:00.000+05:302023-06-06T17:57:11.032+05:30Building Android Apps with Material Design Guidelines<div style="text-align: justify;"><span style="font-family: georgia;"><span style="background-color: white; color: #212529;">Building Android apps with Material Design guidelines can help you create visually appealing and intuitive user interfaces. Here are some key considerations and best practices to follow when incorporating Material Design into your Android app:</span></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><span style="background-color: white; color: #212529;"><br /></span></span></div><div class="markdown prose w-full break-words dark:prose-invert light" style="background-color: white; box-sizing: border-box; color: #212529; margin: 0px; padding: 0px;"><ol style="box-sizing: border-box; list-style-image: initial; list-style-position: initial; margin: 0px 0px 1rem; padding: 0px;"><li style="box-sizing: border-box; list-style: decimal; margin: 0px 0px 0px 20px; padding: 0px;"><div style="text-align: justify;"><span style="font-family: georgia;">Understand Material Design Principles:</span></div><ul style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 1.5em; padding: 0px;"><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Familiarize yourself with the principles of Material Design, such as material metaphor, bold and intentional design, meaningful motion, and responsive interactions. This will provide a foundation for implementing Material Design effectively.</span></li></ul></li><li style="box-sizing: border-box; list-style: decimal; margin: 0px 0px 0px 20px; padding: 0px;"><div style="text-align: justify;"><span style="font-family: georgia;">Use Material Components:</span></div><ul style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 1.5em; padding: 0px;"><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Utilize the Material Components for Android library, which provides pre-built UI components following Material Design guidelines. This library offers a wide range of customizable components like buttons, cards, dialogs, text fields, and more, ensuring visual consistency and smooth integration.</span></li></ul></li><li style="box-sizing: border-box; list-style: decimal; margin: 0px 0px 0px 20px; padding: 0px;"><div style="text-align: justify;"><span style="font-family: georgia;">Consistent Color and Typography:</span></div><ul style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 1.5em; padding: 0px;"><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Follow the color and typography guidelines provided by Material Design. Use the color palette and typography scale to ensure consistency throughout your app.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Apply color and typography appropriately to indicate hierarchy, emphasize important elements, and enhance readability.</span></li></ul></li><li style="box-sizing: border-box; list-style: decimal; margin: 0px 0px 0px 20px; padding: 0px;"><div style="text-align: justify;"><span style="font-family: georgia;">Responsive Layouts:</span></div><ul style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 1.5em; padding: 0px;"><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Design responsive layouts that adapt to different screen sizes and orientations. Utilize ConstraintLayout and other responsive layout techniques to create flexible and scalable UIs.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Ensure that your app’s UI elements are appropriately sized and positioned to provide a consistent user experience across different devices.</span></li></ul></li><li style="box-sizing: border-box; list-style: decimal; margin: 0px 0px 0px 20px; padding: 0px;"><div style="text-align: justify;"><span style="font-family: georgia;">Meaningful Motion and Transitions:</span></div><ul style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 1.5em; padding: 0px;"><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Leverage motion to enhance user experience and provide visual feedback. Use meaningful and purposeful animations to guide users, convey changes, and highlight important actions.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Implement smooth transitions between screens and interactions to create a seamless and engaging user flow.</span></li></ul></li><li style="box-sizing: border-box; list-style: decimal; margin: 0px 0px 0px 20px; padding: 0px;"><div style="text-align: justify;"><span style="font-family: georgia;">Iconography and Imagery:</span></div><ul style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 1.5em; padding: 0px;"><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Utilize appropriate icons from the Material Design icon library or create custom icons that align with the Material Design style.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Use high-quality imagery that aligns with Material Design aesthetics. Optimize image sizes and resolutions to ensure smooth performance.</span></li></ul></li><li style="box-sizing: border-box; list-style: decimal; margin: 0px 0px 0px 20px; padding: 0px;"><div style="text-align: justify;"><span style="font-family: georgia;">Adaptive Design:</span></div><ul style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 1.5em; padding: 0px;"><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Take advantage of adaptive design techniques to optimize your app’s appearance on different devices, including smartphones, tablets, and foldable devices.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Adapt layouts, fonts, and spacing dynamically to provide an optimal user experience on various screen sizes and form factors.</span></li></ul></li><li style="box-sizing: border-box; list-style: decimal; margin: 0px 0px 0px 20px; padding: 0px;"><div style="text-align: justify;"><span style="font-family: georgia;">Gestures and Touch Feedback:</span></div><ul style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 1.5em; padding: 0px;"><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Implement touch gestures and touch feedback to make your app interactive and responsive. Use touch ripples and animations to provide visual feedback when elements are tapped or swiped.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Ensure that touch targets are appropriately sized and spaced to accommodate different screen sizes and user interactions.</span></li></ul></li><li style="box-sizing: border-box; list-style: decimal; margin: 0px 0px 0px 20px; padding: 0px;"><div style="text-align: justify;"><span style="font-family: georgia;">Accessibility:</span></div><ul style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 1.5em; padding: 0px;"><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Consider accessibility guidelines when designing your app. Use appropriate contrast ratios, provide alternative text for images, ensure proper focus order, and support assistive technologies.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Test your app’s accessibility features and make necessary adjustments to ensure inclusivity for all users.</span></li></ul></li><li style="box-sizing: border-box; list-style: decimal; margin: 0px 0px 0px 20px; padding: 0px;"><div style="text-align: justify;"><span style="font-family: georgia;">Test and Iterate:</span></div><ul style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 1.5em; padding: 0px;"><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Test your app thoroughly on various devices and screen sizes to ensure that the UI elements and interactions align with Material Design principles.</span></li><li style="box-sizing: border-box; list-style: disc; margin: 0px 0px 0px 20px; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Collect user feedback and iterate on your design to improve usability and address any usability issues or inconsistencies.</span></li></ul></li></ol><div style="box-sizing: border-box; margin: 0px 0px 1rem; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Remember that Material Design is a set of guidelines, and while it provides a solid foundation for building visually appealing and intuitive apps, it’s essential to strike a balance between adhering to the guidelines and incorporating your app’s unique branding and identity.</span></div></div><div style="background-color: white; box-sizing: border-box; color: #212529; margin: 0px 0px 1rem; padding: 0px; text-align: justify;"><span style="font-family: georgia;">Happy coding!!!</span></div>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-49092172095125823062023-03-18T08:29:00.002+05:302023-07-19T13:09:30.219+05:30Formula to count the blank cells in excel<div style="text-align: justify;"><span style="font-family: georgia;">When I was working on some data calculations in a excel sheet, we had a situation to count the blank number of cells in a range of rows. There are lot of statistical formulas available in excel</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;">Here is the one formula which can be used to achieve this. and We can see how can use this.</span></div><div style="text-align: justify;"><span style="font-family: georgia;">We can use COUNTBLANK function, one of the Statistical functions, to count the number of empty cells in a range of cells.</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><div><div style="text-align: justify;"><span style="font-family: georgia;">Syntax</span></div><span style="font-family: georgia;"><div style="text-align: justify;">COUNTBLANK(Range)</div><o:p><div style="text-align: justify;"> </div></o:p><div style="text-align: justify;">The COUNTBLANK function syntax has the following arguments:</div><o:p><div style="text-align: justify;"> </div></o:p><div style="text-align: justify;">Range Required. The
range from which you want to count the blank cells.</div><o:p><div style="text-align: justify;"> </div></o:p><div style="text-align: justify;">Remark</div><div style="text-align: justify;">Cells with formulas that return "" (empty text)
are also counted. Cells with zero values are not counted.</div></span></div><p class="MsoNormal"><span style="font-family: georgia;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: georgia;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: georgia;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: georgia;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: georgia;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: georgia;"><o:p></o:p></span></p></div><div style="text-align: justify;"><span style="font-family: georgia;">Example:</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: justify;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjfUMT_KUDektxekIkRU2roYQy82yQXsFIKbgkUCg2-4ltBVPMcW1FILm4hVVBGC_1S8QbION_dGIzr3khxR75R0m6wRTlrLISLh4GHb1IYbGRSL89uDTbzej-043ytm1uyIdYL2heTlhZTkuKyiJL6XHVMXm1oHopx0blOwGquOY-11r2gEZPUBxK0Jw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="201" data-original-width="438" height="147" src="https://blogger.googleusercontent.com/img/a/AVvXsEjfUMT_KUDektxekIkRU2roYQy82yQXsFIKbgkUCg2-4ltBVPMcW1FILm4hVVBGC_1S8QbION_dGIzr3khxR75R0m6wRTlrLISLh4GHb1IYbGRSL89uDTbzej-043ytm1uyIdYL2heTlhZTkuKyiJL6XHVMXm1oHopx0blOwGquOY-11r2gEZPUBxK0Jw" width="320" /></a></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div></span></div><div style="text-align: left;"><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: justify;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhkXN-48njITYh9rsd0_I_wrYfUO59TJATiqf0KSofSN-9xo-bnwQkOI3S4QXi_uhWSE1bLId7fMUTRcYFtbg3XLhBQbilqTrDczYgcQZI5Sk9qc7DNRCiHDbMko9e9JGxK7OXinSnH92S5o8bzofhU9cm9y6UDIjg55V5-LNl5Dw-dv5pbe7m2ZK4ewQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="327" data-original-width="619" height="211" src="https://blogger.googleusercontent.com/img/a/AVvXsEhkXN-48njITYh9rsd0_I_wrYfUO59TJATiqf0KSofSN-9xo-bnwQkOI3S4QXi_uhWSE1bLId7fMUTRcYFtbg3XLhBQbilqTrDczYgcQZI5Sk9qc7DNRCiHDbMko9e9JGxK7OXinSnH92S5o8bzofhU9cm9y6UDIjg55V5-LNl5Dw-dv5pbe7m2ZK4ewQ=w400-h211" width="400" /></a></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Hope this helps!</div></span></div><div style="text-align: justify;"><br /></div>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-66928041485795656502023-03-17T22:51:00.002+05:302023-03-17T22:55:15.379+05:30How to add email and phone link in shopify<div style="text-align: justify;"> <span style="font-family: georgia;">While working with Shopify themes, somebody was asking me how to make by clicking on email, it should automatically open the installed email client and add the email address to field. This is very simple to do.</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><span style="font-family: georgia;"><div style="text-align: justify;">1. Name the link "Email us" or whatever content you want your clients to see.</div><div style="text-align: justify;">2. Put "mailto:name@example.com" in the Link box.</div><div style="text-align: justify;">3, Replace the placeholder email address with your email address</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Similarly you can add a telephone number with the prefix "tel:+xxxxxxxxxx" .. And link it. It automatically opens the dialer.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Click Add, then Save, and you're finished. </div><div style="text-align: justify;"><br /></div><div><div class="separator" style="clear: both; text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: justify;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiw6DLhdzgX12xNs41mcFwdido3nNyPVd_4ijRCC8_TFXCpB4dUSLkQRSohfF22S4vOjYiIKqhTWbJ917MiMpGfvemZ6qCfwKn4UNMAgfEOGqXvYh_sCxj0RGeZTp_BRV7YrLDrklc4Ze34RkMhz_8Tq-HfVbsLn-aUQgtwIjB4lC6zG-Y00UvO-xTG_Q" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="554" data-original-width="647" height="343" src="https://blogger.googleusercontent.com/img/a/AVvXsEiw6DLhdzgX12xNs41mcFwdido3nNyPVd_4ijRCC8_TFXCpB4dUSLkQRSohfF22S4vOjYiIKqhTWbJ917MiMpGfvemZ6qCfwKn4UNMAgfEOGqXvYh_sCxj0RGeZTp_BRV7YrLDrklc4Ze34RkMhz_8Tq-HfVbsLn-aUQgtwIjB4lC6zG-Y00UvO-xTG_Q=w400-h343" width="400" /></a></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div></div></span></div>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-9900948179660696372023-03-16T23:42:00.002+05:302023-03-16T23:42:27.415+05:30WhatsApp, dialer and email integration for a flutter WebView application<div style="text-align: left;"><span style="font-family: georgia;">Recently we were working on an E-commerce website. Then we have decided to build a webview flutter application. We built it successfully and was working fine. But in the website we have a feature to interact with the customer care executive through WhatsApp. But this did not work in the flutter app. But works very well from the browser on the desktop. However, because WhatsApp and our flutter app are separate applications, this did not work or we were unable to activate WhatsApp through our application. </span></div><div style="text-align: left;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><span style="font-family: georgia;">In mobile, we get the below error when we try to click on the whatsApp button in the application: </span></div><div style="text-align: left;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><p class="MsoNormal">ERR_UNKNOWN_URL_SCHEME Error<o:p></o:p></p></div><div style="text-align: left;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><span style="font-family: georgia;">The url_launcher module in Flutter can be used to incorporate WhatsApp into a Flutter webview application.</span></div><div style="text-align: left;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><span style="font-family: georgia;">1. Add the url_launcher dependency to your pubspec.yaml file:</span></div><p class="MsoNormal"><span style="font-family: georgia;"><o:p></o:p></span></p><div style="text-align: left;"><span style="font-family: georgia;"><div>dependencies:</div><div> url_launcher: ^6.0.9</div><div><br /></div></span><span style="font-family: georgia;"><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgDS_K4kzcxlrCDwat_mA17R3U-4ESsrAgJKkiOkE7YqIj3Ez2Yql2-UHPC5ObayhJcHLT6b16EMvcnP_cfdfR0WfUY1uFYEQCTio8ZZrhZPyMjqtBiK2OYvGfaz6HXMeKRxXM6O1i6dXg_F48KEZJLEzVtlirstIOPVsjgnOr9MhxDNgm3Xy4VqZmKYw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="83" data-original-width="633" height="53" src="https://blogger.googleusercontent.com/img/a/AVvXsEgDS_K4kzcxlrCDwat_mA17R3U-4ESsrAgJKkiOkE7YqIj3Ez2Yql2-UHPC5ObayhJcHLT6b16EMvcnP_cfdfR0WfUY1uFYEQCTio8ZZrhZPyMjqtBiK2OYvGfaz6HXMeKRxXM6O1i6dXg_F48KEZJLEzVtlirstIOPVsjgnOr9MhxDNgm3Xy4VqZmKYw=w400-h53" width="400" /></a></div><br />2. Import the url_launcher package in your Dart file:</div></span><p class="MsoNormal"><o:p></o:p></p><span style="font-family: georgia;"><div><span> </span><span> </span>import 'package:url_launcher/url_launcher.dart';</div></span><span style="font-family: georgia;"><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgb41WmQeS-fe7SKwFgbNUkpVfgjL5vKLFycAnbLEJViTPsPDJklurjg61gIEEc5OQyxRXhnRlI1u97YAGdFnl-mPzgrTDZ_JMgAYSzEiBYl4f6TDVtr0IZn-KeX0Ao7nBzOTjK2SlFqdviqvLMce0B3-F0l1FLvDEXn6S-dL7t2hN3zN7OBg03LE71iA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="56" data-original-width="631" height="35" src="https://blogger.googleusercontent.com/img/a/AVvXsEgb41WmQeS-fe7SKwFgbNUkpVfgjL5vKLFycAnbLEJViTPsPDJklurjg61gIEEc5OQyxRXhnRlI1u97YAGdFnl-mPzgrTDZ_JMgAYSzEiBYl4f6TDVtr0IZn-KeX0Ao7nBzOTjK2SlFqdviqvLMce0B3-F0l1FLvDEXn6S-dL7t2hN3zN7OBg03LE71iA=w400-h35" width="400" /></a></div><br /><br /></div><div>3. In your webview widget, add an onPageFinished callback that
gets triggered when the page finishes loading. Inside this callback, you can use
url_launcher to launch WhatsApp:</div></span><p class="MsoNormal"><o:p></o:p></p><span style="font-family: georgia;"><div><p class="MsoNormal">WebView(<o:p></o:p></p>
<p class="MsoNormal"> initialUrl:
'https://example.com',<o:p></o:p></p>
<p class="MsoNormal"> onPageFinished:
(String url) {<o:p></o:p></p>
<p class="MsoNormal"> if
(url.contains('whatsapp://send')) {<o:p></o:p></p>
<p class="MsoNormal"> launch(url);<o:p></o:p></p>
<p class="MsoNormal"> }<o:p></o:p></p>
<p class="MsoNormal"> },<o:p></o:p></p>
<p class="MsoNormal">)<o:p></o:p></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEihTHF15nAHPlESPKJ38f9WfbfzuGiCOTuva1w3CSnzJksWigk9epiWs9DNgz0Z2gfL3ZeIvN8zSISFWZcAo-LFnVvFr1WKGM7C-MCKV8pq69LgD4sPgpTc3wdBhprRJKDPP6Ob7gciBb8rcTRPFNM_012Q6dNRLLrUP4GvItjUSEKlUvzAhcKIhwDV4w" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="230" data-original-width="632" height="145" src="https://blogger.googleusercontent.com/img/a/AVvXsEihTHF15nAHPlESPKJ38f9WfbfzuGiCOTuva1w3CSnzJksWigk9epiWs9DNgz0Z2gfL3ZeIvN8zSISFWZcAo-LFnVvFr1WKGM7C-MCKV8pq69LgD4sPgpTc3wdBhprRJKDPP6Ob7gciBb8rcTRPFNM_012Q6dNRLLrUP4GvItjUSEKlUvzAhcKIhwDV4w=w400-h145" width="400" /></a></div></div><div><br /></div><div>or: </div><div><br /></div><div><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #9cdcfe;">navigationDelegate</span>: (<span style="color: #4ec9b0;">NavigationRequest</span> <span style="color: #9cdcfe;">request</span>) {</div><div> <span style="color: #c586c0;">if</span> (<span style="color: #9cdcfe;">request</span>.<span style="color: #9cdcfe;">url</span>.<span style="color: #dcdcaa;">contains</span>(<span style="color: #ce9178;">'api.whatsapp.com'</span>)) {</div><div> <span style="color: #dcdcaa;">launch</span>(<span style="color: #9cdcfe;">request</span>.<span style="color: #9cdcfe;">url</span>); <span style="color: #6a9955;">//This is where Whatsapp launches</span></div><div> <span style="color: #c586c0;">return</span> <span style="color: #4ec9b0;">NavigationDecision</span>.<span style="color: #4fc1ff;">prevent</span>;</div><div> }</div></div></div><div><br /></div><div><div style="text-align: left;">In the above code, we check if the URL contains whatsapp://send.
If it does, we use launch to open the URL in the system's default browser,
which will launch WhatsApp if it is installed.<br />Note that this will only work on devices that have WhatsApp
installed. If WhatsApp is not installed, the URL will not be opened.</div><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p></div><div><br /></div><div>Same thing we can do for a dialer and email integrations: Here is the code for that</div><div><br /></div><div><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div> <span style="color: #c586c0;">if</span> (<span style="color: #9cdcfe;">request</span>.<span style="color: #9cdcfe;">url</span>.<span style="color: #dcdcaa;">contains</span>(<span style="color: #ce9178;">'mailto:'</span>)) {</div><div> <span style="color: #dcdcaa;">launch</span>(<span style="color: #9cdcfe;">request</span>.<span style="color: #9cdcfe;">url</span>);</div><div> <span style="color: #c586c0;">return</span> <span style="color: #4ec9b0;">NavigationDecision</span>.<span style="color: #4fc1ff;">prevent</span>;</div><div> }</div><br /><div> <span style="color: #c586c0;">if</span> (<span style="color: #9cdcfe;">request</span>.<span style="color: #9cdcfe;">url</span>.<span style="color: #dcdcaa;">contains</span>(<span style="color: #ce9178;">'tel:'</span>)) {</div><div> <span style="color: #dcdcaa;">launch</span>(<span style="color: #9cdcfe;">request</span>.<span style="color: #9cdcfe;">url</span>);</div><div> <span style="color: #c586c0;">return</span> <span style="color: #4ec9b0;">NavigationDecision</span>.<span style="color: #4fc1ff;">prevent</span>;</div><div> }</div></div></div><div><br /></div><div><br /></div><div>In some cases, the other urls apart from this may not work so, you need to add NavigationDecision.Navigate option as shown in the below code:</div><div><br /></div><div><div style="background-color: #1e1e1e; color: #d4d4d4; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div> <span style="color: #c586c0;">if</span> (<span style="color: #9cdcfe;">request</span>.<span style="color: #9cdcfe;">url</span>.<span style="color: #dcdcaa;">contains</span>(<span style="color: #ce9178;">'wa.me'</span>)) {</div><div> <span style="color: #dcdcaa;">launch</span>(<span style="color: #9cdcfe;">request</span>.<span style="color: #9cdcfe;">url</span>); <span style="color: #6a9955;">//This is where Whatsapp launches</span></div><div> <span style="color: #c586c0;">return</span> <span style="color: #4ec9b0;">NavigationDecision</span>.<span style="color: #4fc1ff;">prevent</span>;</div><div> }</div><div> <span style="color: #c586c0;">if</span> (<span style="color: #9cdcfe;">request</span>.<span style="color: #9cdcfe;">url</span>.<span style="color: #dcdcaa;">contains</span>(<span style="color: #ce9178;">'mailto:'</span>)) {</div><div> <span style="color: #dcdcaa;">launch</span>(<span style="color: #9cdcfe;">request</span>.<span style="color: #9cdcfe;">url</span>);</div><div> <span style="color: #c586c0;">return</span> <span style="color: #4ec9b0;">NavigationDecision</span>.<span style="color: #4fc1ff;">prevent</span>;</div><div> }</div><br /><div> <span style="color: #c586c0;">if</span> (<span style="color: #9cdcfe;">request</span>.<span style="color: #9cdcfe;">url</span>.<span style="color: #dcdcaa;">contains</span>(<span style="color: #ce9178;">'tel:'</span>)) {</div><div> <span style="color: #dcdcaa;">launch</span>(<span style="color: #9cdcfe;">request</span>.<span style="color: #9cdcfe;">url</span>);</div><div> <span style="color: #c586c0;">return</span> <span style="color: #4ec9b0;">NavigationDecision</span>.<span style="color: #4fc1ff;">prevent</span>;</div><div> }</div><div> <span style="color: #c586c0;">return</span> <span style="color: #4ec9b0;">NavigationDecision</span>.<span style="color: #4fc1ff;">navigate</span>;</div><div> },</div></div></div><div><br /></div><div><br /></div><div><br /></div><div>Hope this helps. </div><div><br /></div><div><br /></div><div><br /></div><div><br /></div></span></div>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-90865720876944672942023-03-06T17:47:00.002+05:302023-03-06T17:47:52.879+05:30How to Change Version Code and Version Name in Flutter<div style="text-align: left;"><div style="text-align: justify;"><span style="font-family: georgia;">We released a flutter application on the Play Store, and now I want to submit a new version of the application. We are attempting to alter the version number using the below command in Visual Studio Code:</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div></div><blockquote style="border: none; margin: 0 0 0 40px; padding: 0px;"><div style="text-align: left;"><span style="font-family: georgia;"><div style="background-color: #d0e0e3; text-align: justify;">flutter build apk --build-name=1.3.0 --build-number=3</div></span></div></blockquote><div style="text-align: left;"><span style="font-family: georgia;"><div style="text-align: justify;"><br /></div><div style="text-align: justify;">or alterring the local.properties like this (through Android Studio or Visual Studio Code)</div></span></div><p> </p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><div style="text-align: left;"><span style="font-family: georgia;"><div style="background-color: #d0e0e3; text-align: justify;"> flutter.versionName=1.3.0</div></span></div><div style="text-align: left;"><span style="font-family: georgia;"><div style="background-color: #d0e0e3; text-align: justify;"> flutter.versionCode=3</div></span></div><div style="text-align: left;"><span style="font-family: georgia;"><div style="background-color: #d0e0e3; text-align: justify;"> flutter.buildMode=release</div></span></div></blockquote><p> </p><div style="text-align: left;"><span style="font-family: georgia;"><div style="text-align: justify;">With these changes when we build the apk bundle and try to release it in Google play store, We get the below error from play store:</div><div style="text-align: justify;"><br /></div><b><div style="text-align: justify;"><b><i>You must use a different version code for your APK or your Android App Bundle because code 1 is already assigned to another APK or Android App Bundle</i></b>. </div></b><div style="text-align: justify;"><br /></div><div style="text-align: justify;">The Solution for this is as below: </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">1. Go to build.gradle and the change the flutterVersionCode and flutterVersionName as below</div><div style="text-align: justify;"><span> </span><span> </span><br /></div><div style="text-align: justify;"><pre style="background-color: #2b2b2b; color: #a9b7c6; font-family: 'JetBrains Mono',monospace; font-size: 9.8pt;"><span style="color: #cc7832;">def </span>flutterVersionCode = localProperties.getProperty(<span style="color: #6a8759;">'flutter.versionCode'</span>)<br /><span style="color: #cc7832;">if </span>(flutterVersionCode == <span style="color: #cc7832;">null</span>) {<br /> flutterVersionCode = <span style="color: #6a8759;">'1.3.0'<br /></span>}<br /><br /><span style="color: #cc7832;">def </span>flutterVersionName = localProperties.getProperty(<span style="color: #6a8759;">'flutter.versionName'</span>)<br /><span style="color: #cc7832;">if </span>(flutterVersionName == <span style="color: #cc7832;">null</span>) {<br /> flutterVersionName = <span style="color: #6a8759;">'3.0'<br /></span>}</pre></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">2. Go to pubspec.yaml file and add the versionCode and versionName as below:</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><pre style="background-color: #2b2b2b; color: #a9b7c6; font-family: 'JetBrains Mono',monospace; font-size: 9.8pt;"><span style="color: #cc7832;">version</span>: 1.4.0+4<br /><br /><span style="color: #cc7832;">environment</span>:<br /> <span style="color: #cc7832;">sdk</span>: <span style="color: #6a8759;">">=2.12.0 <3.0.0"<br /></span></pre></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><div>Update version:A.B.C+X in pubspec.yaml.</div><div><br /></div><div><b>For Android:</b></div><div><br /></div><div>A.B.C represents the versionName such as 1.0.0.</div><div><br /></div><div>X (the number after the +) represents the versionCode such as 1, 2, 3, etc.</div><div><br /></div><div>Do not forget to execute <span style="background-color: #a2c4c9;">flutter build apk</span> or <span style="background-color: #a2c4c9;">flutter run</span> after this step, because: When you run <span style="background-color: #a2c4c9;">flutter build apk</span> or<span style="background-color: #a2c4c9;"> flutter run </span>after updating this version in the pubspec file, the versionName and versionCode in local.properties are updated which are later picked up in the build.gradle (app) when you build your flutter project using flutter build apk or flutter run which is ultimately responsible for setting the versionName and versionCode for the apk.</div></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><div><b>For iOS:</b></div><div><b><br /></b></div><div>A.B.C represents the CFBundleShortVersionString such as 1.0.0.</div><div>X (the number after the +) represents the CFBundleVersion such as 1, 2, 3, etc.</div><div>Do not forget to execute <span style="background-color: #a2c4c9;">flutter build ipa</span> or <span style="background-color: #a2c4c9;">flutter run</span> after this step</div></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Happy Coding </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div></span></div>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-76345418583277176382023-03-04T12:39:00.000+05:302023-03-04T12:39:21.997+05:30Top 10 Coding Languages to Learn to Work in Technology in 2023<div><div style="text-align: justify;"><span style="font-family: georgia;">Programming languages are obviously very important to
software engineers. Programming languages have not only made it simpler for
coders to finish their work, but they have also made it possible for organizations
to accomplish their objectives in the most effective way possible. </span></div><div style="text-align: justify;"><p class="MsoNormal"><span style="font-family: georgia;">You've come
to the correct spot if you're curious about the programming languages that
software developers use the most.</span><o:p></o:p></p></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><span style="font-family: georgia;"><div style="text-align: justify;"><b>Python</b> - Python is an easy-to-learn, high-level programming
language that is widely used in web development, data analysis, machine
learning, artificial intelligence, and scientific computing. Python is a high-level, interpreted programming language
that is widely used for various purposes, including web development, scientific
computing, data analysis, artificial intelligence, machine learning,
automation, and more. Here are some key details about Python: </div><div style="text-align: justify;">
<p class="MsoNormal">Python was first released in 1991 by Guido van Rossum and
has since become one of the most popular programming languages in the world. Python is known for its simple and easy-to-learn syntax,
which makes it an ideal language for beginners. Python supports multiple programming paradigms, including
object-oriented, functional, and procedural programming.</p><p class="MsoNormal">Python has a vast standard library that provides a wide
range of modules and functions for various tasks, from file I/O to web
development. Python is an interpreted language, which means that the code
is executed line by line rather than being compiled into machine code
beforehand. Python is highly extensible and can be easily integrated
with other languages like C and C++. Python has a large and active community of developers who
contribute to its development and create a wide range of third-party libraries
and frameworks.</p><p class="MsoNormal">Overall, Python is a versatile and powerful
programming language that can be used for a wide range of tasks, from simple
scripts to complex applications.</p></div><o:p><div style="text-align: justify;"> </div></o:p><div style="text-align: justify;"><b>JavaScript and TypeScript </b>- JavaScript is the programming language of the
web and is widely used in front-end web development, creating dynamic user
interfaces, and building web applications. TypeScript is a superset of JavaScript that adds static typing to the language. It is popular for building large-scale applications. </div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><span style="line-height: 107%;">JavaScript
and TypeScript are both programming languages that are widely used for web
development. Here are some key details about each language.</span></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">JavaScript: </div><div style="text-align: justify;"> </div><div style="text-align: justify;"><span style="line-height: 107%;">
<div><ul><li>JavaScript is a high-level, dynamic programming language
that is used primarily for front-end web development. It is supported by all
modern web browsers and is used to create dynamic and interactive user
interfaces. </li><li>JavaScript is often combined with HTML and CSS to create
dynamic web pages and web applications. </li><li>JavaScript is an interpreted language, which means that the
code is executed in the web browser rather than being compiled into machine
code beforehand.</li><li>JavaScript has a vast ecosystem of third-party libraries and
frameworks, including React, Vue, and Angular, which make it easier to develop
complex web applications.</li></ul></div>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p>TypeScript:</p><ul><li>TypeScript is a superset of JavaScript that adds static
typing and other features to the language. It is often used for larger-scale
web applications that require more structure and maintainability. </li><li>TypeScript is designed to be easy to read and understand,
with a syntax that is similar to JavaScript.</li><li>TypeScript is compiled into JavaScript before it is
executed, which means that it can be used in any browser that supports JavaScript.</li><li>TypeScript has a strong type system that helps catch errors
before runtime, making it easier to maintain and debug code.</li><li>TypeScript is often used with popular front-end frameworks
like Angular and React, but it can also be used on the back-end with Node.js.</li></ul><p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<div>Overall, both JavaScript and TypeScript are important
languages for web development, with JavaScript being more widely used for
front-end development and TypeScript being used for larger-scale applications
that require more structure and maintainability.</div><p class="MsoNormal"><o:p></o:p></p></span></div></span><span style="font-family: georgia;"><o:p><div style="text-align: justify;"> </div></o:p><div style="text-align: justify;"><b>Java</b> - Java is a versatile programming language that is used
to develop applications for desktops, mobile devices, and the web.</div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">Java is a popular programming language that is widely used
for developing a variety of applications, from desktop and mobile applications
to web-based applications and enterprise-level systems. Here are some key
details about Java:</div><div style="text-align: justify;"><p class="MsoNormal"><o:p></o:p></p>
<div><ul><li>Java was first released in 1995 by Sun Microsystems and has
since become one of the most popular programming languages in the world.</li><li>Java is a high-level, object-oriented programming language
that is designed to be platform-independent, which means that it can run on any
platform that has a Java Virtual Machine (JVM). </li><li>Java is strongly typed, which means that it requires
variable declarations and is less prone to type errors.</li><li>Java has a large standard library that provides a wide range
of functions and utilities for various tasks, from file I/O to network
programming.</li><li>Java is often used in enterprise-level systems and web
development, with popular frameworks like Spring and Struts.</li><li>Java is known for its security features, which make it a
popular choice for developing applications that require a high level of
security, such as banking and financial systems.</li><li>Java is also widely used for Android app development, with
Android Studio being the primary development environment for Android
applications.</li></ul></div>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<div>Overall, Java is a versatile and powerful programming
language that can be used for a wide range of applications, from desktop and
mobile applications to web-based and enterprise-level systems. Its platform
independence, strong typing, and large standard library make it a popular
choice for developers of all levels.</div><p class="MsoNormal"><o:p></o:p></p></div><o:p><div style="text-align: justify;"> </div></o:p><div style="text-align: justify;"><b>Kotlin </b>- Kotlin is a modern, concise programming language
that is designed to be more readable and efficient than Java. It is widely used
in Android app development. Kotlin is a modern programming language that is designed to
be a more concise, expressive, and safe alternative to Java. It is an
open-source language developed by JetBrains, the company behind popular IDEs
like IntelliJ IDEA and Android Studio. Here are some key details about Kotlin:</div><div style="text-align: justify;"><p class="MsoNormal"><o:p></o:p></p>
<div><ul><li>Kotlin is a statically typed language that is fully
interoperable with Java, which means that it can be used alongside Java in
existing projects.</li><li>Kotlin is designed to be more concise than Java, with a
syntax that is more expressive and readable. It also eliminates a lot of the
boilerplate code that is required in Java.</li><li>Kotlin is an object-oriented language that supports
functional programming constructs like lambdas, higher-order functions, and
coroutines.</li><li>Kotlin is designed to be safe, with features like null
safety and type inference that help prevent common errors and improve code
quality.</li><li>Kotlin is often used for developing Android applications,
with Google officially supporting Kotlin as a first-class language for Android
development.</li><li>Kotlin also has a growing ecosystem of libraries and
frameworks, including popular frameworks like Spring Boot and Ktor.</li></ul></div><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<div><o:p> </o:p>Overall, Kotlin is a modern and powerful language that
offers many advantages over Java, including increased productivity, better
readability, and improved safety. Its interoperability with Java also makes it
an attractive choice for developers who want to migrate to a more modern
language without having to rewrite their entire codebase.</div><p class="MsoNormal"><o:p></o:p></p></div><div style="text-align: justify;"><br /></div><o:p><div style="text-align: justify;"> </div></o:p><div style="text-align: justify;"><b>Swift </b>- Swift is the primary programming language used to
develop applications for iOS and macOS devices. It is a fast and powerful
language that is easy to learn. Swift is a modern programming language developed by Apple
for developing applications for iOS, macOS, watchOS, and tvOS. Here are some
key details about Swift: </div><div style="text-align: justify;">
<div><ul><li>Swift was first introduced by Apple in 2014 and has since
become the primary language for iOS app development.</li><li>Swift is designed to be a fast and safe language, with a
syntax that is easy to read and write.</li><li>Swift is a strongly typed language that supports both
object-oriented and functional programming paradigms.</li><li>Swift offers a number of features that make it easier to
write safe and reliable code, including optionals, type inference, and
automatic memory management.</li><li>Swift is open-source, which means that it is free to use and
can be used on platforms other than Apple's.</li><li>Swift has a growing ecosystem of third-party libraries and
frameworks, including popular frameworks like SwiftUI and Combine.</li></ul></div><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<div>Overall, Swift is a powerful and modern language that offers
many advantages over Objective-C, the previous primary language for iOS app
development. Its focus on safety and reliability, combined with its ease of use
and growing ecosystem, make it an attractive choice for developers who want to
build high-quality iOS, macOS, watchOS, and tvOS applications.</div><p class="MsoNormal"><o:p></o:p></p></div><o:p><div style="text-align: justify;"> </div></o:p><div style="text-align: justify;"><b>Rust </b>- Rust is a systems programming language that is
designed to be fast, secure, and reliable. It is used to build applications
that require high performance and low-level control. It was created by Mozilla and released in 2010,
and has since gained popularity among developers for its unique features and
capabilities. Here are some key details about Rust:</div><div style="text-align: justify;"><p class="MsoNormal"><o:p></o:p></p>
<div><ul><li>Rust is a statically typed language that is designed for
systems programming, which means that it is intended for low-level programming
tasks like writing operating systems, device drivers, and high-performance
applications. </li><li>Rust offers a number of features that make it easier to
write safe and reliable code, including memory safety guarantees, zero-cost
abstractions, and pattern matching.</li><li>Rust has a syntax that is similar to C++, but with a number
of modern features that make it easier to write and maintain code.</li><li>Rust is designed to be a fast language, with performance
comparable to C and C++.</li><li>Rust has a growing ecosystem of third-party libraries and
frameworks, including popular frameworks like Rocket and Actix.</li><li>Rust has a strong focus on community and open-source
development, with a large and active community of developers contributing to
the language and its ecosystem.</li></ul></div>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<div>Overall, Rust is a powerful and unique language that offers
many advantages over traditional systems programming languages like C and C++.
Its focus on safety and reliability, combined with its modern features and
growing ecosystem, make it an attractive choice for developers who want to
build high-performance systems-level applications.</div><p class="MsoNormal"><o:p></o:p></p></div><o:p><div style="text-align: justify;"> </div></o:p><div style="text-align: justify;"><b>Go </b>- Go is a programming language developed by Google that
is used to build scalable, high-performance applications. It is popular for
building web servers and networking applications. Go, also known as Golang, is a modern programming language
developed by Google in 2007. It was designed to be a simple, efficient, and
scalable language that is easy to learn and use. Here are some key details
about Go: </div><div style="text-align: justify;"><div><ul><li>Go is a statically typed language that is designed for
concurrency and multi-core processing, which means that it is optimized for running
on modern hardware.</li><li>Go offers a number of features that make it easy to write
simple, efficient, and maintainable code, including garbage collection,
automatic memory management, and a syntax that is similar to C. </li><li>Go has a large standard library that provides a wide range
of functions and utilities for various tasks, from network programming to web
development.</li><li>Go is often used for developing server-side applications,
with popular frameworks like Gin and Echo. </li><li>Go has a growing ecosystem of third-party libraries and
tools, including popular tools like Docker and Kubernetes.</li><li><o:p> </o:p>Go is open-source, which means that it is free to use and
can be used on platforms other than Google's.</li></ul></div><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<div>Overall, Go is a powerful and efficient language that offers
many advantages over traditional programming languages like C and Java. Its
focus on simplicity, efficiency, and concurrency, combined with its growing
ecosystem, make it an attractive choice for developers who want to build high-performance
server-side applications.</div><p class="MsoNormal"><o:p></o:p></p></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><b>C++</b> - C++ is a high-level programming language that is widely used
for developing applications in a variety of domains, including system
programming, game development, and scientific computing. It is an extension of
the C programming language, with added features that make it more powerful and
flexible. Here are some key details about C++:</div><div style="text-align: justify;"><p class="MsoNormal"><o:p></o:p></p>
<div><ul><li>C++ is a statically typed language, which means that types
are checked at compile-time, resulting in faster code execution.</li><li>C++ is an object-oriented language, which means that it
supports features like classes, inheritance, and polymorphism.</li><li>C++ provides low-level programming constructs like pointers
and memory management, which makes it useful for system programming.</li><li>C++ is often used for developing games, as it provides
powerful graphics and audio APIs.</li><li>C++ is also used in scientific computing, as it provides
access to high-performance libraries like the Boost C++ Libraries and the
Armadillo library.</li><li>C++ has a large and active community, with many third-party
libraries and frameworks available for various tasks.</li></ul></div><p class="MsoNormal"><o:p></o:p></p>
<div>Overall, C++ is a powerful and flexible language that is
suitable for a wide range of applications. Its low-level programming
constructs, object-oriented features, and support for high-performance
computing make it an attractive choice for developers who want to build robust
and high-performance applications. However, its syntax can be complex and
difficult to learn for beginners, and it requires careful attention to memory
management to avoid bugs and crashes.</div><p class="MsoNormal"><o:p></o:p></p></div><div style="text-align: justify;"> </div><div style="text-align: justify;"><b>Ruby </b>- Ruby is a dynamic, object-oriented programming
language that is popular for building web applications, especially with the
Ruby on Rails framework. This was created by Yukihiro "Matz" Matsumoto in 1995. It is known for its
simplicity, flexibility, and ease of use. Here are some key details about Ruby: </div><div style="text-align: justify;"><p class="MsoNormal"><o:p></o:p></p>
<div><ul><li>Ruby is a dynamically typed language, which means that it
does not require explicit type declarations for variables.</li><li>Ruby is designed to be easy to read and write, with a syntax
that is similar to natural language.</li><li>Ruby is an object-oriented language, which means that
everything in Ruby is an object.</li><li>Ruby has a large and vibrant community, with many
third-party libraries and frameworks available for various tasks, including
popular frameworks like Ruby on Rails.</li><li>Ruby is often used for developing web applications, but it
can also be used for other tasks like automation, scripting, and data analysis.</li><li>Ruby has a strong focus on developer happiness, with a
philosophy that emphasizes the importance of making programming enjoyable and
fun.</li></ul></div><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<div>Overall, Ruby is a popular and powerful language that offers
many advantages over other programming languages. Its simplicity, flexibility,
and ease of use make it an attractive choice for developers who want to build
high-quality web applications or other software.</div><p class="MsoNormal"><o:p></o:p></p></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><b>Laravel</b>- Laravel is a popular PHP Web application framework that is widely used in web development. It provides elegant syntax and a set of tools and features that make it easy to build scalable and maintainable web applications. </div><div style="text-align: justify;">Laravel is a free and open-source PHP web application
framework that was created by Taylor Otwell in 2011. It is designed to simplify
the development of web applications by providing an elegant syntax, a range of
tools, and a wide variety of features. Here are some key details about Laravel:</div><div style="text-align: justify;"><p class="MsoNormal"><o:p></o:p></p>
<div><ul><li>Laravel is built on top of the PHP language, which is widely
used for web development.</li><li>Laravel follows the Model-View-Controller (MVC)
architectural pattern, which separates the application's concerns into three
distinct components.</li><li>Laravel provides a range of features, including built-in
authentication, database migrations, task scheduling, and unit testing.</li><li>Laravel has a simple and elegant syntax that is easy to read
and write, which makes it a popular choice for developers who want to build web
applications quickly.</li><li>Laravel has a large and active community, with many
third-party packages and libraries available for various tasks.</li><li>Laravel is often used for developing web applications,
including e-commerce platforms, content management systems, and social
networking sites.</li></ul></div><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<div>Overall, Laravel is a powerful and flexible web application
framework that is suitable for a wide range of applications. Its elegant
syntax, rich feature set, and active community make it an attractive choice for
developers who want to build high-quality web applications quickly and
efficiently.</div><p class="MsoNormal"><o:p></o:p></p></div><div style="text-align: justify;"><br /></div></span><span style="font-family: georgia;"><div style="text-align: justify;"><b><u>Disclaimer:</u></b> The information provided in this article is solely the author's opinion and not an investment advice – it is provided for educational purposes only. By using this, you agree that the information does not constitute any investment or financial instructions by the author.</div></span></div><p></p><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p><p></p>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-61481808839732498732023-02-28T12:48:00.003+05:302023-02-28T12:48:49.122+05:30How to create a keystore for signed apk in android and flutter<p style="text-align: justify;"><span style="font-family: georgia;">You must add a digital signature to your software in order to share it on the Play Market. Follow these steps to submit your application.</span></p><p style="text-align: justify;"><span style="font-family: georgia;">Deployment and upload are the two types of authentication credentials available on Android. The.apk file authenticated with the "deployment key" is downloaded by the end consumers. The.aab/.apk files that developers submit to the Play Store are authenticated using a "upload key" and are then re-signed using the distribution key after being accepted. </span></p><p style="text-align: justify;"><span style="font-family: georgia;">Using the command line, execute the following:</span></p><p style="text-align: justify;"><span style="font-family: georgia;">Use the following command on Mac or Linux:.</span></p><p style="text-align: justify;"><span style="font-family: georgia;"> keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload</span></p><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><p></p><div class="separator" style="clear: both; text-align: justify;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgeD9vpCxBZm2rZ79WJMhVxrf7seaWqVZcssWSOmPYmipmhKkWL12OcsiOlEb0wrB4aijvFDJwB4BuukWAgfdTEB_6YMj3tIVuAZqWxUC-XVoaHynjeXZRFArxIYC5fcI_-JesJa3BpfrqG-171DWfA60oTlQLzCc5iUvjnMT_4gFngu2Vfa8YkVDDO-Q" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: georgia;"><img alt="" data-original-height="437" data-original-width="1026" height="170" src="https://blogger.googleusercontent.com/img/a/AVvXsEgeD9vpCxBZm2rZ79WJMhVxrf7seaWqVZcssWSOmPYmipmhKkWL12OcsiOlEb0wrB4aijvFDJwB4BuukWAgfdTEB_6YMj3tIVuAZqWxUC-XVoaHynjeXZRFArxIYC5fcI_-JesJa3BpfrqG-171DWfA60oTlQLzCc5iUvjnMT_4gFngu2Vfa8YkVDDO-Q=w400-h170" width="400" /></span></a></div><div class="separator" style="clear: both; text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div class="separator" style="clear: both; text-align: justify;"><span style="font-family: georgia;"><br /></span></div><span style="font-family: georgia;"><div style="text-align: justify;">Use the following instruction on Windows:</div></span><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div><div style="text-align: justify;"><span style="font-family: georgia;"> keytool -genkey -v -keystore %userprofile%\upload-keystore.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias upload</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div class="separator" style="clear: both; text-align: justify;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhIBJ0yI7Xy0BmG6W318qIpbm1QjR8d2iWFqXAU9yqbPKwZI-aX8rxy949oa7AcnwS8bi6Yxv_V8vY7Mepke1HLebWWNsGHygiTtvhymZq8AY_jgt1UsPWaHt-yHf7DSaeiUfhU85jxskOJ27QyviDBpjtjwfRnhYaNrFxyhu8DZ8Byoq-HggqQ0_Z1MQ" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: georgia;"><img alt="" data-original-height="437" data-original-width="1026" height="170" src="https://blogger.googleusercontent.com/img/a/AVvXsEhIBJ0yI7Xy0BmG6W318qIpbm1QjR8d2iWFqXAU9yqbPKwZI-aX8rxy949oa7AcnwS8bi6Yxv_V8vY7Mepke1HLebWWNsGHygiTtvhymZq8AY_jgt1UsPWaHt-yHf7DSaeiUfhU85jxskOJ27QyviDBpjtjwfRnhYaNrFxyhu8DZ8Byoq-HggqQ0_Z1MQ=w400-h170" width="400" /></span></a></div><div class="separator" style="clear: both; text-align: justify;"><span style="font-family: georgia;"><br /></span></div><span style="font-family: georgia;"><div style="text-align: justify;">The upload-keystore.jks file is kept in your personal directory by this programme. Change the argument you give to the -keystore option if you want to store it somewhere else. But don't put the keystore file into public source control; keep it secret!</div></span><div style="text-align: justify;"><br /></div><p></p></div>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-1621876400946151652023-02-25T20:31:00.005+05:302023-02-25T20:33:34.513+05:30How to change package name in flutter<div style="text-align: justify;"><span style="font-family: georgia;">In some cases, for the android application it may be required to change the package name of the application. It's very easy to do it in Android studio. But when we are using flutter to develop the hybrid application, it is required to use some packages to do this job for us.</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;">To achieve this we have to download a package : change_package_name. It does all the below changes:</span></div><div style="text-align: left;"><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><ul style="background-color: white; box-sizing: border-box; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li style="box-sizing: border-box; text-align: justify;"><span style="font-family: georgia;">Update AndroidManifest.xml files for release, debug & profile</span></li></ul><ul style="background-color: white; box-sizing: border-box; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li style="box-sizing: border-box; margin-top: 0.25em; text-align: justify;"><span style="font-family: georgia;">Update build.gradle file</span></li></ul><ul style="background-color: white; box-sizing: border-box; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li style="box-sizing: border-box; margin-top: 0.25em; text-align: justify;"><span style="font-family: georgia;">Update MainActivity file. Both java & kotlin supported.</span></li></ul><ul style="background-color: white; box-sizing: border-box; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li style="box-sizing: border-box; margin-top: 0.25em; text-align: justify;"><span style="font-family: georgia;">Move MainActivity file to new package directory structure.</span></li></ul><ul style="background-color: white; box-sizing: border-box; margin-bottom: 16px; margin-top: 0px; padding-left: 2em;"><li style="box-sizing: border-box; margin-top: 0.25em; text-align: justify;"><span style="font-family: georgia;">Delete old package name directory structure.</span></li></ul><div style="text-align: justify;"><span style="font-family: georgia;">We can use this package as below:</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;">First we need to add this package name to pubspec.yaml file as the dev_dependency</span></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><div class="-pub-pre-copy-container" style="background-color: white; box-sizing: border-box; color: #4a4a4a; position: relative; text-align: start;"><pre style="background: rgb(246, 248, 250); border-radius: 3px; box-sizing: border-box; line-height: 1.2; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 30px;"><code class="language-yaml hljs" style="background: transparent; border-radius: 0px; border: 0px; box-sizing: border-box; color: #333333; display: inline-block; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;"><span style="font-family: georgia;"><span class="hljs-attr" style="box-sizing: border-box;">dev_dependencies:</span>
<span class="hljs-attr" style="box-sizing: border-box;">change_app_package_name:</span> <span class="hljs-string" style="box-sizing: border-box; color: #dd1144;">^1.1.0</span>
</span></code></pre><div class="-pub-pre-copy-button" style="background-attachment: initial; background-clip: initial; background-color: initial; background-origin: initial; background-position: 50% 50%; background-repeat: no-repeat; background-size: 16px 16px; background: url("../img/content-copy-icon.svg") center center / 16px 16px no-repeat; box-sizing: border-box; cursor: pointer; height: 20px; opacity: 0.15; position: absolute; right: 4px; top: 4px; transition: opacity 0.5s ease 0s; width: 20px;" title="copy to clipboard"></div></div><p style="background-color: white; box-sizing: border-box; color: #4a4a4a; margin-bottom: 12px; margin-top: 8px; text-align: start;"><span style="font-family: georgia;">Not migrated to null safety yet? use old version like this</span></p><div class="-pub-pre-copy-container" style="background-color: white; box-sizing: border-box; color: #4a4a4a; position: relative; text-align: start;"><pre style="background: rgb(246, 248, 250); border-radius: 3px; box-sizing: border-box; line-height: 1.2; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 30px;"><code class="language-yaml hljs" style="background: transparent; border-radius: 0px; border: 0px; box-sizing: border-box; color: #333333; display: inline-block; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;"><span style="font-family: georgia;"><span class="hljs-attr" style="box-sizing: border-box;">dev_dependencies:</span>
<span class="hljs-attr" style="box-sizing: border-box;">change_app_package_name:</span> <span class="hljs-string" style="box-sizing: border-box; color: #dd1144;">^0.1.3</span></span></code></pre></div></div><div style="text-align: justify;"><span style="font-family: georgia;">You can see this how i have added it to my pubspec.yaml file</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjb-xu2BmI1ShsqFsufNmn3dHsoo1NCp6WtkNTj_Kbfj58_2XEs11h0GaSL9XhszJ-knlOSQAs_XxNjvO3Wv8YbTWM4g0hg8KZZRTs4QiimfqhhC0KPNJQJKenHZ8zQ7w8cWSMVNTReou02PDFd4jg4cAfQ6dhR98tb8nMZ2n3Ccgtt9218pK2J62aIag" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="488" data-original-width="712" height="274" src="https://blogger.googleusercontent.com/img/a/AVvXsEjb-xu2BmI1ShsqFsufNmn3dHsoo1NCp6WtkNTj_Kbfj58_2XEs11h0GaSL9XhszJ-knlOSQAs_XxNjvO3Wv8YbTWM4g0hg8KZZRTs4QiimfqhhC0KPNJQJKenHZ8zQ7w8cWSMVNTReou02PDFd4jg4cAfQ6dhR98tb8nMZ2n3Ccgtt9218pK2J62aIag=w400-h274" width="400" /></a></div><br />Save this file and Run the below command :</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><pre style="background: rgb(246, 248, 250); border-radius: 3px; box-sizing: border-box; color: #4a4a4a; line-height: 1.2; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 30px; text-align: start;"><code class="hljs language-kotlin" style="background: transparent; border-radius: 0px; border: 0px; box-sizing: border-box; color: #333333; display: inline-block; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;"><span style="font-family: georgia;">flutter pub <span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">get</span></span></code></pre></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgF564UCrOiHHtC8pCy_AwklPxiJv19cmmtGLwblKvTgJ6o1r1_BbS631W9Y55CK6wEOqYdQBl1ILSzwJ399eu08k_1PBr-NE8TuoXduBXff4AtRTG_JnzGs4JJNy0PwpcjdlsXLDEcNSA4fsZY6ZcY7-N0sTesp3qf_MZFz1f4fwRv_jiNWe5uRVadlQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="98" data-original-width="903" height="44" src="https://blogger.googleusercontent.com/img/a/AVvXsEgF564UCrOiHHtC8pCy_AwklPxiJv19cmmtGLwblKvTgJ6o1r1_BbS631W9Y55CK6wEOqYdQBl1ILSzwJ399eu08k_1PBr-NE8TuoXduBXff4AtRTG_JnzGs4JJNy0PwpcjdlsXLDEcNSA4fsZY6ZcY7-N0sTesp3qf_MZFz1f4fwRv_jiNWe5uRVadlQ=w400-h44" width="400" /></a></div><br />And it gets all the dependencies. and now using this package we need to change the application's package name. Now run the below command to change the package name</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><pre style="background: rgb(246, 248, 250); border-radius: 3px; box-sizing: border-box; color: #4a4a4a; line-height: 1.2; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 30px; text-align: start;"><code class="hljs language-kotlin" style="background: transparent; border-radius: 0px; border: 0px; box-sizing: border-box; color: #333333; display: inline-block; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; word-break: normal;"><span style="font-family: georgia;">flutter pub run change_app_package_name:main com.new.<span class="hljs-keyword" style="box-sizing: border-box; font-weight: bold;">package</span>.name</span></code></pre></div><div style="text-align: justify;"><span style="font-family: georgia;">com.new.package.name is the new package name to be changed. </span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;">This will automatically updates all the required package name and it's references moves all the required files to the new package And deletes the new package name directory structure.</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;">That's all. Happy coding..</span><span style="font-family: georgia;"> </span></div></div>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com1tag:blogger.com,1999:blog-7398475160925291656.post-43654696095639551472023-01-24T17:55:00.000+05:302023-01-24T17:55:13.133+05:30How to Create Menu Tabs in Blogger<div style="text-align: justify;"><span style="font-family: georgia;"> We can create the pages and menu items in the blogger. We can link the pages to the menu items also. Without the pages also we can create the menu items and show the blogs of the defined labels. In this article we can see how we can do it.</span></div><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjMUwg0rtg8mHaQvOYRotbPGwmqFiy4DMv8DlqmR3zYwJh0h2KBQlMCTAFzIs7TY_IpiFv0j3nS7uqh31LvysujgEac9r0JsOEhQrvsWw-ss_pYPrt-WYvXqtQPXQo62K7X6fE8kGMowHGqGui7cndVCupBpJsWmaSP9FpjaS662u2oQC2G2DSRxmxD0w" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="318" data-original-width="847" height="150" src="https://blogger.googleusercontent.com/img/a/AVvXsEjMUwg0rtg8mHaQvOYRotbPGwmqFiy4DMv8DlqmR3zYwJh0h2KBQlMCTAFzIs7TY_IpiFv0j3nS7uqh31LvysujgEac9r0JsOEhQrvsWw-ss_pYPrt-WYvXqtQPXQo62K7X6fE8kGMowHGqGui7cndVCupBpJsWmaSP9FpjaS662u2oQC2G2DSRxmxD0w=w400-h150" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><span style="font-family: georgia;"><br />Blogger blogs does not come with the menu tabs as a standard template feature, but you may use the Blogger Pages gadget or the Link List gadget as a workaround to add menu tabs to your blog's home page</span><p></p><p style="text-align: justify;"><span style="font-family: georgia;">Use the Pages gadget to add menu tabs pointing to your blog's static pages, such as the Terms and Conditions, About, and Privacy Policy pages. Add menu tabs that link to other websites, blogs, or your own blog articles by using the Link List gadget.</span></p><p style="text-align: justify;"><span style="font-family: georgia;">1. Login to blogger account, and Select the Layout menu item:</span></p><p><span style="font-family: georgia;"><br /></span></p><p><span style="font-family: georgia;"></span></p><div class="separator" style="clear: both; text-align: center;"><span style="font-family: georgia;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh_9nMW0-aU1Ec4itQXHMcf4v6jEDqhMZ7oqYdE1UwZQREJM61E6PF1ta7sq4zUSPzDCMcFGl86nlhL5D9t0EBJPuXk5cDX3r2jyiSm20UBuRPzStqc-U0ZTMUj_qQLwtnzWEcijs2xCevgDuN1-1NsFWQv2dCGtvxKm1Y3fyvIP3sUndjKuR8boFTpHw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="513" data-original-width="1336" height="154" src="https://blogger.googleusercontent.com/img/a/AVvXsEh_9nMW0-aU1Ec4itQXHMcf4v6jEDqhMZ7oqYdE1UwZQREJM61E6PF1ta7sq4zUSPzDCMcFGl86nlhL5D9t0EBJPuXk5cDX3r2jyiSm20UBuRPzStqc-U0ZTMUj_qQLwtnzWEcijs2xCevgDuN1-1NsFWQv2dCGtvxKm1Y3fyvIP3sUndjKuR8boFTpHw=w400-h154" width="400" /></a></span></div><div class="separator" style="clear: both; text-align: center;"><br /></div><span style="font-family: georgia;"><br />2. Click on Add Gadget option</span><p></p><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEil14O7IFw-JfFvdC8bp-QZe2O8shmU2WYzWIThDwhLmSYoNx8GfzyXH7JVtKsu7DZg00sliJ3ThohjJanRXX9P3_J3kuOTiDOHhd3iVshrhH_K4mmrhCbuKAc5_9Om7YyJAM3bR8HDzvqQMop3fK_paJWd79mjwypZ8uKNW4ArCZ9LGx0wQJYSE-7NuQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="609" data-original-width="393" height="400" src="https://blogger.googleusercontent.com/img/a/AVvXsEil14O7IFw-JfFvdC8bp-QZe2O8shmU2WYzWIThDwhLmSYoNx8GfzyXH7JVtKsu7DZg00sliJ3ThohjJanRXX9P3_J3kuOTiDOHhd3iVshrhH_K4mmrhCbuKAc5_9Om7YyJAM3bR8HDzvqQMop3fK_paJWd79mjwypZ8uKNW4ArCZ9LGx0wQJYSE-7NuQ=w258-h400" width="258" /></a></div><br />3. Select Pages gadget from the list</span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjj7uxN5MYU4klD9Lx5EeLt93VgEE607azhjfI2ZAH1Am8WVyVDWMvVHt7dZO_JWlsxxV4GNnZwZZubIsFz6AchCXUTqSjwN_LU7zKDQRtdge2svrA9Udwcqs3xJruMDqbN65mmqXA7JbsaJXkhHkoDphOdsgzrYU7-vkY-WMeUOtLDEEPirGUHbM-ing" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="603" data-original-width="449" height="400" src="https://blogger.googleusercontent.com/img/a/AVvXsEjj7uxN5MYU4klD9Lx5EeLt93VgEE607azhjfI2ZAH1Am8WVyVDWMvVHt7dZO_JWlsxxV4GNnZwZZubIsFz6AchCXUTqSjwN_LU7zKDQRtdge2svrA9Udwcqs3xJruMDqbN65mmqXA7JbsaJXkhHkoDphOdsgzrYU7-vkY-WMeUOtLDEEPirGUHbM-ing=w298-h400" width="298" /></a></div><br />4. You will see the below dialog</span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEigFMWtfkuoLQyJ5DBdfiHzc596VMWcDdZcVg24OC2osgwNxbVP44MIcOWSwTJ2sXuupcJvnKh9eD3XE-eeEtRzDuCiYWwT65EBqd2Q7d3TdjKKR7U2oJVqQJD9iOwQPCZp69apLXooe3EapfGTjmmcIzxyYr-Qj8AAQ_gEytCUcRGepHY89Ve3-Flphg" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="478" data-original-width="443" height="400" src="https://blogger.googleusercontent.com/img/a/AVvXsEigFMWtfkuoLQyJ5DBdfiHzc596VMWcDdZcVg24OC2osgwNxbVP44MIcOWSwTJ2sXuupcJvnKh9eD3XE-eeEtRzDuCiYWwT65EBqd2Q7d3TdjKKR7U2oJVqQJD9iOwQPCZp69apLXooe3EapfGTjmmcIzxyYr-Qj8AAQ_gEytCUcRGepHY89Ve3-Flphg=w370-h400" width="370" /></a></div><br />5. You can enter the page name and select the page to be displayed.</span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi27ZKHZKuJPSCNoPDFAitsMy60qqotydRBcn2AICX5Ce_uHtg60MBgpUgYZ7M63POBCq9LQmh_WB2xFQNvyFne1GNssez0j5WtI4ty2zjTIILTfmE77vJm9PYo_Ghna0ArAD0H5LyVBLqm6mE1s4-xqz0P9wjXTNoPtMKTQoDuqMI1P69KZmR3xzLSgA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="577" data-original-width="521" height="400" src="https://blogger.googleusercontent.com/img/a/AVvXsEi27ZKHZKuJPSCNoPDFAitsMy60qqotydRBcn2AICX5Ce_uHtg60MBgpUgYZ7M63POBCq9LQmh_WB2xFQNvyFne1GNssez0j5WtI4ty2zjTIILTfmE77vJm9PYo_Ghna0ArAD0H5LyVBLqm6mE1s4-xqz0P9wjXTNoPtMKTQoDuqMI1P69KZmR3xzLSgA=w362-h400" width="362" /></a></div><br />6. Also if you want to display the items of a particular label, you can do that by adding search label option. Below image shows all the labels labelled as Android in the page Android:</span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhY7PU6BWkRBjMFwbaJtfmBG7VE5A3Yi5XZyK2i-ldZ-FmJ-bWL5c07aTWBabYCr4xOoRNzBU2PsqITCTpZaNil8Ib2jksTG4-apC7Eu6fsMjTHovrcqZL8Ge7rFoIjzlgfL_opFdkPTROtyvfRz6GAhuNswJOXOSB2cLlKXAMJdVvTl1DuezPc7WRmlw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="569" data-original-width="518" height="400" src="https://blogger.googleusercontent.com/img/a/AVvXsEhY7PU6BWkRBjMFwbaJtfmBG7VE5A3Yi5XZyK2i-ldZ-FmJ-bWL5c07aTWBabYCr4xOoRNzBU2PsqITCTpZaNil8Ib2jksTG4-apC7Eu6fsMjTHovrcqZL8Ge7rFoIjzlgfL_opFdkPTROtyvfRz6GAhuNswJOXOSB2cLlKXAMJdVvTl1DuezPc7WRmlw=w363-h400" width="363" /></a></div><br /> That's it, you can save the above dialog And you should save the layout also:</span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjg-pJf3uPV4i5WKjs9UYSbGLKme3sRDjTqZHs0pYDqPUJwifx489ERE6LTc_vCLX47H7sG_iwNdGXW1C8zOSFZm4Ga7tHmjmWviYG5GkvxQWEooflWzhgO0sOGUE0Bxou_YnNxTrAVZN6WH-_3536RSs_aKoYTED6R6-HmLRimxByS3P3MNFVCDrH4vA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="715" data-original-width="1337" height="214" src="https://blogger.googleusercontent.com/img/a/AVvXsEjg-pJf3uPV4i5WKjs9UYSbGLKme3sRDjTqZHs0pYDqPUJwifx489ERE6LTc_vCLX47H7sG_iwNdGXW1C8zOSFZm4Ga7tHmjmWviYG5GkvxQWEooflWzhgO0sOGUE0Bxou_YnNxTrAVZN6WH-_3536RSs_aKoYTED6R6-HmLRimxByS3P3MNFVCDrH4vA=w400-h214" width="400" /></a></div><br />Now you can check your blog, it should display the menu bar as below:</span></div><div><span style="font-family: georgia;"><br /></span></div><div><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjwHmH9B32cg2uObUBbd6NTpxloBWWnFeUr1_sU7gon3C9deG2kljREUjt1Brqt8dVwso9Jb6IIOdKHMvN_fnQCehGCbfxrNrWVL84Sqysiu2tQvXxOx0kMXqphedhN-U6Fd4w9duDj9P0u1WREt1EaiIiRUqnNxfe63v58nvXfiEhdlkG4ZZ281wkE-A" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="181" data-original-width="932" height="78" src="https://blogger.googleusercontent.com/img/a/AVvXsEjwHmH9B32cg2uObUBbd6NTpxloBWWnFeUr1_sU7gon3C9deG2kljREUjt1Brqt8dVwso9Jb6IIOdKHMvN_fnQCehGCbfxrNrWVL84Sqysiu2tQvXxOx0kMXqphedhN-U6Fd4w9duDj9P0u1WREt1EaiIiRUqnNxfe63v58nvXfiEhdlkG4ZZ281wkE-A=w400-h78" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br />Happy blogging :)</span></div>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-42303402259031120372023-01-23T11:50:00.005+05:302023-02-12T12:34:38.716+05:30Adding Apps And Websites To Microsoft Teams<div style="text-align: justify;"><span style="font-family: georgia;">We can use this Microsoft Office and its tools for its various applications, including communications, collaboration and file storages. However, many users in the organizations fail to take advantage of one of the platform's most important features - the ability to customize their environment with the apps and websites of the organization.<span style="background-color: white; color: #42474c;"> </span></span></div><div style="text-align: left;"><div style="text-align: justify;"><span style="color: #42474c; font-family: georgia;"><br /></span></div><span style="font-family: georgia;"><div style="text-align: justify;">When you have a app or web application you want to share or use by your team. Then you can add this to your Microsoft office 365. Login to office by going to <a href="https://www.office.com/" target="_blank"> https://www.office.com</a>/ </div></span><span style="font-family: georgia;"><div style="text-align: justify;">You will see the below screen:</div></span></div><div style="text-align: left;"><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi2TJBuOKe-4QLrIU6uNMmtwI0cOTjVKglQlVeT8trBxN5Cnu3s37tS37TuaRt9ODVgrqJ1QnZwtnjirKGkjnFpN4h4bVyRiWX5E_mfyHLc2X1WQOtZ0kr9PPI8olHQckSkYBCzhVQ9kjXkw4EAN1kN5Y1Vy7j-nNuX5E0L0Abzx_7QapIYEOfCqV_CuA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="571" data-original-width="1357" height="169" src="https://blogger.googleusercontent.com/img/a/AVvXsEi2TJBuOKe-4QLrIU6uNMmtwI0cOTjVKglQlVeT8trBxN5Cnu3s37tS37TuaRt9ODVgrqJ1QnZwtnjirKGkjnFpN4h4bVyRiWX5E_mfyHLc2X1WQOtZ0kr9PPI8olHQckSkYBCzhVQ9kjXkw4EAN1kN5Y1Vy7j-nNuX5E0L0Abzx_7QapIYEOfCqV_CuA=w400-h169" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br />Click on the teams from the left menu icon:</span></div><div style="text-align: left;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhMh4SKFMKEdubAP4m3sllZATgMawFte9kpNBNPznttWhSEsBZwqWhn_N8Q5yO8DWM9Sds3NiRZlro75gurNQw62V4bkQuqfkIgP5oBYWSY297ZmOC48-SW_BwezvJ41yNZFQgkIsRVRVoKLhB2Ty3U1nbP6CxIdozVFylj_wBG4RQbq-xA2u_rOdzZ1Q" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="571" data-original-width="1357" height="169" src="https://blogger.googleusercontent.com/img/a/AVvXsEhMh4SKFMKEdubAP4m3sllZATgMawFte9kpNBNPznttWhSEsBZwqWhn_N8Q5yO8DWM9Sds3NiRZlro75gurNQw62V4bkQuqfkIgP5oBYWSY297ZmOC48-SW_BwezvJ41yNZFQgkIsRVRVoKLhB2Ty3U1nbP6CxIdozVFylj_wBG4RQbq-xA2u_rOdzZ1Q=w400-h169" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">You can create your office staff Team: by clicking on the create teams icon on the right hand side of the panel:</div></span></div><div style="text-align: left;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg0yI1ltDBcQ8S6RhbcRoPSmLeFemwTxd9ceyDlfs6NbobTtInUY7J3xrKLuHRdy4cZwhkQJaE-AqebAzzqXN7ajAf1c3evUuWaYV4ZkFQJMhKhrYfWxO5My_rq4ROuz1ndjnyMPwpuQWE_3kKODzd0nGLtcAb93ITJN6kXaAQ-hbNbrJQGL6clhkR6Qw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="615" data-original-width="1363" height="180" src="https://blogger.googleusercontent.com/img/a/AVvXsEg0yI1ltDBcQ8S6RhbcRoPSmLeFemwTxd9ceyDlfs6NbobTtInUY7J3xrKLuHRdy4cZwhkQJaE-AqebAzzqXN7ajAf1c3evUuWaYV4ZkFQJMhKhrYfWxO5My_rq4ROuz1ndjnyMPwpuQWE_3kKODzd0nGLtcAb93ITJN6kXaAQ-hbNbrJQGL6clhkR6Qw=w400-h180" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div>Click on create Team in the below panel:</span></div><div style="text-align: left;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgBl58tulEgj5xyT_hTJNb59ei_-qQVGDO2bZgwTh9KO08z6q0EPBuzxRzMaeSWNRtADZCu_G7Z6EFK8ZYuErfxaBES2_UHsv7Hr0bWF88N9eg6pNbHYBYOUQgfpl8tnytwez5YtldRP7xqu88yD7vCWrFy60WJxElvZgVm9RlazzhvW9jtrZgvyV-UIQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="500" data-original-width="1358" height="148" src="https://blogger.googleusercontent.com/img/a/AVvXsEgBl58tulEgj5xyT_hTJNb59ei_-qQVGDO2bZgwTh9KO08z6q0EPBuzxRzMaeSWNRtADZCu_G7Z6EFK8ZYuErfxaBES2_UHsv7Hr0bWF88N9eg6pNbHYBYOUQgfpl8tnytwez5YtldRP7xqu88yD7vCWrFy60WJxElvZgVm9RlazzhvW9jtrZgvyV-UIQ=w400-h148" width="400" /></a></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/a/AVvXsEhyzLzVWl6LiLFGZdLya7g9uMgBQ_yf4QSKabSJ1qysFIQIEApuS37fBU74uPpCpoZw0ZU0Jt0PP8FV4tGuarbORLKA4NCFvasf7d5Yr1xqWg4hVUmZzchEC0WtUVag9JKQYa6rgYAPVHCX7Nc6ZLjX08jSh6MOUpHYM1SUp5CTqig7pa7rOl-Urii5LQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="578" data-original-width="1357" height="170" src="https://blogger.googleusercontent.com/img/a/AVvXsEhyzLzVWl6LiLFGZdLya7g9uMgBQ_yf4QSKabSJ1qysFIQIEApuS37fBU74uPpCpoZw0ZU0Jt0PP8FV4tGuarbORLKA4NCFvasf7d5Yr1xqWg4hVUmZzchEC0WtUVag9JKQYa6rgYAPVHCX7Nc6ZLjX08jSh6MOUpHYM1SUp5CTqig7pa7rOl-Urii5LQ=w400-h170" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br />I click on staff:</span></div><div style="text-align: left;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjS49xlvg9c1TsJyTKalMN51BsinMPjjvd5ul19Tv6tqlVyfC7bqpwEiyxSWrpoHKcQ0K4a3WIIA9lF2NpJrw2JTkUpCvRwsuwb7uqVj7Gmu661Y1CnI4NAUfKK1zJiax2hbWQmdIX5uGSbGPHkr2U90z4E1fES71AVV99j59su6HE4jZvfaNoGmM0JWg" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="600" data-original-width="1359" height="176" src="https://blogger.googleusercontent.com/img/a/AVvXsEjS49xlvg9c1TsJyTKalMN51BsinMPjjvd5ul19Tv6tqlVyfC7bqpwEiyxSWrpoHKcQ0K4a3WIIA9lF2NpJrw2JTkUpCvRwsuwb7uqVj7Gmu661Y1CnI4NAUfKK1zJiax2hbWQmdIX5uGSbGPHkr2U90z4E1fES71AVV99j59su6HE4jZvfaNoGmM0JWg=w400-h176" width="400" /></a></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/a/AVvXsEjEIzQEpYnw12knLGwny91sCyY_2SP4owjJS6hHLat16Ok69FhNscFdyrU-H-BA_jwWwQZlKRxuSzFAEaQrD2Mad9wEnH3qXcrkRGKkEHMM3gb5mb3x0RiOis6nLkxSErP-T62Z_dfQQhSgr94hdxGOnKOqj8rKjPE04ckB357D_hIJ3wmx41fqRd5rQg" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="622" data-original-width="1360" height="183" src="https://blogger.googleusercontent.com/img/a/AVvXsEjEIzQEpYnw12knLGwny91sCyY_2SP4owjJS6hHLat16Ok69FhNscFdyrU-H-BA_jwWwQZlKRxuSzFAEaQrD2Mad9wEnH3qXcrkRGKkEHMM3gb5mb3x0RiOis6nLkxSErP-T62Z_dfQQhSgr94hdxGOnKOqj8rKjPE04ckB357D_hIJ3wmx41fqRd5rQg=w400-h183" width="400" /></a></div><br /><br />Microsoft enables you to add a wide variety of apps or website to your teams environment. To add the app or website, you need to select the team and the channel where you want to access this app. Now you can add apps or website by clicking on "+" icon of the window. Upon doing so, the service displays the Add Tab dialog as below:</span></div><div style="text-align: left;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjpMbsWxuhJdRgWHwUvNeB-YI_OIY2zQ4JIDpx5Ee1teRifcKhk67v4y6mcRx6DXeQM--nlAknILlSOgHDwn1-7vpFXx7v9vRkbZ7idUJ2ueiF8i_1YXYKDJw5Ky5xEDt5R61x83fYhGQ6yx4TUielNEnXrxBtbGv8DCjuPQyPWWTulsluk65VuM7TAcQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="610" data-original-width="1348" height="181" src="https://blogger.googleusercontent.com/img/a/AVvXsEjpMbsWxuhJdRgWHwUvNeB-YI_OIY2zQ4JIDpx5Ee1teRifcKhk67v4y6mcRx6DXeQM--nlAknILlSOgHDwn1-7vpFXx7v9vRkbZ7idUJ2ueiF8i_1YXYKDJw5Ky5xEDt5R61x83fYhGQ6yx4TUielNEnXrxBtbGv8DCjuPQyPWWTulsluk65VuM7TAcQ=w400-h181" width="400" /></a></div><br /><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEivdPMKtPXf82yFT4hLrLhfACJFZWZT_A7cFXp6dpcQcLVMGs0lkbaTwpWn5J3hUJfwD-Lv22Gam9l1HdsgwshcEK3DBYugsv2e7EfeoFbL516VHZQG_MDs6rhRQw2h52_lzD7v73-M4ybGFvnhHMysweSUD7xNtCMP4S8DxsFULwjalmgRlVM9DesDjg" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="614" data-original-width="690" height="356" src="https://blogger.googleusercontent.com/img/a/AVvXsEivdPMKtPXf82yFT4hLrLhfACJFZWZT_A7cFXp6dpcQcLVMGs0lkbaTwpWn5J3hUJfwD-Lv22Gam9l1HdsgwshcEK3DBYugsv2e7EfeoFbL516VHZQG_MDs6rhRQw2h52_lzD7v73-M4ybGFvnhHMysweSUD7xNtCMP4S8DxsFULwjalmgRlVM9DesDjg=w400-h356" width="400" /></a></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;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiuAnIx9cglUbnLPmoinVS9J60nupcJbZ6yEfPjYf0Cycz3XMwMNJLh_x5iboSiraq3KWXm18s-Nnuzex9-cFKNQ76_LHHSpSPTnW5a8b02YX9bgBNakEOTt2uPlQP0nmU29PukYDE-7DgwDQ-Hl4hpcdw8-95CDSetDuGMBnQ3uzq5SpiL4xGyI5gfPg" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="603" data-original-width="679" height="356" src="https://blogger.googleusercontent.com/img/a/AVvXsEiuAnIx9cglUbnLPmoinVS9J60nupcJbZ6yEfPjYf0Cycz3XMwMNJLh_x5iboSiraq3KWXm18s-Nnuzex9-cFKNQ76_LHHSpSPTnW5a8b02YX9bgBNakEOTt2uPlQP0nmU29PukYDE-7DgwDQ-Hl4hpcdw8-95CDSetDuGMBnQ3uzq5SpiL4xGyI5gfPg=w400-h356" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div></div></span></div><div style="text-align: left;"><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /><br /></div>You can select the existing app or click on the website, if you have awebsite to be shaed ith the collaborators:</span></div><div style="text-align: left;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgb0BhvOi0ktwhYE-hmBS6ZXdpzDLOosAI2dauiM-_oZQ0aSvrcSW354Zt4aTYehvqrk8l672awx5e03Pzte2zxZdGBnyJvBym7mch1OBrNBkB4xIYL-Wh4px03jD-gynl-IKwZ_F9QjRK6fZCW5KNrUc8lGzhDtyHwWnJ_E49fQeRlckT67JG3DrV8hA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="543" data-original-width="904" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEgb0BhvOi0ktwhYE-hmBS6ZXdpzDLOosAI2dauiM-_oZQ0aSvrcSW354Zt4aTYehvqrk8l672awx5e03Pzte2zxZdGBnyJvBym7mch1OBrNBkB4xIYL-Wh4px03jD-gynl-IKwZ_F9QjRK6fZCW5KNrUc8lGzhDtyHwWnJ_E49fQeRlckT67JG3DrV8hA=w400-h240" width="400" /></a></div><br /><br /><br /></span></div><div style="text-align: left;"><span style="font-family: georgia;"><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/a/AVvXsEhvuXJybKA1Voh7S20Tsk0Gudzr_GGUP-ecWPFtYNQ9c57RBMD1e5ZJOyyYLZK3bdHR6sxyxGJK5UQaGL2g1-CObPRd4x5ImnbOJVHB6QSuqLbt6ItceTCCwifLaT_FahLgR19K88B2-_QNEjrEib29SVzOihE2q-sZIJsJJbfl52l-1A8Bv4JFB8Ng1w" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="356" data-original-width="601" height="238" src="https://blogger.googleusercontent.com/img/a/AVvXsEhvuXJybKA1Voh7S20Tsk0Gudzr_GGUP-ecWPFtYNQ9c57RBMD1e5ZJOyyYLZK3bdHR6sxyxGJK5UQaGL2g1-CObPRd4x5ImnbOJVHB6QSuqLbt6ItceTCCwifLaT_FahLgR19K88B2-_QNEjrEib29SVzOihE2q-sZIJsJJbfl52l-1A8Bv4JFB8Ng1w=w400-h238" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br />Once you click on the Save button, you can see the website is opened up. And this tab can be accessed by all the collaborators of the Team:</span></div><div style="text-align: left;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiOZHhrlLS0Js8GS_O7qfgk-0DMMIM51OQRRgfaMcbJ6CLYDNR6kV8vRCAStq9IVsZkUtxGmPV4L2w4WUc9RQfOM-hfRYFHei2e1hCoPV3uhKXMQpn-5GpAeIS7lXXz3i-7MEkJKWAlihAprGvIqC_v5S_lUVe7HHAuPmhz7CfXqNI_AQNTUglHmHJPbw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="630" data-original-width="1365" height="185" src="https://blogger.googleusercontent.com/img/a/AVvXsEiOZHhrlLS0Js8GS_O7qfgk-0DMMIM51OQRRgfaMcbJ6CLYDNR6kV8vRCAStq9IVsZkUtxGmPV4L2w4WUc9RQfOM-hfRYFHei2e1hCoPV3uhKXMQpn-5GpAeIS7lXXz3i-7MEkJKWAlihAprGvIqC_v5S_lUVe7HHAuPmhz7CfXqNI_AQNTUglHmHJPbw=w400-h185" width="400" /></a></div><br /><br /><div style="text-align: justify;"><span style="background-color: white; color: #42474c;">On its own, Teams is a marvelous tool for increasing communication, collaboration, and productivity. However, as is often the case, some of the best benefits of this tool are realized when we integrate it with other applications or websites. Fortunately, as you see, this is a feature that is exceptionally easy to configure and use. Therefore, if you use Teams, consider how you can take advantage of the opportunity to add apps and websites to increase your productivity. Thank you!</span></div><br /></span></div><p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><br /><p></p><p><br /></p><p></p><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><br /><p></p><p><br /></p><p><br /></p><p></p><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><br /><p></p>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-52706412914445912262023-01-17T15:47:00.005+05:302023-01-27T11:53:52.781+05:30Barcode Label Generation in Shopify<div style="text-align: justify;"><span style="font-family: georgia;"> <span style="background-color: white; color: #212326;">You can use the Retail Barcode Labels app to design and print barcode labels from within Shopify. You also need to have a </span>supported label printer<span style="background-color: white; color: #212326;"> that's connected to your computer. </span></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><span style="background-color: white; color: #212326;"><br /></span></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><span style="background-color: white; color: #212326;">You can login to shopify admin panel and go to Settings:</span></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><span style="background-color: white; color: #212326;"><br /></span></span></div><div style="text-align: left;"><span style="font-family: georgia;"><span style="background-color: white; color: #212326;"><div class="separator" style="clear: both; text-align: justify;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEig1K4LUUPCfVv6EVikqBLJTAUfT5AXeu-2Da7GxcLMvMrvxuh9pTG2X--EwHz3oeoD5FOMM3WS0QjRJku6ox_a-71vPnHMBr8o5VjN0Xng43wdIJPiOo8v1_mRnJdQ-eT5qLHP_ua7fLRuzV6vP-1FfQioAAWtEvmY1RREoP616do792UsfQJdWgJYYA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="933" data-original-width="1515" height="246" src="https://blogger.googleusercontent.com/img/a/AVvXsEig1K4LUUPCfVv6EVikqBLJTAUfT5AXeu-2Da7GxcLMvMrvxuh9pTG2X--EwHz3oeoD5FOMM3WS0QjRJku6ox_a-71vPnHMBr8o5VjN0Xng43wdIJPiOo8v1_mRnJdQ-eT5qLHP_ua7fLRuzV6vP-1FfQioAAWtEvmY1RREoP616do792UsfQJdWgJYYA=w400-h246" width="400" /></a></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div></span></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><span style="background-color: white; color: #212326;">Inside settings-> Select Apps and sales channels</span></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><span style="background-color: white; color: #212326;"><br /></span></span></div><div style="text-align: left;"><span style="font-family: georgia;"><span style="background-color: white; color: #212326;"><div class="separator" style="clear: both; text-align: justify;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg1-BoSZqP4_3B7KqZgsExmZDMC7jX9UmAvIdA6jBBuf2koep5uu4cwonOjh5LDKWnQQesCLC5ovGxpwhn6exk3Fq7uiRFfyQovtJ8E8rAP9bbNqXq2RKZtQSpvb4gLf34r1ET4nIEyqIrCHXYLlNiw_CiPnLYIQIlO32B71H7WpSnQWd9rED_93bBmEw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="777" data-original-width="362" height="400" src="https://blogger.googleusercontent.com/img/a/AVvXsEg1-BoSZqP4_3B7KqZgsExmZDMC7jX9UmAvIdA6jBBuf2koep5uu4cwonOjh5LDKWnQQesCLC5ovGxpwhn6exk3Fq7uiRFfyQovtJ8E8rAP9bbNqXq2RKZtQSpvb4gLf34r1ET4nIEyqIrCHXYLlNiw_CiPnLYIQIlO32B71H7WpSnQWd9rED_93bBmEw=w187-h400" width="187" /></a></div><div class="separator" style="clear: both; text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;">You will see the below screen:</div></span></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><span style="background-color: white; color: #212326;"><br /></span></span></div><div style="text-align: left;"><span style="font-family: georgia;"><span style="background-color: white; color: #212326;"><div class="separator" style="clear: both; text-align: justify;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhChTnwbkMZgpgb37W9PIP2Y60474xvD4uioKJFoezPrnAEwyF_Aocy_0Grc5-4canFH5gET-F-cuY24KL0TDgeDNJ8MGHs8Z_aRfaZB1GMsvrhEMaush1Nft6FeC9eDRv12hA43OCO-iAxd_bir-ZfOhz8gvkGWCpcRfU4n3ATEk4-HPx1S8JwJh-tiw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="785" data-original-width="1314" height="239" src="https://blogger.googleusercontent.com/img/a/AVvXsEhChTnwbkMZgpgb37W9PIP2Y60474xvD4uioKJFoezPrnAEwyF_Aocy_0Grc5-4canFH5gET-F-cuY24KL0TDgeDNJ8MGHs8Z_aRfaZB1GMsvrhEMaush1Nft6FeC9eDRv12hA43OCO-iAxd_bir-ZfOhz8gvkGWCpcRfU4n3ATEk4-HPx1S8JwJh-tiw=w400-h239" width="400" /></a></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"> You can select the barcode generation app from Shopify app store</div></span></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><span style="background-color: white; color: #212326;"><br /></span></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><span style="background-color: white; color: #212326;"><br /></span></span></div><div style="text-align: left;"><span style="font-family: georgia;"><span style="background-color: white; color: #212326;"><div class="separator" style="clear: both; text-align: justify;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgevpoGIE9Djw5DaRxs3XN7qIHmQT5lf9wC12CzNO7VUOhZldp5Iy39uEYIC7UaqYqa1xTJJduii3f8TRp8RbWDzzi4GLozd91dyXeQhKztRjt-OTpFARF5SYoL749OI9g5Y89aVUaHzu8t1smRwid97CX97ILIlI9K_L79ILVF01Wt903q6ALqeEglzg" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="767" data-original-width="1529" height="201" src="https://blogger.googleusercontent.com/img/a/AVvXsEgevpoGIE9Djw5DaRxs3XN7qIHmQT5lf9wC12CzNO7VUOhZldp5Iy39uEYIC7UaqYqa1xTJJduii3f8TRp8RbWDzzi4GLozd91dyXeQhKztRjt-OTpFARF5SYoL749OI9g5Y89aVUaHzu8t1smRwid97CX97ILIlI9K_L79ILVF01Wt903q6ALqeEglzg=w400-h201" width="400" /></a></div><div class="separator" style="clear: both; text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: justify;"><br /></div><div style="text-align: justify;">You can select the required barcode generation app.</div></span></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><span style="background-color: white; color: #212326;"><br /></span></span></div><div style="text-align: left;"><span style="font-family: georgia;"><span style="background-color: white; color: #212326;"><div class="separator" style="clear: both; text-align: justify;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEir8aBmm90eZVh8YDNjD_aHB3COKTo_yW3c6EXNvM0Vu1T0DpzvQuay7CRtQK4L340elqrP4iSyn4aXlenokM3_bMp9bNmiHOsYm8qEFV0O8HkTZPBHqytQzE6DP8_kJBK2XsuOr-63tm0udRGmbIaDvx_UQK8z1lFv6AKTIUs9xlLZDQF_HQltGBGRtA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="939" data-original-width="1543" height="244" src="https://blogger.googleusercontent.com/img/a/AVvXsEir8aBmm90eZVh8YDNjD_aHB3COKTo_yW3c6EXNvM0Vu1T0DpzvQuay7CRtQK4L340elqrP4iSyn4aXlenokM3_bMp9bNmiHOsYm8qEFV0O8HkTZPBHqytQzE6DP8_kJBK2XsuOr-63tm0udRGmbIaDvx_UQK8z1lFv6AKTIUs9xlLZDQF_HQltGBGRtA=w400-h244" width="400" /></a></div><div class="separator" style="clear: both; text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: justify;"><br /></div><div style="text-align: justify;">It will install this app to your shopify. And then you can go and check your product list:</div></span></span></div><div style="text-align: justify;">You can see barcodes created successfully:</div><div style="text-align: justify;"><br /></div><div style="text-align: left;"><div class="separator" style="clear: both; text-align: justify;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgNNDN590uFjZpVPNMJ0d1lhnLKdzB0o0b68RQbFAd1Jdc80wqwAb8aYiivpQIQpLYmJ41rS3eiH2gSoZH-A2wltav47X9PAjYx5mSeTQh3d_rJ0L5Fh3STVMTXxHraFhapmAjZUz5OucUGrnN-b71tK0mYpEZXxQQC_WFaSBpQ5TGFJKRBumJ_p05SbQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="769" data-original-width="1534" height="200" src="https://blogger.googleusercontent.com/img/a/AVvXsEgNNDN590uFjZpVPNMJ0d1lhnLKdzB0o0b68RQbFAd1Jdc80wqwAb8aYiivpQIQpLYmJ41rS3eiH2gSoZH-A2wltav47X9PAjYx5mSeTQh3d_rJ0L5Fh3STVMTXxHraFhapmAjZUz5OucUGrnN-b71tK0mYpEZXxQQC_WFaSBpQ5TGFJKRBumJ_p05SbQ=w400-h200" width="400" /></a></div><div style="text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div></div><div style="text-align: justify;"><span style="font-family: georgia;"><span style="background-color: white; color: #212326;"><br /></span></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><span style="background-color: white; color: #212326;">You can set the size of the barcodes and theme:</span></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><span style="background-color: white; color: #212326;"><br /></span></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><span style="background-color: white; color: #212326;"><br /></span></span></div><div style="text-align: left;"><span style="font-family: georgia;"><span style="background-color: white; color: #212326;"><div class="separator" style="clear: both; text-align: justify;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgnIleoA_GqVdLZB0hcyUXSpLEGeuNgZNxjShFAAAY_nYlmKAZG4aSCmD_N3-8VSqZ1IGvgwA3tCXtANOMA50YJvckoLlaoPdRiPhxqompsQ1YznQfHuFgsGQ3uZi-uJps4AZmRftb3aiooadXDshaQeBk2TXH76zyO7LIGrMhCP0wGtb3J7sHkO1NcEw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="928" data-original-width="1543" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEgnIleoA_GqVdLZB0hcyUXSpLEGeuNgZNxjShFAAAY_nYlmKAZG4aSCmD_N3-8VSqZ1IGvgwA3tCXtANOMA50YJvckoLlaoPdRiPhxqompsQ1YznQfHuFgsGQ3uZi-uJps4AZmRftb3aiooadXDshaQeBk2TXH76zyO7LIGrMhCP0wGtb3J7sHkO1NcEw=w400-h240" width="400" /></a></div><div class="separator" style="clear: both; text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: justify;"><br /></div><div style="text-align: justify;">You can select any type of Label and the respective barcodes are generated. you can print those labels.</div></span></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><span style="background-color: white; color: #212326;"><br /></span></span></div><div style="text-align: left;"><div style="text-align: justify;"><span style="color: #212326; font-family: georgia;"><br /></span></div><span><div style="color: #212326; font-family: georgia; text-align: justify;"><br /></div></span></div>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-16381322218122184672022-11-29T14:48:00.004+05:302023-01-27T11:54:30.423+05:30How to change title of Activity in Android ?<div style="text-align: justify;"><span style="font-family: georgia;">When you are using the fragments and activities together in an application, it takes the title for the fragments automatically as the names of the fragments. But for the activities, it takes the app name itself as the title of the activity, So how to change the title of the activity.</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;"> There are two ways to change the title of the activity. </span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;">1. You can do it programmatically through activity by setting the title as below:</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><pre style="background-color: #2b2b2b;"><div style="color: #a9b7c6; text-align: justify;"><span style="color: #cc7832; font-family: georgia;">public class </span><span style="font-family: georgia;">QuestionActivity </span><span style="color: #cc7832; font-family: georgia;">extends </span><span style="font-family: georgia;">AppCompatActivity {</span></div><span style="font-family: georgia;"><div style="text-align: justify;"><span style="color: #a9b7c6;"><br /></span></div><span style="color: #a9b7c6;"><div style="text-align: justify;"> <span>@Override</span></div></span><span style="color: #bbb529;"><div style="text-align: justify;"><span> </span><span>protected void </span><span>onCreate</span>(Bundle savedInstanceState) {</div></span><span style="color: #a9b7c6;"><div style="text-align: justify;"> <span>super</span>.onCreate(savedInstanceState)<span>;</span></div></span><span style="color: #cc7832;"><div style="text-align: justify;"><span> </span>setContentView(R.layout.<span style="font-style: italic;">activity_question</span>)<span>;</span></div></span><span style="color: #cc7832;"><div style="text-align: justify;"><span> </span>setTitle(<span>"Questions ?"</span>)<span>;</span></div></span><span><div style="text-align: justify;"><span style="color: #a9b7c6;"><br /></span></div></span><span style="color: #cc7832;"><div style="text-align: justify;"><span> </span>}</div></span><span style="color: #a9b7c6;"><div style="text-align: justify;">}</div></span></span></pre></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;">Before: </span><span style="font-family: georgia;"> </span><span style="font-family: georgia;"> </span><span style="font-family: georgia;"> </span><span style="font-family: georgia;"> </span><span style="font-family: georgia;"> </span><span style="font-family: georgia;"> </span><span style="font-family: georgia;"> </span><span style="font-family: georgia;"> </span><span style="font-family: georgia;"> After: </span></div><div style="text-align: justify;"><span style="font-family: georgia;"><span><br /></span></span></div><div style="text-align: left;"><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: justify;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC6Z0xQiz8djffO1Mw9KUSmnLGIMU5B2rSj4TbQFD-KSB6GJk2NzizGN0CwGKUCkYAh4fgEGg8G8PaX8ALror7-67LXQplwkRAg9zya20C2MuIXoF0dm4TMRPus8GRoP-6JSGjDK3CO5ELOFtjan0L90HnWZeKFYku9E4gLubs_rKsx5leX2FPq5xeDw/s2340/Screenshot_20221129_143807.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2340" data-original-width="1080" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC6Z0xQiz8djffO1Mw9KUSmnLGIMU5B2rSj4TbQFD-KSB6GJk2NzizGN0CwGKUCkYAh4fgEGg8G8PaX8ALror7-67LXQplwkRAg9zya20C2MuIXoF0dm4TMRPus8GRoP-6JSGjDK3CO5ELOFtjan0L90HnWZeKFYku9E4gLubs_rKsx5leX2FPq5xeDw/s320/Screenshot_20221129_143807.png" width="148" /><span> </span></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgW1AsHgxH9MXHTKLxLuXavWujZ0l-fKwlsMYyQKIJlM33nb9b0LtTG1uF3CsGz57CMtqEAu2ZbGe-6u8ehilaO_KK3TnTq1VNsuW5lpzxXofqqoDdmhfDGBRzDG2KTnyjUDhYkrfwSfivURM6MdI8Cb7sxpbrWCcf_cq86oHFTwT6UGEKJPPrXOQiIqg/s2340/Screenshot_20221129_144236.png" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="2340" data-original-width="1080" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgW1AsHgxH9MXHTKLxLuXavWujZ0l-fKwlsMYyQKIJlM33nb9b0LtTG1uF3CsGz57CMtqEAu2ZbGe-6u8ehilaO_KK3TnTq1VNsuW5lpzxXofqqoDdmhfDGBRzDG2KTnyjUDhYkrfwSfivURM6MdI8Cb7sxpbrWCcf_cq86oHFTwT6UGEKJPPrXOQiIqg/s320/Screenshot_20221129_144236.png" width="148" /></a></div><div class="separator" style="clear: both; text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: left;"><div style="text-align: justify;"><span style="color: #0000ee; text-decoration-line: underline;"><br /></span></div><div style="text-align: justify;">2. You can do it through androidmanifest.xml by setting the label there. Open Androidmanifest.xml, in the activity you can add the label as the string or from the string file below to display the title:</div></div><div class="separator" style="clear: both; text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: left;"><pre style="background-color: #2b2b2b; color: #a9b7c6;"><div style="text-align: justify;"><span style="color: #e8bf6a; font-family: georgia;"><activity</span></div><span style="font-family: georgia;"><div style="text-align: justify;"><span style="color: #e8bf6a;"> </span><span style="color: #9876aa;">android</span><span style="color: #bababa;">:name</span><span style="color: #6a8759;">=".QuestionActivity"</span></div><span style="color: #6a8759;"><div style="text-align: justify;"><span style="color: #6a8759;"> </span><span style="color: #9876aa;">android</span><span style="color: #bababa;">:label</span><span style="color: #6a8759;">="@string/Questions"</span></div></span><span style="color: #6a8759;"><div style="text-align: justify;"><span style="color: #6a8759;"> </span><span style="color: #9876aa;">android</span><span style="color: #bababa;">:exported</span><span style="color: #6a8759;">="false" </span><span style="color: #e8bf6a;">/></span></div></span></span></pre></div><div class="separator" style="clear: both; text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: justify;">Here is the title shown:</div><div class="separator" style="clear: both; text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: justify;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvqSoBJZ6OgINB3HBzDnMNOng3QXEsu4zdlGMQtstjLIV5tGcBntU-i83OiUlhrbVr0rVges3MAkXsw5DSpYAr8nI7NbGUBBJqOet5jWv-hoovA98WKMGtlDyQdhRVnItxgEX1UPzJuy98uOtLS7RANhO_91v_JiJECmZ_Z6uJS_TduGlggnbp21hxRw/s2340/Screenshot_20221129_144702.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2340" data-original-width="1080" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvqSoBJZ6OgINB3HBzDnMNOng3QXEsu4zdlGMQtstjLIV5tGcBntU-i83OiUlhrbVr0rVges3MAkXsw5DSpYAr8nI7NbGUBBJqOet5jWv-hoovA98WKMGtlDyQdhRVnItxgEX1UPzJuy98uOtLS7RANhO_91v_JiJECmZ_Z6uJS_TduGlggnbp21hxRw/s320/Screenshot_20221129_144702.png" width="148" /></a></div><div class="separator" style="clear: both; text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: justify;"><br /></div><div style="text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: justify;">That's it. Happy coding</div><div style="text-align: justify;"><br /></div><span><div style="text-align: justify;"><br /></div></span></span></div>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0tag:blogger.com,1999:blog-7398475160925291656.post-45543820122584473692022-11-23T16:47:00.005+05:302022-11-23T16:49:28.186+05:30"No Application Encryption Key Has Been Specified" Error in Laravel Application<div style="text-align: left;"><div style="text-align: justify;"><span style="font-family: georgia;"> While creating a new laravel application from the begining, you only need the below things:</span></div><span style="font-family: georgia;"><div style="text-align: justify;"><br /></div></span></div><div style="text-align: left;"><ul style="text-align: left;"><li style="text-align: justify;"><span style="font-family: georgia;">A terminal</span></li><li style="text-align: justify;"><span style="font-family: georgia;">PHP-7.0 installed</span></li><li style="text-align: justify;"><span style="font-family: georgia;">composer installed and available in your path</span></li><li style="text-align: justify;"><span style="font-family: georgia;">npm installed aad available in your path.</span></li></ul></div><div style="text-align: left;"><br /></div><div style="text-align: justify;"><span style="font-family: georgia;">After all the above installed in your computer , You can create a new Laravel project from the command prompt:</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;">composer create-project laravel/laravel Myapplication</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;">Now you can run:</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;">php artisan serve</span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;">This should give you a URL to view, so click on this and open it in your browser. This should show the default Laravel screen or Page. But some time you get a Error in the browser as " No application Encryption Key has been specified" </span></div><div style="text-align: left;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEinrn4qHmpIxoriJj2fr43NAHkwK5PHuqz3TvprXH-m97-xu2SNDIKvRPX92z7Z6FL2Fy1Bqg77LldAsl5Rb76qMfRQw6yYQ_zpwZSmdLK_NbO7sfxWnmlwIfuqBslrYwiclZD8bkbheABgi4H06qdMbawsb7aJAT7zZml5p8JQEsiI92Tg5rQOPdt8cQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="939" data-original-width="1591" height="236" src="https://blogger.googleusercontent.com/img/a/AVvXsEinrn4qHmpIxoriJj2fr43NAHkwK5PHuqz3TvprXH-m97-xu2SNDIKvRPX92z7Z6FL2Fy1Bqg77LldAsl5Rb76qMfRQw6yYQ_zpwZSmdLK_NbO7sfxWnmlwIfuqBslrYwiclZD8bkbheABgi4H06qdMbawsb7aJAT7zZml5p8JQEsiI92Tg5rQOPdt8cQ=w400-h236" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div style="text-align: left;"><span style="font-family: georgia;">This will happen if the application key is empty in .env file or the key is corrupted.</span></div>In such case you need to follow the below steps to solve this issue:</span></div><div style="text-align: left;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><span style="font-family: georgia;">1. Generate application key by running the below command in your command prompt:</span></div><div style="text-align: left;"><span style="font-family: georgia;"><span> </span><span style="background-color: #e3e6e8; color: #232629; white-space: pre-wrap;">php artisan key:generate</span></span></div><div style="text-align: left;"><span style="background-color: #e3e6e8; color: #232629; white-space: pre-wrap;"><span style="font-family: georgia;"><br /></span></span></div><div style="text-align: left;"><span style="background-color: #e3e6e8; color: #232629; white-space: pre-wrap;"><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh9O44YqLer4p6mkW1GCAGfhzy7LFHoMEFEgOzpetQ0GlbiKArayA8QkF7z19Ob4eEHtNo1zSGEvwSh2DI38HzncrMMT1uK-SpljZJfddQ1iiEKGMlowQgwyfqMwm0VF6kcpfZANv8IFZyx1tubmfNZpTPvDUYeU2lxMTCLppshRYlrvupuiTpVZtThzg" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="98" data-original-width="522" height="75" src="https://blogger.googleusercontent.com/img/a/AVvXsEh9O44YqLer4p6mkW1GCAGfhzy7LFHoMEFEgOzpetQ0GlbiKArayA8QkF7z19Ob4eEHtNo1zSGEvwSh2DI38HzncrMMT1uK-SpljZJfddQ1iiEKGMlowQgwyfqMwm0VF6kcpfZANv8IFZyx1tubmfNZpTPvDUYeU2lxMTCLppshRYlrvupuiTpVZtThzg=w400-h75" width="400" /></a></div><br /><br /></span></span></div><div style="text-align: left;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><span style="font-family: georgia;">2. Now you can see. .env file your app key is set to a key if its empty. or its updated.</span></div><div style="text-align: left;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><span style="font-family: georgia;">3. Now you can run php artisan serve</span></div><div style="text-align: left;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhA1X02ejnDraY2Y4_RzOmZJoDaqsrGGoQ-RV8YV0MWn7T3-8M3m__btZKzuTzzjgeGWq7GS70t2VymBOI_q-YtObszIgzqpsl66VpgK2kG0CroYtOBJWrd8_NCpOlM1LNhG0eFdNVRXdl32BtfG4yq_CGi-yhZZilNsGNFki7xLJP4eMHMW0i6WEoWlw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="82" data-original-width="743" height="44" src="https://blogger.googleusercontent.com/img/a/AVvXsEhA1X02ejnDraY2Y4_RzOmZJoDaqsrGGoQ-RV8YV0MWn7T3-8M3m__btZKzuTzzjgeGWq7GS70t2VymBOI_q-YtObszIgzqpsl66VpgK2kG0CroYtOBJWrd8_NCpOlM1LNhG0eFdNVRXdl32BtfG4yq_CGi-yhZZilNsGNFki7xLJP4eMHMW0i6WEoWlw=w400-h44" width="400" /></a></div><br /><br /></span></div><div style="text-align: left;"><span style="font-family: georgia;"> 4. And go to the browser and check the link, You will be able to see the default laravel page showing</span></div><div style="text-align: left;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: left;"><br /></div><div style="text-align: left;"><span style="font-family: georgia;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjRSVV7cwZHGUbW8UHlv5XFbCqgeZ42pDbBI84-7m4NlIjygw5xfyL2FBez_T7EOYIqqvTU1Ge5OzDUFz_GKKxm7htSA0Rh5JWAr8dPhyE-R_C7sjhdx89GEHM0hlOtWIAY2xLHIR5-WaGGwEne3fXwWPo2UZZt4vWcIi7b7qdgygKIp-oLv2WoPsrMZg" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="880" data-original-width="1678" height="210" src="https://blogger.googleusercontent.com/img/a/AVvXsEjRSVV7cwZHGUbW8UHlv5XFbCqgeZ42pDbBI84-7m4NlIjygw5xfyL2FBez_T7EOYIqqvTU1Ge5OzDUFz_GKKxm7htSA0Rh5JWAr8dPhyE-R_C7sjhdx89GEHM0hlOtWIAY2xLHIR5-WaGGwEne3fXwWPo2UZZt4vWcIi7b7qdgygKIp-oLv2WoPsrMZg=w400-h210" width="400" /></a></div><br /><div style="text-align: justify;">Even if you see the error, you need to clear the cache with the command </div></span></div><div style="text-align: justify;"><span style="background-color: #e3e6e8; color: #232629; white-space: pre-wrap;"><span style="font-family: georgia;">php artisan config:cache</span></span></div><div style="text-align: justify;"><span style="font-family: georgia;"><br /></span></div><div style="text-align: justify;"><span style="font-family: georgia;">And after this, run php artsan serve and you will be able to see the laravel default page. Hope this helps.</span></div>G T Karjolhttp://www.blogger.com/profile/09888382227278061760noreply@blogger.com0