{"id":19153295,"url":"https://github.com/frenzyexists/funnyapp","last_synced_at":"2026-06-15T00:30:25.522Z","repository":{"id":220764550,"uuid":"752535215","full_name":"FrenzyExists/FunnyApp","owner":"FrenzyExists","description":"Codepath prework - my first ever android app!","archived":false,"fork":false,"pushed_at":"2024-02-04T06:04:53.000Z","size":3122,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-03T19:16:12.868Z","etag":null,"topics":["codepath","codepath-android-course","good","kotlin"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","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/FrenzyExists.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":"2024-02-04T05:52:11.000Z","updated_at":"2024-10-07T01:05:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"ecf145ea-0f10-4d53-afb9-02bcd5dbd8a7","html_url":"https://github.com/FrenzyExists/FunnyApp","commit_stats":null,"previous_names":["frenzyexists/funnyapp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrenzyExists%2FFunnyApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrenzyExists%2FFunnyApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrenzyExists%2FFunnyApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrenzyExists%2FFunnyApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FrenzyExists","download_url":"https://codeload.github.com/FrenzyExists/FunnyApp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240236345,"owners_count":19769581,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["codepath","codepath-android-course","good","kotlin"],"created_at":"2024-11-09T08:22:35.643Z","updated_at":"2026-06-15T00:30:25.292Z","avatar_url":"https://github.com/FrenzyExists.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Android Prework - *Funny App*\n\nSubmitted by: **Angel Garcia (Detective Pikachu)**\n\nFunny App\n\nTime spent: **3** hours spent in total\n\n## Required Features\n\nThe following **required** functionality is completed:\n\n* [ x ] Image and introductory message displayed on screen\n* [ x ] Button displayed on screen\n* [ x ] Toast with message appears when button is pressed\n\nThe following **optional** features are implemented:\n\n* [ x ] List anything else that you can get done to improve the app functionality!\n\n- [ x ] Clicking Button plays funny music with funny meme\n- [ x ] Clicking in a particular spot triggers funny view\n- [ x ] After funny meme view after some time it goes to another view (timed view)\n- [ x ] YES OR NO\n\n## Video Walkthrough\n\nHere's a walkthrough of implemented features:\n\nFirst screen\n\n![image](https://github.com/FrenzyExists/FunnyApp/assets/47986470/8cdf169d-d323-4dda-b49b-a92f24cda324)\n\nhttps://github.com/FrenzyExists/FunnyApp/assets/47986470/2b8ef4bf-6c02-42b8-85be-b65018c31038\n\nHINT: touch Pikachu's nose for funny surprise\n\n## Notes\n\nDescribe any challenges encountered while building the app.\n\nThe pre-work was not hard. There was a lot of material to read, and I made sure to do the extra \nwork of reading the additional info to better understand the features I could use when I develop \napps more seriously. That said, I did encountered some issues. For some reason my android emulator \ndidn't run, so after some googling I found that the issue is that my laptop doesn't have much space \nleft. At the time of writing this I have a 256GB drive almost full, with 2GB left. Blame the VM I \nhave to use for the TA stuff I do. Solution was to just use my phone. I didn't realize there was a \nguide in the codepath on how to set it up so I just looked on YT, set my phone as dev mode, and \npaired it via wifi because I couldn't find a charging cable and I use my laptops' charging cable \nto charge my phone as well. Don't ask why. I took a bunch of breaks while doing the pre-work since \nI had other extra-curriculars, college courses, job as TA and webmaster, and the human need to touch\nsome grass. The video was straight to the point and had no issues following, barely needed to pause, \nonly when I wanted to take a break. \n\nAnother issue I had was with images. I wasted around 10 to 15 minutes of debugging on why the image\ndid not appeared. Turns out it was because I was using the wrong attribute. Basically:\n\n```\n\u003c!-- Used this --\u003e\ntools:srcCompat=\"@drawable/me\"\n```\n\n```\n\u003c!-- Instead of this --\u003e\nandroid:src=\"@drawable/me\"\n```\n\nSimple solution for simple problem, had worse in other projects.\n\n### Da BONUZ\n\nOh boi. I had a few ideas for this one, but due to time constrains I had to keep it simple short.\nFirst thing I wanted to do is to add a funny sound whne I click to a particular place. This translated\nto going from stackoverflow after stackoverflow because almost everything was in java and it wasn't \na 1 to 1 translation as advertised. After like half an hour I found a medium article that showed a\nway to get it working on kotlin without the IDE complaining that I needed to override some unrelated\nmethod.\n\nNext came the G I F S\n\nFor this one the idea was that instead of appearing a toast with a message, I instead get a toast\nwith a counter that will then bring me to a new view that after some funny music with funny jpeg \nplayed it will bring me back to the main activity. This meant that I will be able to learn a bit\nmore about the life cycle of an activity app rather than reading the 15+ minute articles I ended\nreading anyways, even if its for Java (and a lot of stuff changed).\n\nThen it came switching to another activity... oh boi... what a piece of work\n\nI first thought it was this: `setContentView(R.layout.activity_funny);`, which did got me to the \nview I wanted, but it didn't triggered the callbacks I set. After some googling (lots of it) I \nfound that i had to do this instead\n\n```kotlin\nval intent = Intent(this,  FunnyActivity::class.java)\nstartActivity(intent)\n```         \n\nAnother challenge I got was gifs. The android API I was using did not support `AnimatedImageDrawable`,\nso I had no other choice but to learn how to install things in android studio. Fortunately, it was\nsimilar to how it was done for Java projects and just like minecraft it used the Gradle build. Funny\nmeme is a success, sort of. Its a step on the right direction.\n\nFriends had a laugh with the app, now I am bound to do meme apps for the rest of my life. \nIts joever 😔\n\n## License\n\n    Copyright 2024 Detective Pikachu\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n        http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrenzyexists%2Ffunnyapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrenzyexists%2Ffunnyapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrenzyexists%2Ffunnyapp/lists"}