Skip to content

Instantly share code, notes, and snippets.

@gcherubini
gcherubini / HomeActivity.kt
Last active October 11, 2017 02:35
Simplifying Android activities with Kotlin - Btn Send optimized
private fun btnSendActions(binding: ActivityHomeBinding) {
if (binding?.editTextUserName?.text?.toString()?.isNotBlank()!!) {
moveForward(WelcomeActivity(), EXTRA_PARAM_USER_NAME, binding.editTextUserName.text.toString())
}
else showAlertDialog("Please, fill input correctly.")
}
@gcherubini
gcherubini / HomeActivity.kt
Last active October 7, 2017 22:01
Simplifying Android activities with Kotlin - Btn Send Actions
private fun btnSendActions(binding: ActivityHomeBinding) {
if (binding?.editTextUserName?.text?.toString()?.isNotBlank()!!) {
val intent = Intent(this, WelcomeActivity().javaClass)
intent.putExtra(EXTRA_PARAM_USER_NAME, binding.editTextUserName.text.toString())
startActivity(intent)
return
}
val alert = AlertDialog.Builder(this).create()
alert.setMessage("Please, fill input correctly.")
@gcherubini
gcherubini / JavaCondition.java
Created October 9, 2017 22:19
Simplifying Android activities with Kotlin - Java validation
if ( binding != null
&& binding.editTextUserName != null
&& binding.editTextUserName.getText() != null
&& binding.editTextUserName.getText().toString() != null
&& binding.editTextUserName.getText().toString().length() > 0 )
@gcherubini
gcherubini / ActivityExtensions.kt
Created October 9, 2017 22:49
Simplifying Android activities with Kotlin - Activity Extensions
fun Activity.moveForward(activity: Activity, param: String, paramValue: String) {
val intent = Intent(this, activity.javaClass)
if(paramValue != null) { intent.putExtra(param, paramValue) }
startActivity(intent)
}
fun Activity.showAlertDialog(message: String) {
val alert = AlertDialog.Builder(this).create()
alert.setMessage(message)
alert.setButton(Dialog.BUTTON_POSITIVE, "OK") { _, _ -> alert.dismiss() }
@gcherubini
gcherubini / activity_welcome.xml
Last active October 25, 2017 00:57
Simplifying Android activities with Kotlin - Welcome Raw
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="user"
type="com.gcherubini.model.User" />
</data>
@gcherubini
gcherubini / User.kt
Created October 11, 2017 03:07
Simplifying Android activities with Kotlin - User data model
data class User ( val name: String )
@gcherubini
gcherubini / Let.kt
Last active October 21, 2017 20:42
Simplifying Android activities with Kotlin - Let sample
val bread = "bread"
val myNewBread = bread?.let { "Brand new $it" }
print(myNewBread)
@gcherubini
gcherubini / WelcomeActivity.kt
Last active October 25, 2017 01:03
Simplifying Android activities with Kotlin - Getting Extra Param for Welcome Activity (Let function)
intent?.extras?.getString(EXTRA_PARAM_USER_NAME)?.let {
binding?.user = User(it)
}
@gcherubini
gcherubini / WelcomeActivity.java
Last active October 25, 2017 01:05
Simplifying Android activities with Kotlin - Getting Extra Param for Welcome Activity with Java
if(getIntent() != null
&& getIntent().getExtras() != null
&& getIntent().getExtras().getString(EXTRA_PARAM_USER_NAME) != null
&& binding != null) {
User user = new User(getIntent().getExtras().getString(EXTRA_PARAM_USER_NAME));
binding.setUser(user);
}
@gcherubini
gcherubini / HomeActivity.kt
Created October 25, 2017 01:43
Simplifying Android activities with Kotlin - Null conditions
if (binding?.editTextUserName?.text?.toString()?.isNotBlank()!!)