{"id":15040784,"url":"https://github.com/zhanghai/douya","last_synced_at":"2025-05-14T23:07:44.722Z","repository":{"id":37405415,"uuid":"50842053","full_name":"zhanghai/Douya","owner":"zhanghai","description":"开源的 Material Design 豆瓣客户端（A Material Design app for douban.com）","archived":true,"fork":false,"pushed_at":"2021-06-14T20:48:22.000Z","size":25350,"stargazers_count":4558,"open_issues_count":17,"forks_count":1142,"subscribers_count":186,"default_branch":"master","last_synced_at":"2025-05-14T23:07:30.660Z","etag":null,"topics":["android","android-application","douban","material-design"],"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/zhanghai.png","metadata":{"files":{"readme":"README-en.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":"2016-02-01T13:44:19.000Z","updated_at":"2025-05-14T16:45:19.000Z","dependencies_parsed_at":"2022-08-08T20:15:31.889Z","dependency_job_id":null,"html_url":"https://github.com/zhanghai/Douya","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhanghai%2FDouya","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhanghai%2FDouya/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhanghai%2FDouya/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhanghai%2FDouya/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zhanghai","download_url":"https://codeload.github.com/zhanghai/Douya/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254243362,"owners_count":22038046,"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","android-application","douban","material-design"],"created_at":"2024-09-24T20:45:03.786Z","updated_at":"2025-05-14T23:07:39.705Z","avatar_url":"https://github.com/zhanghai.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Douya\n\n[本文中文版 (Chinese version)](README.md)\n\n\u003e Douban, Yet Another.\n\nYet another Material Design Android app for [Douban](https://www.douban.com).\n\n![Travis CI](https://travis-ci.org/zhanghai/Douya.svg)\n\n\u003c!--\u003ca href=\"https://play.google.com/store/apps/details?id=me.zhanghai.android.douya\" target=\"_blank\"\u003e\u003cimg alt=\"Google Play\" height=\"90\" src=\"https://play.google.com/intl/en_US/badges/images/generic/en_badge_web_generic.png\"/\u003e\u003c/a\u003e--\u003e\n\nDownload: [Douya Latest Release Build](https://github.com/zhanghai/Douya/releases/latest)\n\n[Douya CI Builds](https://github.com/zhanghai/DouyaCiBuilds)\n\n[Douya API Key](https://github.com/zhanghai/DouyaApiKey)\n\n## Some Features\n\n- Material Design\n- [Start time optimization](https://github.com/zhanghai/MaterialColdStart)\n- Lollipop shared element transition\n- Screen rotation support.\n- Staggered grid layout for tablet.\n- Custom Tabs support.\n\n## Preview\n\nImages:\n\n\u003cp\u003e\u003cimg src=\"screenshot/00-main.png\" width=\"32%\" /\u003e\n\u003cimg src=\"screenshot/01-immersive.jpg\" width=\"32%\" /\u003e\n\u003cimg src=\"screenshot/02-gallery.jpg\" width=\"32%\" /\u003e\n\u003cimg src=\"screenshot/03-broadcast-menu.png\" width=\"32%\" /\u003e\n\u003cimg src=\"screenshot/04-broadcast-activity.png\" width=\"32%\" /\u003e\n\u003cimg src=\"screenshot/05-send-comment.png\" width=\"32%\" /\u003e\n\u003cimg src=\"screenshot/06-comment-action.png\" width=\"32%\" /\u003e\n\u003cimg src=\"screenshot/07-settings.png\" width=\"32%\" /\u003e\n\u003cimg src=\"screenshot/08-licenses.png\" width=\"32%\" /\u003e\n\u003cimg src=\"screenshot/09-tablet-portrait.jpg\" width=\"34.7%\" /\u003e\n\u003cimg src=\"screenshot/10-tablet-landscape.png\" width=\"61.7%\" /\u003e\u003c/p\u003e\n\nVideo:\n\n- [Vimeo](https://vimeo.com/156952508)\n- [Youku](http://v.youku.com/v_show/id_XMTQyMDE5ODk0MA==.html)\n\n## Implementation\n\n### Data\n\nMost data are fetched from network while some of them are cached for offline.\n\n- Account system based on  Android `AccountManager`.\n- Retrofit with custom extensions for network requests.\n- Gson for data model.\n- Glide for image loading.\n- DiskLRUCache with custom extensions for caching.\n- EventBus for state synchronization across Activities.\n\n### UI\n\n- Material Design implemented with AppCompat, Design, CardView and RecyclerView from support library and some customization.\n- Animation implemented with shared element transition on Lollipop and above.\n\n## Libraries created for this project\n\n- [MaterialColdStart](https://github.com/zhanghai/MaterialColdStart)，800+ Stars\n- [MaterialProgressBar](https://github.com/zhanghai/MaterialProgressBar)，500+ Stars\n- [CustomTabsHelper](https://github.com/zhanghai/CustomTabsHelper)，200+ Stars\n- [MaterialEditText](https://github.com/zhanghai/MaterialEditText)\n- [SystemUiHelper](https://github.com/zhanghai/SystemUiHelper)\n\n## Third party libraries\n\n- [PhotoView](https://github.com/chrisbanes/PhotoView)\n- [Glide](https://github.com/bumptech/glide)\n- [Gson](https://github.com/google/gson)\n- [ButterKnife](https://github.com/JakeWharton/butterknife)\n- [DiskLruCache](https://github.com/JakeWharton/DiskLruCache/)\n- [ThreeTenABP](https://github.com/JakeWharton/ThreeTenABP/)\n- [Retrofit](https://github.com/square/retrofit)\n- [EventBus](https://github.com/greenrobot/EventBus)\n- [CustomTabsHelper](https://github.com/zhanghai/CustomTabsHelper)\n- [EffortlessPermissions](https://github.com/zhanghai/EffortlessPermissions)\n- [MaterialEditText](https://github.com/zhanghai/MaterialEditText)\n- [MaterialProgressBar](https://github.com/zhanghai/MaterialProgressBar)\n- [SystemUiHelper](https://github.com/zhanghai/SystemUiHelper)\n- [MaterialColdStart](https://github.com/zhanghai/MaterialColdStart)\n\n## Building\n\nYou can download the APK file from [releases](https://github.com/zhanghai/Douya/releases) of this project.\n\nFor building this project yourself:\n\n1. Create `signing.properties`:\n\n```ini\nstoreFile=YOUR_STORE_FILE\nstorePassword=\nkeyAlias=\nkeyPassword=\n```\n\n2. Execute `./gradlew build`。\n\n## Using\n\nAfter installation, please install [Douya API Key](https://github.com/zhanghai/DouyaApiKey) to set up API key for this app.\n\nPlease don't install APKs from untrusted sources, so that you won't leak your username and password.\n\n## License\n\n    Copyright 2015 Zhang Hai\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","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhanghai%2Fdouya","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzhanghai%2Fdouya","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhanghai%2Fdouya/lists"}