Android studio login via github

How to use GitHub with Android Studio

Table of Contents

What to contribute

Cloning the repository

Making the change

Forking the repository

Committing and pushing the change

Creating the pull request

• over 1 year ago

Android Studio makes it easy to push changes to your favorite Open Source, professional, or personal projects on GitHub. In this tutorial, we’ll learn how to use GitHub with Android Studio. We’ll use an Open Source contribution for context.

Android developers use Open Source projects to speed up development or enable functionality that is otherwise impractical to build. Therefore it’s essential to understand how to give back and improve the Open Source projects that we use.

Requirements

Selecting project

First of all, to which Open Source project should you contribute? You can contribute to any project, but, ideally, it’s one that you know and use.

What to contribute

Sometimes, during the usage of an Open Source library, we encounter bugs that we wish were fixed and missing features that we want added. When that happens, it’s tempting to request it to the maintainer(s) and hope for the best, or even search for another library. However, it’s essential first to consider contributing with that bug fix or feature we want. It’s often not as complicated as we may think.

Alternatively, we may want to contribute to the project in general and select a request that’s made by the community. In this case, the best way to find an idea is to look through the issues list and select an issue that seems simple enough for a first contribution.

For this tutorial, I’ll fix a bug that I encountered while testing the sample app. In this case, the sample app crashed when pressing an image inside the chat, instead of showing it in full screen.

Cloning the repository

With Android Studio, you don’t need to use the terminal to contribute to an Android project on GitHub. It has native integration with git and GitHub to allow most actions via the Android Studio UI.

When you open Android Studio, it offers the option to open a project from version control. That’s the option we’ll use.

After selecting that option, you can type the URL of the repository, press «Clone», and select a folder. After that, Android Studio will do all the work and open the project ready to go.

Making the change

Initially, the default branch will be selected, but often projects have a development branch that receives the changes before merging them to master. Let’s create a branch for our change based on that development branch. That is a better practice than using the development branch directly, to not risk polluting it.

Читайте также:  Андроид все для музыкантов

To do that, click where it says «Git: [default branch]», select the development branch, click «New Branch from Selected», and choose a name for your branch.

After that, we can proceed with making the change we want. After debugging the project, I’ve identified that initializing Facebook’s Fresco library in the MessageListView class solves the issue.

Now that we fixed the issue, we’re ready to commit it and send a Pull Request to the main GitHub repository. The next step will show how to fork the repository, in case you don’t have permission to push a branch to the main repository, which is often the case if you’re not a maintainer of that project.

Forking the repository

If you’re not a maintainer of that repository, you can’t push your branch to it. You’ll need to fork it first and push the branch to your fork. To do this, go to the GitHub repository and press fork.

You’ll need the URL of your repository in the next step, as we’ll push the branch to it.

Committing and pushing the change

Now, we can commit our change. To do this, either press CMD+K (or CTRL+K on Windows), or navigate to Commit via the menu.

Review your changes in the screen provided, write a descriptive commit message, press the arrow on the «Commit» button, and select «Commit and push». That will take you to the screen where you’ll choose which repository the branch will be uploaded. If you’re a maintainer of the origin remote, you can press «Push» and skip to «Creating the pull request».

If you’re not a maintainer, you should press the «origin» label, which will allow you to define a new remote repository. After that, you still need to select the proper remote and press the «Push» button.

If you’re not yet authenticated, Android Studio will ask for your GitHub credentials.

After you authenticate, Android Studio will send the changes to your remote repository.

Creating the pull request

Now, go to your repository page on GitHub, and you’ll see a prompt to open a Pull Request with your newly pushed branch.

When you press that, it will take you to a Pull Request composer. Generally, it will already contain a template that you can follow to describe your PR and some instructions that you need to follow. Also, don’t forget to check out the contribution guidelines of the project if it has one.

Usually, GitHub will pick the master branch as a base, so don’t forget to switch it to the development branch, if it exists, as the image shows.

Wrapping up

Congratulations! You just learned how to contribute to an Open Source project using GitHub and Android Studio, without having to touch the command-line interface. After you’ve sent your Pull Request, the project’s maintainers will review it and ask for changes if needed, in which case you can follow the «Committing and pushing the change» step again.

At Stream, we have many Open Source Android projects in Kotlin and Java, and we’re happy to receive and help you with your contributions.

Источник

This article is for github beginners or for those who find it difficult to upload android projects on github.

Visit this official site to download git on your computer. Once you do that, you can start using it with android studio.

Читайте также:  Темы для телеги андроид

2. Enable Version Control Integration on android studio

> On doing this,you will notice that all your files will turn red.

Now ,go to VCS>Import into Version Control>Share project on Github

Now give a name to your repository and write a description if you want.

4. Push your project files on Github

Now select the files you want to share and press Ok . You can also write a specific commit message and after you do so,all your files will turn white.

Your project is now under version control and shared on Github ,you can start making changes to commit and push. You can see I added a new ImageView reference to the MainActivity.java . Notice that after I made the change, the MainActivity.java file turned blue. That means the file now has uncommitted changes (and it doesn’t match the file in the Github repository).

Its upto you now when you want to do commit and push. You can do it after every new change or after a lot of changes.

To commit and push,go to Menu>VCS(with green up arrow)

After that,you will see a commit changes window and you have to write a commit message (mandatory) and then press on commit and push.

After that,you will see another push window. Just press on push button and all your changes will be reflected in you repository.

Congratulations on setting up your first project with version control . Yayyyyy.

I am a recipitentof Udacity’s Google India challenge scholarship and I wrote this article to help my peers. Do clap if you find this useful.

Источник

Add GitHub Login to an Android App

Or how I figured out dealing with incomplete documentation

I’m currently searching for a job as a Mobile Developer in the Geneva area so I’m applying to all sorts of positions and companies. One of them asked me to make a simple app that can browse a user’s repositories on GitHub, including authentication so you can see your own private repos (did you know we now have unlimited private repos for free on GitHub!). Here’s the finished code if you just want to have a look, but otherwise read on to see the necessary steps:

adriantache/GitHubExplorer

Explore repositories and download files. Contribute to adriantache/GitHubExplorer development by creating an account on…

I have to preface this by saying that before this assignment I really had no idea how to use OAuth and I’ve only sent simple GET requests to APIs. I’m sure that for some people this article is just a whole lot of duh! but for me it was a learning experience and so I wanted to share it.

The first thing I did to start this app was, of course, to consult the GitHub API documentation:

GitHub API v3

Get started with one of our guides, or jump straight into the API documentation.

The documentation exposes two main endpoints to get a list of repos:

So let’s start with the simple use case:

Getting Public Repos

This is as easy as making a get request to the API and decoding the response. I’ve used OKHTTP inside an AsyncTask to make the request and then I simply decode it into an ArrayList of repo names (code is shortened and simplified):

Читайте также:  Haier android smart tv kit завис

Getting Private Repos (Basic Authentication)

In order to get private repos we have to log in, of course. And this is where the confusion started for me. The documentation talks a lot about OAuth2 and tokens and secrets and the only examples they give are using curl . So I started searching the documentation and then online and lo and behold, Basic Authentication is a technical term! To summarize, basic authentication is essentially sending an Authorization header which contains the string Basic followed by a base64 encode of :.

So here’s how the code changes:

As you can see, not much changes, we simply change the endpoint and add that authorization header.

Getting Private Repos (Two Factor Authentication — OAuth2 Token)

This is where things get a bit more complex. The process itself isn’t too complicated once you understand how it works, which is like this: if 2FA is active, when you try to log in using basic authentication the API returns a 401 response and the error message Must specify two-factor authentication OTP code. At that point, if SMS 2FA is active, the platform should send out a OTP SMS to the user containing the code. Please note, however, that SMS 2FA for GitHub is finicky and might not work at all in some countries!

So to detect that we add the following in our try block in doInBackground :

Since we’ve returned this we ask the user for their 2FA password. Technically speaking that’s all we need to access their repos list, but if we want to do more than that we need to acquire an authorization token from GitHub. For this, we need to send a login request to the authorizations endpoint:

In order to request an authorization we must send a POST request in which we specify as JSON a title for the authorization. I found the easiest way to do this without using a try/catch block is by creating the JSON object from a HashMap. So we add this to the doInBackground method of the AsyncTask:

If the authentication is successful, the API will reply with a JSON containing a token field with our authentication token. I have made a method to extract it and save it to SharedPreferences for easy access:

Afterwards, we can login as we do with Basic Authentication, the only difference being that instead of sending a header that contains:

we send one that contains “token” instead of “Basic”, followed by the token of our authorization:

And since I’m saving the token as SharedPreferences, we can easily check if we have a token for a certain username by using contains :

And that’s it, we now have full access to the GitHub API! If you have any questions make sure to have a look at the full code on my GitHub page using the link at the top of the article or just leave a comment below!

Thanks for reading this article. You can connect with me on LinkedIn.

I’m currently looking for a job in the Geneva area , Switzerland, so please contact me if you know someone in need of a Mobile Developer with Java/Kotlin (Android) and JavaScript (React Native Android/iOS) experience.

If you liked this article, please hit the clap icon 👏 to show your support.

Источник

Оцените статью