{"id":33262770,"url":"https://github.com/chrislacy/TweetLanes","last_synced_at":"2025-11-21T22:02:10.445Z","repository":{"id":6963682,"uuid":"8216154","full_name":"chrislacy/TweetLanes","owner":"chrislacy","description":"Tweet Lanes for Android","archived":false,"fork":false,"pushed_at":"2018-09-16T19:23:35.000Z","size":22096,"stargazers_count":769,"open_issues_count":51,"forks_count":278,"subscribers_count":76,"default_branch":"master","last_synced_at":"2024-04-16T12:23:44.454Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chrislacy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-02-15T10:05:16.000Z","updated_at":"2023-11-25T16:40:12.000Z","dependencies_parsed_at":"2022-09-10T16:00:50.016Z","dependency_job_id":null,"html_url":"https://github.com/chrislacy/TweetLanes","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/chrislacy/TweetLanes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrislacy%2FTweetLanes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrislacy%2FTweetLanes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrislacy%2FTweetLanes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrislacy%2FTweetLanes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chrislacy","download_url":"https://codeload.github.com/chrislacy/TweetLanes/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrislacy%2FTweetLanes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285697827,"owners_count":27216628,"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","status":"online","status_checked_at":"2025-11-21T02:00:06.175Z","response_time":61,"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":"2025-11-17T05:00:29.300Z","updated_at":"2025-11-21T22:02:10.440Z","avatar_url":"https://github.com/chrislacy.png","language":"Java","funding_links":[],"categories":["开源项目学习"],"sub_categories":[],"readme":"# Tweet Lanes\n\nTweet Lanes is a fully functional Twitter client, targeted at Android devices running [API 14](http://developer.android.com/about/versions/android-4.0.html) and above. \n\n![Tweet Lanes](https://s3.amazonaws.com/tweetlanes/tweetlanes_github_promo_shot.png)\n\n[![Tweet Lanes on the Google Play Store](https://developer.android.com/images/brand/en_app_rgb_wo_60.png)](https://play.google.com/store/apps/details?id=com.tweetlanes.android)\n\n\nThis project contains the full source code to:\n\n* The Tweet Lanes client application.\n* The accompanying SocialNetLib project, which interfaces with the Twitter and App.net APIs.\n* All art resources, notably the logo and Play Store listings.\n* The App Engine project used for tweetlanes.com.\n\nThe only items used in the Play Store build of Tweet Lanes _not_ present in this repository are:\n\n* The Twitter Application consumer and secret keys.\n* The App.net consumer and secret keys.\n* The Play Store key used to sign the application.\n\n\n## Credentials\n\nTo build and use the app, you'll need to create your own Twitter application (and App.net application, if you have a developer account).\n\n### Twitter\n\n* [Create a Twitter application](https://dev.twitter.com/apps)\n* Don't worry about the callback url, just put a valid http url.\n* Once you create it, go to it's settings.\n* Inside *Application Type*:\n\n\t* Make sure _Allow this application to be used to Sign in with Twitter_ is checked\n\t* Set the _Access_ to Read, Write and Access direct messages\n\n* Now that you have the Twitter app configured, open the java file: [android/app/src/main/java/com/tweetlanes/android/core/ConsumerKeyConstants.java](https://github.com/chrislacy/TweetLanes/blob/master/android/app/src/main/java/com/tweetlanes/android/core/ConsumerKeyConstants.java) and modify your _TWITTER_CONSUMER_KEY_ and _TWITTER_CONSUMER_SECRET_ variables with the ones from your Twitter app.\n\n### App.net\n\nApp.net usage requires a similar set of steps.\n\n* [Create an App.net application](https://account.app.net/developer/app/create/)\n* Don't worry about the callback url, just put a valid http url.\n* Once you create it, go to it's settings.\n* Add the following callback URL: tweetlanes-auth-callback:///\n* Now that you have the App.net app configured, open the java file: [android/app/src/main/java/com/tweetlanes/android/core/ConsumerKeyConstants.java](https://github.com/chrislacy/TweetLanes/blob/master/android/app/src/main/java/com/tweetlanes/android/core/ConsumerKeyConstants.java) and modify your _APPDOTNET_CONSUMER_KEY_ and _APPDOTNET_CONSUMER_SECRET_ variables with the ones from your app.\n\n\n## Developed By\n* Chris Lacy - [@chrismlacy](http://twitter.com/chrismlacy), [+Chris Lacy](https://plus.google.com/104649936579980037256/posts), \u003clacy@tweetlanes.com\u003e\n\n## Credits\nTweet Lanes uses the following open-source software:\n\n* [Android-PullToRefresh](https://github.com/chrisbanes/Android-PullToRefresh), Copyright 2013 Chris Banes.\n* [AOSP](http://source.android.com/), Copyright 2008-2013 Android Open Source Project.\n* [GestureImageView](https://github.com/jasonpolites/gesture-imageview), Copyright 2012 Jason Polites.\n* [Prime](https://github.com/DHuckaby/Prime), Copyright (C) 2012 Daniel Huckaby.\n* [Twidere](https://github.com/mariotaku/twidere), Copyright (C) 2012 Mariotaku Lee.\n* [Twitter4J](https://github.com/yusuke/twitter4j), Copyright 2007-2013 Yusuke Yamamoto.\n* [UrlImageViewHelper](https://github.com/koush/UrlImageViewHelper), Copyright 2013 Koushik Dutta.\n* [ViewPagerIndicator](https://github.com/JakeWharton/Android-ViewPagerIndicator), Copyright 2012 Jake Wharton.\n* [Inscription](https://github.com/MartinvanZ/Inscription) Copyright 2012 Martin van Zuilekom.\n\n## Disclaimer\n\nA few points to considering when browsing this code:\n\n1. *Tweet Lanes was the first app I wrote in Java, as well as my first Android app.* It is both my Android and Java 'Hello World'. The project contains much code that causes me to cringe when looking at it now, but it exists because I simply didn't know better at the time of writing it. \n2. *Tweet Lanes was developed on the fly*. I often added a feature and shipped it that night. If that new code was buggy, I sometimes added a quick and dirty fix to get things going again. The intent was often to go back and clean such code up, but due to the sheer amount of work I had to do, that rarely ended up happening.\n\nIn conclusion: there is currently some dog-awful code in this project. I know this only too well. Please try not to judge my coding ability on the worst parts, but do feel free to fork 'n fix :)\n\n\n## Usage\n\n`\\android\\client` contains the bulk of the code. This project is dependent on the following libraries:\n\n* `\\android\\libraries\\SocialNetLib` - An abstracted library that interfaces with Twitter and App.net.\n\nAdditional notes: \n\n* Configuration files for Eclipse are provided. If using Eclipse/ADT, you should be able to import the client and libraries straight in. \n\n## License\n\n```\n/*\n * Copyright (C) 2013 Chris Lacy\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\n## Contributions\n\nContributions are most welcome. In fact, they are actively encouraged. \n\n[Have a read here](https://github.com/chrislacy/TweetLanes/wiki/What-needs-to-be-done) for what I consider to be the most pressing tasks in need to attention.\n\nBefore contributing please have a read of [our wiki](https://github.com/chrislacy/TweetLanes/wiki) which contains useful information to get you started and also where to send your pull requests.\n\n## Note\n\nI retain the copyright and ownership of the Tweet Lanes name. If you choose to release a fork of this code, please use a different name for your project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrislacy%2FTweetLanes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrislacy%2FTweetLanes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrislacy%2FTweetLanes/lists"}