{"id":13787026,"url":"https://github.com/n8ebel/MarvelAndroid","last_synced_at":"2025-05-12T00:30:41.014Z","repository":{"id":36334973,"uuid":"40639683","full_name":"n8ebel/MarvelAndroid","owner":"n8ebel","description":"Android library to work with the Marvel Comics Api","archived":false,"fork":false,"pushed_at":"2020-08-15T19:34:17.000Z","size":273,"stargazers_count":8,"open_issues_count":3,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-05-10T02:58:05.515Z","etag":null,"topics":["android","comics","java","marvel"],"latest_commit_sha":null,"homepage":"","language":"Java","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/n8ebel.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}},"created_at":"2015-08-13T04:57:33.000Z","updated_at":"2025-02-19T00:05:11.000Z","dependencies_parsed_at":"2022-09-10T16:21:23.412Z","dependency_job_id":null,"html_url":"https://github.com/n8ebel/MarvelAndroid","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n8ebel%2FMarvelAndroid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n8ebel%2FMarvelAndroid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n8ebel%2FMarvelAndroid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n8ebel%2FMarvelAndroid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/n8ebel","download_url":"https://codeload.github.com/n8ebel/MarvelAndroid/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253655758,"owners_count":21943068,"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":["android","comics","java","marvel"],"created_at":"2024-08-03T20:00:24.997Z","updated_at":"2025-05-12T00:30:40.437Z","avatar_url":"https://github.com/n8ebel.png","language":"Java","funding_links":[],"categories":["Library"],"sub_categories":[],"readme":"## MarvelAndroid\nAndroid library to work with the [Marvel Comics Api](http://developer.marvel.com/).\nMake sure to check out the documentation provided by Marvel, especially the [Attribution Info](http://developer.marvel.com/).\n\n### Recent Updates\n9/1/15 - [Beta 1](https://github.com/n8ebel/Marvel_Android/releases/tag/v0.9) is ready to go!!  Please try it out, create issues for anything you find that isn't working correctly.  I will continue building out samples and have a couple additional enhancements on the way.\n\n8/28/15 - Offical Beta 1 will be out by the end of the month.  These is now a very basic sample project included in the repo to help get you started playing with the apis.\n\n8/26/15 - Beta 1 will be released very soon.  This release will contain functional endpoints to retreive all entity types.  Method names and class structure might still change however.\n\n\nThis project is currently under development.\n\nEntities (Comics, Characters, etc..) are retrieved through an `Endpoint` class.  \nFor example, `ComicEndpoint` provides methods for retrieving comics in various ways across each of the rest endpoints.  \n\nex:\n- `comicEndpoint.getComicForId(comicId)`\n- `comicEndpoint.getComicsForCharacterId(characterId, comicQueryParams)`\n\nSupports two patterns of network calls:\n- Asynchronous callback\n- RxJava observables\n\nImplemented endpoints\n- [x] Character endpoint\n- [x] Comic\n- [x] Creator\n- [x] Event\n- [x] Series\n- [x] Stories\n\n\n## Sample Project\nThere is a sample project included with the repo.  Clone or download the repo to build and run the sample and start playing with the apis.\n\nTo run the sample, **you will need your own api keys from Marvel**.  You can get keys by going [here](http://developer.marvel.com/), registering an account, and then copying those into your project.\n \n## Example Usages\n\n### Characters\n```\nMarvelAndroid.initialize(context, \"YOUR_PRIVATE_KEY\", \"YOUR_PUBLIC_KEY\", cache_size);\nCharacterEndpoint characterEndpoint = MarvelAndroid.getInstance().getCharacterEndpoint();\n\nCharacterQueryParams queryParams = new CharacterQueryParams();\nqueryParams.setNameStartsWith(\"spider\");\n\n// Callback\ncharacterEndpoint.getCharacters(queryParams, new Callback\u003cServiceResponse\u003cCharacter\u003e\u003e() {\n            @Override\n            public void success(ServiceResponse\u003cCharacter\u003e characterServiceResponse, Response response) {\n                \n            }\n\n            @Override\n            public void failure(RetrofitError error) {\n\n            }\n        });\n        \n// RxJava Observable\nObservable\u003cServiceResponse\u003cCharacter\u003e\u003e observable = characterEndpoint.getCharacters(queryParams);\n```\n\n### Comics\n```\nComicQueryParams queryParams = new ComicQueryParams();\n queryParams.setOrderBy(ComicQueryParams.OrderBy.Title);\n\n MarvelAndroid marvelAndroid = MarvelAndroid.getInstance();\n ComicEndpoint comicEndpoint = marvelAndroid.getComicEndpoint();\n\n /*\n  * Standard way\n  */\n\n// Retrieve list of comics through async callback\n//\ncomicEndpoint.getComics(queryParams, new Callback\u003cRequestResponse\u003cComic\u003e\u003e() {\n    @Override\n    public void success(RequestResponse\u003cComic\u003e requestResponse, Response response) {\n        List\u003cComic\u003e comics = requestResponse.data.results;\n\n        for (Comic comic : comics) {\n            Log.d(\"foo\", comic.title + \" \" + comic.description);\n        }\n    }\n\n    @Override\n    public void failure(RetrofitError error) {\n        mMsg += error.getLocalizedMessage() + \"\\n\";\n        textView.setText(mMsg);\n    }\n});\n\n// Same results, but returned through RxJava Observable subscription\n//\nObservable\u003cRequestResponse\u003cComic\u003e\u003e comics = comicEndpoint.getComics(queryParams);\ncomics.subscribe(new Action1\u003cRequestResponse\u003cComic\u003e\u003e() {\n    @Override\n    public void call(RequestResponse\u003cComic\u003e comicRequestResponse) {\n        List\u003cComic\u003e comics = requestResponse.data.results;\n\n        for (Comic comic : comics) {\n            Log.d(\"foo\", comic.title + \" \" + comic.description);\n        }\n    }\n});\n```\n\n## License\n```\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn8ebel%2FMarvelAndroid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fn8ebel%2FMarvelAndroid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn8ebel%2FMarvelAndroid/lists"}