Top Related Projects
:phone: The ownCloud Android App
Thunderbird for Android – Open Source Email App for Android (fka K-9 Mail)
Slide is an open-source, ad-free Reddit browser for Android.
A libre lightweight streaming front-end for Android.
Simplenote for Android
Quick Overview
PocketHub is an open-source Android application for GitHub, providing a mobile interface for managing repositories, issues, and pull requests. It offers a user-friendly way to interact with GitHub on-the-go, allowing users to stay connected with their projects and collaborators from their Android devices.
Pros
- Native Android app with a clean, intuitive interface
- Supports core GitHub features like repository management, issue tracking, and pull request reviews
- Open-source project, allowing community contributions and customizations
- Regular updates and maintenance by the community
Cons
- Limited feature set compared to the full GitHub web interface
- May not support some advanced GitHub features or integrations
- Potential for slower updates compared to official GitHub mobile apps
- Requires separate authentication and setup from official GitHub mobile apps
Getting Started
To get started with PocketHub:
-
Clone the repository:
git clone https://github.com/pockethub/PocketHub.git
-
Open the project in Android Studio.
-
Build and run the app on your Android device or emulator.
-
Log in with your GitHub credentials to start using PocketHub.
Note: As PocketHub is an Android application and not a code library, there are no code examples to provide. The project itself is the codebase for the Android app.
Competitor Comparisons
:phone: The ownCloud Android App
Pros of owncloud/android
- Focused on cloud storage and file synchronization, providing a more specialized and comprehensive solution for these tasks
- Offers integration with ownCloud servers, allowing users to set up their own private cloud infrastructure
- Supports a wider range of file operations, including sharing, moving, and editing documents
Cons of owncloud/android
- Less active community and fewer contributors compared to PocketHub
- More complex setup process, especially for users who want to host their own ownCloud server
- Limited integration with third-party services and apps
Code Comparison
owncloud/android (File upload):
private void uploadFile(OCFile file) {
Intent service = new Intent(this, FileUploader.class);
service.putExtra(FileUploader.KEY_ACCOUNT, mAccount);
service.putExtra(FileUploader.KEY_FILE, file);
startService(service);
}
PocketHub (Repository listing):
private void loadRepositories() {
service.getRepositories(user.login())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(repositories -> {
adapter.setItems(repositories);
});
}
The code snippets demonstrate the different focus areas of each project. owncloud/android emphasizes file operations, while PocketHub concentrates on GitHub-specific functionalities like repository management.
Thunderbird for Android – Open Source Email App for Android (fka K-9 Mail)
Pros of Thunderbird-Android
- More active development with frequent updates and commits
- Broader feature set, including email, calendar, and contacts management
- Larger community and user base, potentially leading to better support and resources
Cons of Thunderbird-Android
- More complex codebase due to its wider range of features
- Steeper learning curve for new contributors
- Potentially slower performance on older devices due to its comprehensive functionality
Code Comparison
Thunderbird-Android (Kotlin):
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
binding = FragmentMessageListBinding.inflate(inflater, container, false)
return binding.root
}
PocketHub (Java):
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_message_list, container, false);
}
The code snippets show a difference in language (Kotlin vs Java) and view binding approach. Thunderbird-Android uses view binding, which is more type-safe and efficient, while PocketHub uses the traditional inflate
method.
Slide is an open-source, ad-free Reddit browser for Android.
Pros of Slide
- More active development with recent commits and releases
- Broader feature set for Reddit browsing, including multi-account support
- Customizable UI with themes and layout options
Cons of Slide
- Larger codebase, potentially more complex to maintain
- Focused solely on Reddit, while PocketHub is for GitHub
Code Comparison
Slide (Java):
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_slide);
ButterKnife.bind(this);
setupAppBar(R.id.toolbar, R.string.app_name, true);
}
PocketHub (Kotlin):
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setSupportActionBar(toolbar)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
}
Both repositories use Android's activity lifecycle methods, but Slide uses ButterKnife for view binding, while PocketHub uses Kotlin's synthetic properties. Slide also includes a custom app bar setup method, indicating more complex UI customization.
A libre lightweight streaming front-end for Android.
Pros of NewPipe
- Focuses on privacy and ad-free experience for YouTube content
- Supports background playback and downloading of videos
- Lightweight and doesn't require Google Play Services
Cons of NewPipe
- Limited to YouTube-related features, not a full GitHub client
- May require more frequent updates due to YouTube API changes
- Less integrated with GitHub ecosystem
Code Comparison
NewPipe (Java):
@Override
protected void onLoadFinished() {
if (currentInfo == null) {
return;
}
super.onLoadFinished();
}
PocketHub (Java):
@Override
public void onLoadFinished(Loader<List<User>> loader, List<User> data) {
super.onLoadFinished(loader, data);
if (data == null) {
return;
}
}
Both projects use Java and implement similar loading patterns, but NewPipe focuses on video content handling while PocketHub deals with GitHub-specific data structures. NewPipe's codebase is more oriented towards media playback and streaming, while PocketHub emphasizes GitHub API integration and repository management features.
PocketHub provides a more comprehensive GitHub mobile experience, including repository browsing, issue tracking, and code viewing. NewPipe, on the other hand, excels in providing a privacy-focused, feature-rich YouTube client with additional functionality not available in the official app.
Simplenote for Android
Pros of Simplenote-android
- More active development with recent commits and releases
- Cleaner and more modern UI design
- Better documentation and contribution guidelines
Cons of Simplenote-android
- Limited to note-taking functionality, less feature-rich than PocketHub
- Smaller community and fewer contributors
Code Comparison
Simplenote-android (Kotlin):
class NoteListFragment : Fragment() {
private lateinit var viewModel: NoteListViewModel
private lateinit var adapter: NoteListAdapter
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.fragment_note_list, container, false)
}
}
PocketHub (Java):
public class RepositoryListFragment extends PagedItemFragment<Repository> {
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setEmptyText(R.string.no_repositories);
}
}
The code comparison shows that Simplenote-android uses Kotlin, a more modern language for Android development, while PocketHub uses Java. Simplenote-android's code appears more concise and follows current Android development practices. PocketHub's code, while functional, reflects an older style of Android development.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
PocketHub
This repository contains the source code for the PocketHub Android app.
This is the same repository as the now-defunct official GitHub Android app.
What's going on here?
What happened to the old app?
GitHub didn't want to maintain the app anymore, so it's been released to the community and maintained as a public project. We are actively working towards a re-release to the Play Store, and this app will be the spiritual successor to the original GitHub app.
What's PocketHub?
A name we decided that sounded good. We're a team of a few people helping organizing and prepare this.
What about the other forks out there?
They'll remain forks. Obviously we'd prefer them to focus on improving this project, but otherwise we're not coordinating anything with them.
What's the immediate plan?
We're shooting for an initial re-release just to get the app out there. There have been a significant number of changes since the app was last updated, with many functional and design changes that we need to make sure are good to go.
What's the less-immediate plan?
After the initial release, we'll start working on giving this app a proper refresh. Much of the UI has already been touched up with elements of Material Design, but we have a long ways to go. Android has changed a lot since this was actively developed, and it's time we take advantage of those changes.
How can I help?
Please see the issues section to report any bugs or feature requests and to see the list of known issues. We can't promise fast response times since we all have full time jobs of our own, but we will do our best to respond in a timely fashion. If you'd like to contribute, please fork this repository and contribute back using pull requests.
Any contributions, large or small, major features, bug fixes, additional language translations, unit/integration tests are welcomed and appreciated but will be thoroughly reviewed and discussed. Please read CONTRIBUTING.md first!
Setup Environment
- Create a GitHub application (https://github.com/settings/applications/new)
- Set the following gradle properties via one of the ways described here:
pockethub_github_client
=your_application_client_idpockethub_github_secret
=your_application_client_secretpockethub_github_callback
=your_callback_url
Callback URL
- The callback URL needs to be in the format
your_schema://whatever_you_want
- Use a custom schema like
myawesomeschema
(nothttp
orhttps
) - The schema must be lowercase (Reference)
Legacy Notes
If you had a current installation of the Github App installed and then enabled 2FA (2 Factor Authentication), then you must delete the Personal Access Token (PAT) from your configuration (via the web interface). A thanks to @landstander668 for posting this workaround.
License
Top Related Projects
:phone: The ownCloud Android App
Thunderbird for Android – Open Source Email App for Android (fka K-9 Mail)
Slide is an open-source, ad-free Reddit browser for Android.
A libre lightweight streaming front-end for Android.
Simplenote for Android
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot