From d485ae0fb080e7bb709bf83470f238c9f12c2f5f Mon Sep 17 00:00:00 2001 From: Bruno Tortato Furtado Date: Wed, 13 Feb 2019 12:05:19 -0200 Subject: [PATCH] [Added] Readme pt and en --- README.md | 39 ++++++++------ README_pt.md | 150 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 172 insertions(+), 17 deletions(-) create mode 100644 README_pt.md diff --git a/README.md b/README.md index 42172659..86e7d29d 100644 --- a/README.md +++ b/README.md @@ -1,28 +1,27 @@ -# Linking para Android +# Deep Linking for Android -Aplicativo Android criado para simular o envio/recebimento de dados fazendo uso do Deep Linking. +Android app created to simulate the sending/receiving of data using the Deep Linking. -## Requisitos +## Requirements - [Android Studio](https://developer.android.com/studio) - [Java 8](https://www.oracle.com/technetwork/pt/java/javase/downloads/index.html) -## Configuração do ambiente +## Steps to Run -1. Instale o JDK 8. +1. Install JDK 8. -2. Instale o Android Studio e configure um emulador. +2. Install Android Studio e configure an emulador. -3. No Android Studio, abra e rode o projeto. +3. Open the Android Studio and build. -## Integração com o Clock-In +## Clock-In Integration -### Enviando dados para realizar o login com e-mail/senha: +### Sending data to login with email/password: ```java public final class MyActivity extends AppCompatActivity { - // Ação quando usuário pressiona um botão public void sendDataToClockIn() { final Uri.Builder builder = new Uri.Builder() .scheme("clockin") @@ -54,7 +53,7 @@ public final class MyActivity extends AppCompatActivity { } ``` -### Recebendo dados da(s) última(s) batida(s): +### Receiving data from the latest clock-in(s): ```xml @@ -91,7 +90,7 @@ public final class MyActivity extends AppCompatActivity { } final String data = mManager.receivedData(intent); - intent.setData(null); // limpar intent após opter os dados + intent.setData(null); // reset the data after handled if (data == null) { return; @@ -100,7 +99,7 @@ public final class MyActivity extends AppCompatActivity { final List clockIns = serializeData(data); // ... - // manipular a lista serializada + // handle the serialized list // ... } @@ -129,16 +128,22 @@ public final class ClockInObject { } ``` -*Para obter mais detalhes sobre a implementação basta rodar o projeto.* +*For more implementation details on just build and analise the example.* -*Informações sobre a comunicação com o Clock-In podem ser obtidas na [Wiki](https://github.com/totvslabs/clockin-deep-linking-android/wiki).* +*Information about deep linking protocol can be found on [Wiki](https://github.com/totvslabs/clockin-deep-linking-android/wiki).* ## Change-log -Um breve resumo de cada versão pode ser encontrado nas [releases](https://github.com/totvslabs/clockin-deep-linking-android/releases) do projeto. +A brief summary of each release can be found on the [releases](https://github.com/totvslabs/clockin-deep-linking-android/releases) do projeto. -## Licença de uso +## License ``` © TOTVS Labs ``` + +- - - + +

+Português +

diff --git a/README_pt.md b/README_pt.md new file mode 100644 index 00000000..b1ca257a --- /dev/null +++ b/README_pt.md @@ -0,0 +1,150 @@ +# Deep Linking para Android + +Aplicativo Android criado para simular o envio/recebimento de dados fazendo uso do Deep Linking. + +## Requisitos + +- [Android Studio](https://developer.android.com/studio) +- [Java 8](https://www.oracle.com/technetwork/pt/java/javase/downloads/index.html) + +## Configuração do ambiente + +1. Instale o JDK 8. + +2. Instale o Android Studio e configure um emulador. + +3. No Android Studio, abra e rode o projeto. + +## Integração com o Clock-In + +### Enviando dados para realizar o login com e-mail/senha: + +```java +public final class MyActivity extends AppCompatActivity { + + // Ação quando usuário pressiona um botão + public void sendDataToClockIn() { + final Uri.Builder builder = new Uri.Builder() + .scheme("clockin") + .authority("login") + .appendPath("oauth2") + .appendQueryParameter("tenant", "mycompany") + .appendQueryParameter("email", "user@mycompany.com") + .appendQueryParameter("password", "MyP455w0rd") + .appendQueryParameter("appScheme", "myappscheme") + .appendQueryParameter("appName", "My App Name") + .appendQueryParameter("appIdentifier", "com.mycompany.app"); + + final Intent intent = new Intent(Intent.ACTION_VIEW, builder.build()); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + + if (!isIntentSave(intent)) { + return; + } + + startActivity(intent); + } + + private boolean isIntentSave(final Intent intent) { + final PackageManager packageManager = mContext.getPackageManager(); + List activities = packageManager.queryIntentActivities(intent, 0); + return activities.size() > 0; + } + +} +``` + +### Recebendo dados da(s) última(s) batida(s): + +```xml + + + + + + + + + + + + + + + + +``` + +```java +public final class MyActivity extends AppCompatActivity { + + @Override + protected void onResume() { + super.onResume(); + receiveDataFromClockIn(); + } + + private void receiveDataFromClockIn() { + final Intent intent = getIntent(); + if (intent == null) { + return; + } + + final String data = mManager.receivedData(intent); + intent.setData(null); // limpar intent após opter os dados + + if (data == null) { + return; + } + + final List clockIns = serializeData(data); + + // ... + // manipular a lista serializada + // ... + } + + private List serializeData(@NonNull final String data) { + final Type type = new TypeToken>(){}.getType(); + return new Gson().fromJson(data, type); + } + +} + +public final class ClockInObject { + + @SerializedName("clockinCoordinates") + private String clockinCoordinates; + + @SerializedName("deviceCode") + private String deviceCode; + + @SerializedName("employeePersonId") + private String employeePersonId; + + // ... + // getters e setters + // ... + +} +``` + +*Para obter mais detalhes sobre a implementação basta rodar o projeto.* + +*Informações sobre a comunicação com o Clock-In podem ser obtidas na [Wiki](https://github.com/totvslabs/clockin-deep-linking-android/wiki).* + +## Change-log + +Um breve resumo de cada versão pode ser encontrado nas [releases](https://github.com/totvslabs/clockin-deep-linking-android/releases) do projeto. + +## Licença de uso + +``` +© TOTVS Labs +``` + +- - - + +

+English +