Created Login with Retrofit and store Token (with exceptions)
This commit is contained in:
parent
d66ecc43b7
commit
e6834a18e6
@ -45,4 +45,7 @@ dependencies {
|
|||||||
implementation 'androidx.navigation:navigation-ui-ktx:2.2.2'
|
implementation 'androidx.navigation:navigation-ui-ktx:2.2.2'
|
||||||
implementation "android.arch.navigation:navigation-fragment-ktx:2.2.2"
|
implementation "android.arch.navigation:navigation-fragment-ktx:2.2.2"
|
||||||
implementation "android.arch.navigation:navigation-ui-ktx:2.2.2"
|
implementation "android.arch.navigation:navigation-ui-ktx:2.2.2"
|
||||||
|
|
||||||
|
implementation 'com.squareup.retrofit2:retrofit:2.1.0'
|
||||||
|
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="de.hft.geotracker">
|
package="de.hft.geotracker">
|
||||||
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
@ -9,6 +10,7 @@
|
|||||||
android:roundIcon="@mipmap/ic_launcher_round"
|
android:roundIcon="@mipmap/ic_launcher_round"
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/AppTheme">
|
android:theme="@style/AppTheme">
|
||||||
|
|
||||||
<activity android:name=".Register"></activity>
|
<activity android:name=".Register"></activity>
|
||||||
<activity
|
<activity
|
||||||
android:name=".Settings"
|
android:name=".Settings"
|
||||||
|
@ -0,0 +1,15 @@
|
|||||||
|
package de.hft.geotracker
|
||||||
|
|
||||||
|
import retrofit2.Call
|
||||||
|
import retrofit2.http.GET
|
||||||
|
import retrofit2.http.Path
|
||||||
|
import retrofit2.http.Query
|
||||||
|
|
||||||
|
interface GeofenceService {
|
||||||
|
@GET("/login?username=user&password=pw")
|
||||||
|
fun login(@Query("user") user : String,
|
||||||
|
@Query("pw") password : String) : Call<String>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
3
android/app/src/main/java/de/hft/geotracker/JWToken.kt
Normal file
3
android/app/src/main/java/de/hft/geotracker/JWToken.kt
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
package de.hft.geotracker
|
||||||
|
|
||||||
|
data class JWToken (var token : String)
|
@ -5,6 +5,17 @@ import android.os.Bundle
|
|||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
|
import kotlinx.coroutines.CoroutineScope
|
||||||
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
|
import kotlinx.coroutines.withContext
|
||||||
|
import okhttp3.OkHttpClient
|
||||||
|
import retrofit2.Call
|
||||||
|
import retrofit2.Callback
|
||||||
|
import retrofit2.Response
|
||||||
|
import retrofit2.Retrofit
|
||||||
|
import retrofit2.converter.gson.GsonConverterFactory
|
||||||
|
import java.net.HttpRetryException
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A simple [Fragment] subclass.
|
* A simple [Fragment] subclass.
|
||||||
@ -12,9 +23,18 @@ import androidx.appcompat.app.AppCompatActivity
|
|||||||
class Login : AppCompatActivity() {
|
class Login : AppCompatActivity() {
|
||||||
lateinit var login : TextView
|
lateinit var login : TextView
|
||||||
lateinit var reg : TextView
|
lateinit var reg : TextView
|
||||||
|
lateinit var service : GeofenceService
|
||||||
|
lateinit var token : JWToken
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
setContentView(R.layout.activity_login)
|
setContentView(R.layout.activity_login)
|
||||||
|
|
||||||
|
val retrofit = Retrofit.Builder()
|
||||||
|
.baseUrl("http://localhost:5000")
|
||||||
|
.addConverterFactory(GsonConverterFactory.create())
|
||||||
|
.build()
|
||||||
|
service = retrofit.create(GeofenceService::class.java)
|
||||||
|
|
||||||
login = findViewById(R.id.button_create_account)
|
login = findViewById(R.id.button_create_account)
|
||||||
login.setOnClickListener {
|
login.setOnClickListener {
|
||||||
login()
|
login()
|
||||||
@ -31,7 +51,24 @@ class Login : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun login() {
|
private fun login() {
|
||||||
val intent = Intent(this, MainActivity::class.java)
|
var call : Call<String> = service.login("wito","tobias")
|
||||||
startActivity(intent)
|
call.enqueue(object : Callback<String> {
|
||||||
|
override fun onResponse(call: Call<String>?, response: Response<String>?) {
|
||||||
|
if(response != null && response.isSuccessful) {
|
||||||
|
response.body()
|
||||||
|
token = JWToken(call.toString())
|
||||||
|
println("Erfolg")
|
||||||
|
} else {
|
||||||
|
println("Fehler1")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onFailure(call: Call<String>?, t: Throwable?) {
|
||||||
|
println("Fehler2 ${t.toString()}")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// var token = call.execute().body()
|
||||||
|
// val intent = Intent(this, MainActivity::class.java)
|
||||||
|
// startActivity(intent)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user