- Add the API key to your
local.propertiesfile:
apiKey=<value>- Add to the root level of your app-level
build.gradlefile:
| # This file contains the fastlane.tools configuration | |
| # You can find the documentation at https://docs.fastlane.tools | |
| # | |
| # For a list of all available actions, check out | |
| # | |
| # https://docs.fastlane.tools/actions | |
| # | |
| # Uncomment the line if you want fastlane to automatically update itself | |
| # update_fastlane |
| package com.common.utils | |
| import org.koin.KoinContext | |
| import org.koin.standalone.StandAloneContext | |
| import kotlin.jvm.internal.Reflection | |
| /** | |
| * @author @fredy_mederos | |
| */ |
| /** | |
| * (C) Copyright 2018 Paulo Vitor Sato Open Source Project | |
| * | |
| * Licensed under the Apache License, Version 2.0 (the "License"); | |
| * you may not use this file except in compliance with the License. | |
| * You may obtain a copy of the License at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, software |
| package com.common.utils | |
| import org.koin.KoinContext | |
| import org.koin.standalone.StandAloneContext | |
| import kotlin.jvm.internal.Reflection | |
| /** | |
| * @author @fredy_mederos | |
| */ |
| package com.ubiqueworks.android.security; | |
| import android.annotation.SuppressLint; | |
| import android.annotation.TargetApi; | |
| import android.content.Context; | |
| import android.content.SharedPreferences; | |
| import android.os.Build; | |
| import android.security.KeyPairGeneratorSpec; | |
| import android.security.keystore.KeyGenParameterSpec; | |
| import android.security.keystore.KeyProperties; |
| import android.app.Activity; | |
| import android.content.Context; | |
| import android.graphics.Rect; | |
| import android.view.View; | |
| import android.view.inputmethod.InputMethodManager; | |
| public class KeyboardUtils { | |
| public static void hideKeyboard(Activity activity) { | |
| View view = activity.findViewById(android.R.id.content); |
| package apptest.realm.io.androidmtest; | |
| import android.Manifest; | |
| import android.content.pm.PackageManager; | |
| import android.os.Bundle; | |
| import android.os.Environment; | |
| import android.support.design.widget.FloatingActionButton; | |
| import android.support.design.widget.Snackbar; | |
| import android.support.v4.app.ActivityCompat; | |
| import android.support.v4.content.ContextCompat; |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| /* | |
| * Copyright 2014 Chris Banes | |
| * | |
| * Licensed under the Apache License, Version 2.0 (the "License"); | |
| * you may not use this file except in compliance with the License. | |
| * You may obtain a copy of the License at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, software |