Skip to content

Instantly share code, notes, and snippets.

View webserveis's full-sized avatar

Webserveis webserveis

View GitHub Profile
@webserveis
webserveis / MainActivity.kt
Created January 19, 2020 22:37
Show app usage with UsageStatsManager
import android.Manifest
import android.app.AppOpsManager
import android.app.usage.StorageStats
import android.app.usage.StorageStatsManager
import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
import android.os.Build
import android.os.Bundle
import android.os.Process
@webserveis
webserveis / MainActivity.kt
Last active January 6, 2020 12:06
Custom List with section
package app.webserveis.testlist
import android.os.Bundle
import android.util.Log
import android.view.Menu
import android.view.MenuItem
import android.view.View
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
@webserveis
webserveis / readme.md
Created December 4, 2019 17:08
Crear un splashscreen en kotlin Android

Splash Screen en Android

Crear una pantalla de bienvenida (splashscreen) para nuestras apps

Recursos

Icono de la palicación app\src\main\res\mipmap-xhdpi\ic_launcher.png Crear una fondo de pantalla de tamaño 720x1280 (xhdpi) Escoger un color de fondo, por ejemplo #465f7e Centrar el icono a la imágen y guardarla en app\src\main\res\drawable-xhdpi\splashscreen.png

Preparativos

@webserveis
webserveis / MyKotlinExt.kt
Last active April 26, 2021 20:44
Componente Navigation de Arquitectura de componentes de Google
import android.content.Context
import android.os.Bundle
import android.widget.Toast
import androidx.annotation.IdRes
import androidx.annotation.StringRes
import androidx.navigation.NavController
import androidx.navigation.NavOptions
import androidx.navigation.Navigator
@webserveis
webserveis / MainActivity.kt
Created November 27, 2019 16:59
Test Retrofit
class MainActivity : AppCompatActivity() {
companion object {
val TAG: String = MainActivity::class.java.simpleName
}
private val mViewModel: MyViewModel by lazy {
ViewModelProviders.of(this).get(MyViewModel::class.java)
}
@webserveis
webserveis / BaseViewHolder.kt
Created November 9, 2019 18:54
RecyclerView con secciones
abstract class BaseViewHolder<T>(itemView: View) : RecyclerView.ViewHolder(itemView) {
abstract fun bind(item: T)
}
@webserveis
webserveis / MainActivity.kt
Last active October 19, 2023 21:36
Implementar click RecyclerView Kotlin AndroidX
val mAdapter = MySimpleAdapter(dummyData())
recycler_view.setHasFixedSize(true)
recycler_view.layoutManager = LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)
recycler_view.adapter = mAdapter
mAdapter.setOnItemClickListener(object : MySimpleAdapter.ClickListener {
override fun onItemClick(v: View, position: Int) {
Log.v(TAG, "onItemClick ${position}")
@webserveis
webserveis / MainActivity.kt
Last active March 21, 2020 10:44
Simple RecyclerView Kotlin AndroidX
initRecyclerView()
...
private fun initRecyclerView() {
val mAdapter = MySimpleAdapter(dummyData())
recycler_view.setHasFixedSize(true)
recycler_view.layoutManager = LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)
recycler_view.adapter = mAdapter
}
private fun dummyData() = listOf(
@webserveis
webserveis / MainActivity.kt
Last active September 3, 2019 21:14
Resource Design Pattern
class MainActivity : AppCompatActivity() {
companion object {
val TAG: String = MainActivity::class.java.simpleName
}
private val mViewModel: IpInfoViewModel by lazy {
ViewModelProviders.of(this).get(IpInfoViewModel::class.java)
}
@webserveis
webserveis / BatteryInfo.kt
Last active January 6, 2025 08:12
Ejemplo de cómo usar la batería en Android con Kotlin
package com.webserveis.batterycheck
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.os.BatteryManager
import android.os.Build
import android.os.Bundle
import android.util.Log