{"id":21383993,"url":"https://github.com/zaprogrammer/what-i-learned-android","last_synced_at":"2026-01-27T02:33:22.489Z","repository":{"id":90254885,"uuid":"206687746","full_name":"zaprogrammer/What-I-learned-Android","owner":"zaprogrammer","description":"This repo is a list of what I learn periodically about Android, so I want to share it with others.","archived":false,"fork":false,"pushed_at":"2019-09-06T02:00:50.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-04T00:36:32.377Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zaprogrammer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-06T01:27:56.000Z","updated_at":"2019-09-06T02:00:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"6518ba31-d876-4707-b6ba-d9fb413b505a","html_url":"https://github.com/zaprogrammer/What-I-learned-Android","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zaprogrammer/What-I-learned-Android","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaprogrammer%2FWhat-I-learned-Android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaprogrammer%2FWhat-I-learned-Android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaprogrammer%2FWhat-I-learned-Android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaprogrammer%2FWhat-I-learned-Android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zaprogrammer","download_url":"https://codeload.github.com/zaprogrammer/What-I-learned-Android/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaprogrammer%2FWhat-I-learned-Android/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28796977,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T01:07:07.743Z","status":"online","status_checked_at":"2026-01-27T02:00:07.755Z","response_time":168,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-22T11:37:09.028Z","updated_at":"2026-01-27T02:33:22.476Z","avatar_url":"https://github.com/zaprogrammer.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"What I Learned - Android\n---\n\n\u003cp\u003eAs we move on developing software, we learn new skills and customize our IDE we love (or forced to work with sometimes) upon our needs to facilitate the daily development life.\u003cbr\u003e\nThis repo will focus on Android development gathering my knowledge and the new stuff I learn to be a reference to me and open-sourced for anyone to help also.\u003c/p\u003e\n\u003ch2 id=\"android-studio\"\u003eAndroid Studio\u003c/h2\u003e\n\u003cp\u003eWhat if you have to move to a new machine or want to backup your settings/setup of AS that you have been installing for a quite time?\u003cbr\u003e\nThere are many ways to do so:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAutomatic:\u003c/strong\u003e Using JB plugin \u003ca href=\"https://plugins.jetbrains.com/plugin/7566-settings-repository\"\u003eSettings Repository\u003c/a\u003e, but unfortunately, it is not stable and has a lot of bad reviews and low rating.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSemi-Manual:\u003c/strong\u003e Export/Import them from the AS menu: \u003cem\u003eFile\u003c/em\u003e \u0026gt; \u003cem\u003eExport Settings…\u003c/em\u003e, then move the exported jar file to your new machine, then \u003cem\u003eFile\u003c/em\u003e \u0026gt; \u003cem\u003eImport Settings…\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eManual:\u003c/strong\u003e You can reference to this \u003ca href=\"https://practical-start.blogspot.com/2016/12/changing-android-studio-settings.html\"\u003earticle\u003c/a\u003e to do it totally manual.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eAS From scratch:\u003c/strong\u003e\u003cbr\u003e\nBelow is my list of plugin and tweaks to the AS to help me develop faster and more consistently:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1 id=\"res\"\u003eRes\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003eEnable the use of support library for vector drawables\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eUsing vector drawables instead of PNGs in you app results in smaller apk file. But vector drawables was introduced in API 21, so to support it backward to API 7, enable support library for vector drawables to make use of them in your app as follows:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eIn build.gradle (app level), add:\u003c/li\u003e\n\u003c/ol\u003e\n\u003cpre\u003e\u003ccode\u003evectorDrawables.useSupportLibrary = true\n\u003c/code\u003e\u003c/pre\u003e\n\u003col start=\"2\"\u003e\n\u003cli\u003eUse app:srcCompat in the image tag in all your layout files:\u003c/li\u003e\n\u003c/ol\u003e\n\u003cpre\u003e\u003ccode\u003eapp:srcCompat=\"@drawable/YOUR_RESOURCE_NAME\"\n\u003c/code\u003e\u003c/pre\u003e\n\u003col start=\"3\"\u003e\n\u003cli\u003eYou’ll also need to add the namespace to the root of the layout (like android and tools namespaces):\u003c/li\u003e\n\u003c/ol\u003e\n\u003cpre\u003e\u003ccode\u003exmlns:app=\"http://schemas.android.com/apk/res-auto\"\n\u003c/code\u003e\u003c/pre\u003e\n\u003chr\u003e\n\n\u003c!--stackedit_data:\neyJoaXN0b3J5IjpbLTYyNTEwMDY1MV19\n--\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzaprogrammer%2Fwhat-i-learned-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzaprogrammer%2Fwhat-i-learned-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzaprogrammer%2Fwhat-i-learned-android/lists"}