GithubHelp home page GithubHelp logo

trolit / 3vry Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 0.0 1.72 MB

Mobile app for Android(API level 24-29) that on each day adds random track from YouTube based on artists/playlists that user added. To make it work you need API key.

License: MIT License

Kotlin 100.00%
android android-application android-app kotlin kotlin-android open-source youtubeapiv3 mobile-app free-android-app

3vry's Introduction

3vry

Platform badge Language badge

3vry logo

3vry is a project made for Android OS that promotes listening to music. User adds his/her favourite artists/playlists and receives each day single track offer from randomly chosen object. Songs are picked from YouTube service using Android Player library and can be watched through application. Track searching rules can be adjusted through settings section. It's also possible to include app author playlist in the artists pool(contains wide and interesting range of genres:>). Main purpose of the 3vry was to find out Kotlin language and IntelliJ IDEA IDE from JetBrains after making mobile app docAndCom in Xamarin.Forms. On the other side, music has great impact on mind, determines feelings. It's crucial element in video games and cinematography. 3vry can be treated as option to discover tracks that app user did not hear before. Short demonstration can be found at YouTube here.

Screens

#toadd #toadd #toadd
#toadd #toadd #toadd
#toadd #toadd #toadd

Tested on

  • Physical device: Huawei Y7, OS. Android 7.0(API 24), res. 720 x 1280
  • Physical device: Huawei P20, OS. Android 9.0(API 28), res. 2244 x 1080
  • Android emulator: Nexus S 4" phone, OS. Android 8.1(API 27), res. 480 x 800

Permissions needed

INTERNET to make queries to YouTube API and be able to play songs from the list

ACCESS NETWORK STATE to show on main menu screen message that Internet connection is not established

Used libraries

Download & info

Minimum required Android version to use 3vry: 7.0 (Nougat)

Targetted Android OS: 10.0 (Android Q)

2020 - Note: My Youtube API key got deactivated due to inactivity. Download is still available but 3vry won't fetch songs from Youtube API. To make it work you will need your own API key. If I find time I will make setting API key as option in app settings so there will be no need to recompile project and build it's apk :)

You can download the *.apk installation file by clicking here. Note that the original 3vry solution developed by trolit is not currently available on any other media delivering software than this GitHub repository. Guaranteed, safe way to obtain the app without suspicious modifications is to download it through the link given above! Other pages are unverified. Any information that user will add/generate through 3vry is kept on local device storage and is not shared further without user's knowledge. App will never prompt for permissions other than detailed in the documentation, show advertisements. There is no IOS version of the application. Compiled version is using YouTube standard queries upper limit(10 000). If app is used properly, each user generates from 100(1 page) to 400(4 pages) queries per day(estimated cost on 06.2020 from quota calculator). Query cost depends on two aspects: how many tracks may be considered into search from settings section and randomized page number. If user set 150 tracks per search, app can make from 1 to 3 queries, each query returns 50 tracks. Assuming that all users set 200 tracks range in settings, and get the biggest possible page number(4), 25 users will be able to receive their tracks. In the least case of 100 unit cost per user, track would get 10 000 / 100 = 100 users.

To proceed with the downloaded apk, refer to the Android documentation HERE on how to enable 3rd party app installation(if you did not enable that option before) and then simply launch apk file while using Android device.

Possible features

  • Improve Db Handler using Room lib
  • Change rawQueries into queries(according to stackoverflow, rawQueries are more vulnerable to SQL Injection, however app Db is not that interesting..)
  • Remove from Settings: include cover, acoustic, live and add instead section where user can define custom list of banned words
  • Add section where users can add their own playlists to the searching pool
  • Fix weird behaviour when turning on fullscreen from YouTubePlayerView
  • Add indicator that demonstrates song searching
  • Limit song data wipe(at least 2 tracks)

Changelog

22.07.2020 (v1.1)

  • removed include live/cover/acoustic from Settings and added Keyword section instead
  • added Playlist section that can hold user defined playlists
  • added try..catch block for getting error on nonclarified API response fails
  • added to main menu note that indicates process of searching video
  • added repeating artist/playlist/keyword validation on insert
  • changed the way how video is randomized from artists and/or playlists
  • changed rawQueries into queries
  • moved app author playlist from Artist section to Playlist
  • adjusted playlistResults action to be used by all defined playlist Id's
  • restricted wipe songs button(visible when 3vry has at least 2 tracks)

Running project

If you would like to run the app in the debug mode by yourself, open the project and add your own YouTube API key in the SongsActivity(line 56). Simply run the app on AVD that matches required version described above.

License

Standard MIT license (c) 2020 Paweł Idzikowski. Publishing the 1 to 1 solution on other sites must be discussed with it's founder first!



Template generated using EzGitDoc

3vry's People

Contributors

trolit avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.