<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
include_once("config.php");
$postdata = file_get_contents("php://input");
if (isset($postdata)) {
$request1 = json_decode($postdata);
$email = $request1->email;
$password = $request1->password;
if( $email == '' || $password == '' ){
echo json_encode(array( "status" => "false","message" => "Parameter missing!") );
}else{
$query= "SELECT * FROM user WHERE email='$email' AND password='$password'";
$result= mysqli_query($con, $query);
if(mysqli_num_rows($result) > 0){
$query= "SELECT * FROM user WHERE email='$email' AND password='$password'";
$result= mysqli_query($con, $query);
$emparray = array();
if(mysqli_num_rows($result) > 0){
while ($row = mysqli_fetch_assoc($result)) {
$emparray[] = $row;
}
}
echo json_encode(array( "status" => "true","message" => "Login successfully!", "data" => $emparray) );
}else{
echo json_encode(array( "status" => "false","message" => "Invalid email or password!") );
}
mysqli_close($con);
}
}
} else{
echo json_encode(array( "status" => "false","message" => "Error occured, please try again!") );
}
?>
<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
include_once("config.php");
$postdata = file_get_contents("php://input");
if (isset($postdata)) {
$request1 = json_decode($postdata);
$email = $request1->email;
$username = $request1->username;
$password = $request1->password;
if($email == '' || $username == '' || $password == ''){
echo json_encode(array( "status" => "false","message" => "Parameter missing!") );
}else{
$query= "SELECT * FROM user WHERE username='$username'";
$result= mysqli_query($con, $query);
if(mysqli_num_rows($result) > 0){
echo json_encode(array( "status" => "false","message" => "Username already exist!") );
}else{
$query = "INSERT INTO user (email,username,password) VALUES ('$email','$username','$password')";
if(mysqli_query($con,$query)){
$query= "SELECT * FROM user WHERE username='$username'";
$result= mysqli_query($con, $query);
$emparray = array();
if(mysqli_num_rows($result) > 0){
while ($row = mysqli_fetch_assoc($result)) {
$emparray[] = $row;
}
}
echo json_encode(array( "status" => "true","message" => "Successfully registered!" , "data" => $emparray) );
}else{
echo json_encode(array( "status" => "false","message" => "Error occured, please try again!") );
}
}
mysqli_close($con);
}
}
} else{
echo json_encode(array( "status" => "false","message" => "Error occured, please try again!") );
}
?>
<?php
$response = array();
include_once("config.php");
if (isset($_GET["id"])) {
$id = $_GET['id'];
$query= "SELECT * FROM user WHERE id='$id'";
$result= mysqli_query($con, $query);
$emparray = array();
if(mysqli_num_rows($result) > 0){
while ($row = mysqli_fetch_assoc($result)) {
$emparray[] = $row;
echo json_encode(array( "status" => "true", "data" => $emparray) );
}
}
else{
echo json_encode(array( "status" => "false","message" => "No User Found!") );
}
}else {
echo json_encode(array( "status" => "false","message" => "Required field(s) is missing!") );
}
?>
build.gradle
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.loginregistration">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".HomeActivity">
</activity>
<activity android:name=".RegisterActivity">
</activity>
<activity android:name=".LoginActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
User.kt
package com.loginregistration
import android.os.AsyncTask
import android.util.Log
import android.widget.Toast
import org.json.JSONArray
import org.json.JSONObject
import java.io.*
import java.net.HttpURLConnection
import java.net.URL
class HttpTask(callback: (String?) -> Unit) : AsyncTask<String, Unit, String>() {
var callback = callback
override fun doInBackground(vararg params: String): String? {
val url = URL(params[1])
val httpClient = url.openConnection() as HttpURLConnection
httpClient.setReadTimeout(10*1000)
httpClient.setConnectTimeout(10*1000)
httpClient.requestMethod = params[0]
if (params[0] == "POST") {
httpClient.instanceFollowRedirects = false
httpClient.doOutput = true
httpClient.doInput = true
httpClient.useCaches = false
httpClient.setRequestProperty("Content-Type", "application/json; charset=utf-8")
}
try {
if (params[0] == "POST") {
httpClient.connect()
val os = httpClient.getOutputStream()
val writer = BufferedWriter(OutputStreamWriter(os, "UTF-8"))
writer.write(params[2])
writer.flush()
writer.close()
os.close()
}
if (httpClient.responseCode == HttpURLConnection.HTTP_OK) {
val stream = BufferedInputStream(httpClient.inputStream)
val data: String = readStream(inputStream = stream)
return data
} else {
println("ERROR ${httpClient.responseCode}")
}
} catch (e: Exception) {
e.printStackTrace()
} finally {
httpClient.disconnect()
}
return null }
fun readStream(inputStream: BufferedInputStream): String {
val bufferedReader = BufferedReader(InputStreamReader(inputStream))
val stringBuilder = StringBuilder()
bufferedReader.forEachLine { stringBuilder.append(it) }
return stringBuilder.toString()
}
override fun onPostExecute(result: String?) {
super.onPostExecute(result)
callback(result)
}
}
activity_login.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorBackground"
android:paddingBottom="20dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="20dp"
tools:context=".LoginActivity">
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/nestedScrollView">
<android.support.v7.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="40dp"
android:text="JR"
android:textSize="100sp"/>
<android.support.design.widget.TextInputLayout
android:id="@+id/textInputLayoutEmail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="40dp">
<android.support.design.widget.TextInputEditText android:id="@+id/textInputEditTextEmail" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/hint_email" android:inputType="text" android:maxLines="1" android:textColor="@android:color/white"/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout android:id="@+id/textInputLayoutPassword" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp">
<android.support.design.widget.TextInputEditText android:id="@+id/textInputEditTextPassword" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/hint_password" android:inputType="textPassword" android:maxLines="1" android:textColor="@android:color/white"/>
</android.support.design.widget.TextInputLayout>
<android.support.v7.widget.AppCompatButton android:id="@+id/appCompatButtonLogin" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="40dp" android:background="@color/colorTextHint" android:text="@string/text_login"/>
<android.support.v7.widget.AppCompatTextView android:id="@+id/textViewLinkRegister" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="30dp" android:gravity="center" android:text="@string/text_not_member" android:textSize="16dp"/>
</android.support.v7.widget.LinearLayoutCompat>
</android.support.v4.widget.NestedScrollView>
<ProgressBar android:id="@+id/progressBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@android:color/white" android:textSize="100sp" android:layout_centerInParent="true"/>
</RelativeLayout>
LoginActivity.kt
package com.loginregistration
import android.content.Intent
import android.os.AsyncTask
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.support.design.widget.Snackbar
import android.support.design.widget.TextInputEditText
import android.support.design.widget.TextInputLayout
import android.support.v4.widget.NestedScrollView
import android.support.v7.widget.AppCompatButton
import android.support.v7.widget.AppCompatTextView
import android.util.Log
import android.view.View
import android.widget.ProgressBar
import android.widget.Toast
import kotlinx.android.synthetic.main.activity_register.*
import org.json.JSONArray
import org.json.JSONObject
import java.io.*
import java.net.HttpURLConnection
import java.net.URL
class LoginActivity : AppCompatActivity(), View.OnClickListener {
private val activity = this@LoginActivity
private lateinit var nestedScrollView: NestedScrollView
private lateinit var textInputLayoutEmail: TextInputLayout
private lateinit var textInputLayoutPassword: TextInputLayout
private lateinit var textInputEditTextEmail: TextInputEditText
private lateinit var textInputEditTextPassword: TextInputEditText
private lateinit var appCompatButtonLogin: AppCompatButton
private lateinit var textViewLinkRegister: AppCompatTextView
private lateinit var inputValidation: InputValidation
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)
supportActionBar!!.hide()
initViews()
initListeners()
initObjects()
}
private fun initViews() {
val progressBar = findViewById<ProgressBar>(R.id.progressBar)
progressBar.visibility = View.INVISIBLE
nestedScrollView = findViewById<View>(R.id.nestedScrollView) as NestedScrollView
textInputLayoutEmail = findViewById<View>(R.id.textInputLayoutEmail) as TextInputLayout
textInputLayoutPassword = findViewById<View>(R.id.textInputLayoutPassword) as TextInputLayout
textInputEditTextEmail = findViewById<View>(R.id.textInputEditTextEmail) as TextInputEditText
textInputEditTextPassword = findViewById<View>(R.id.textInputEditTextPassword) as TextInputEditText
appCompatButtonLogin = findViewById<View>(R.id.appCompatButtonLogin) as AppCompatButton
textViewLinkRegister = findViewById<View>(R.id.textViewLinkRegister) as AppCompatTextView
}
private fun initListeners() {
appCompatButtonLogin!!.setOnClickListener(this)
textViewLinkRegister!!.setOnClickListener(this)
}
private fun initObjects() {
inputValidation = InputValidation(activity)
}
override fun onClick(v: View) {
when (v.id) {
R.id.appCompatButtonLogin -> verifyFromSQLite()
R.id.textViewLinkRegister -> {
val intentRegister = Intent(applicationContext, RegisterActivity::class.java)
startActivity(intentRegister)
}
}
}
private fun verifyFromSQLite() {
if (!inputValidation!!.isInputEditTextFilled(
textInputEditTextEmail!!,
textInputLayoutEmail!!,
getString(R.string.error_message_email))) {
return } else if (!inputValidation!!.isInputEditTextFilled(
textInputEditTextPassword!!,
textInputLayoutPassword!!,
getString(R.string.error_message_password))) {
return } else {
val json = JSONObject()
json.put("email", textInputEditTextEmail.text.toString())
json.put("password", textInputEditTextPassword.text.toString())
progressBar.visibility = View.VISIBLE HttpTask({ progressBar.visibility = View.INVISIBLE if (it == null) {
println("connection error")
return@HttpTask }
println(it)
val json_res = JSONObject(it)
if (json_res.getString("status").equals("true")) {
var userdata = User()
var jsonArray = JSONArray(json_res.getString("data"))
for (i in 0..(jsonArray.length() - 1)) {
val item = jsonArray.getJSONObject(i)
userdata.id = item.getString("id")
userdata.username = item.getString("username")
userdata.email = item.getString("email")
}
emptyInputEditText()
val intent = Intent(activity, HomeActivity::class.java)
intent.putExtra("id", userdata.id)
startActivity(intent)
Log.d("userdata Data:::::::", userdata.toString())
} else {
Log.d("psot Data:::::::", json_res.getString("message"))
Snackbar.make(nestedScrollView!!, json_res.getString("message"), Snackbar.LENGTH_LONG).show()
}
}).execute("POST", "http://192.168.1.111/KotlinExample/LoginRegistration/login.php", json.toString())
}
}
private fun emptyInputEditText() {
textInputEditTextEmail!!.text = null textInputEditTextPassword!!.text = null }
}
activity_register.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/colorBackground" android:paddingBottom="20dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="20dp" tools:context=".RegisterActivity">
<android.support.v4.widget.NestedScrollView android:id="@+id/nestedScrollView" android:layout_width="match_parent" android:layout_height="match_parent">
<android.support.v7.widget.LinearLayoutCompat android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical">
<android.support.v7.widget.AppCompatTextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginTop="40dp" android:text="JR" android:textSize="100sp"/>
<android.support.design.widget.TextInputLayout android:id="@+id/textInputLayoutName" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="40dp">
<android.support.design.widget.TextInputEditText android:id="@+id/textInputEditTextName" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/hint_name" android:inputType="text" android:maxLines="1" android:textColor="@android:color/white" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout android:id="@+id/textInputLayoutEmail" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp">
<android.support.design.widget.TextInputEditText android:id="@+id/textInputEditTextEmail" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/hint_email" android:inputType="text" android:maxLines="1" android:textColor="@android:color/white" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout android:id="@+id/textInputLayoutPassword" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp">
<android.support.design.widget.TextInputEditText android:id="@+id/textInputEditTextPassword" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/hint_password" android:inputType="textPassword" android:maxLines="1" android:textColor="@android:color/white" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout android:id="@+id/textInputLayoutConfirmPassword" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp">
<android.support.design.widget.TextInputEditText android:id="@+id/textInputEditTextConfirmPassword" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/hint_confirm_password" android:inputType="textPassword" android:maxLines="1" android:textColor="@android:color/white" />
</android.support.design.widget.TextInputLayout>
<android.support.v7.widget.AppCompatButton android:id="@+id/appCompatButtonRegister" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="40dp" android:background="@color/colorTextHint" android:text="@string/text_register" />
<android.support.v7.widget.AppCompatTextView android:id="@+id/appCompatTextViewLoginLink" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="30dp" android:gravity="center" android:text="Already a member? Login" android:textSize="16dp" />
</android.support.v7.widget.LinearLayoutCompat>
</android.support.v4.widget.NestedScrollView>
<ProgressBar android:id="@+id/progressBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@android:color/white" android:textSize="100sp" android:layout_centerInParent="true"/>
</RelativeLayout>
RegisterActivity.kt
package com.loginregistration
import android.os.AsyncTask
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.support.design.widget.Snackbar
import android.support.design.widget.TextInputEditText
import android.support.design.widget.TextInputLayout
import android.support.v4.widget.NestedScrollView
import android.support.v7.widget.AppCompatButton
import android.support.v7.widget.AppCompatTextView
import android.util.Log
import android.view.View
import android.widget.ProgressBar
import kotlinx.android.synthetic.main.activity_register.*
import org.json.JSONArray
import org.json.JSONObject
class RegisterActivity : AppCompatActivity(), View.OnClickListener {
private val activity = this@RegisterActivity
private lateinit var nestedScrollView: NestedScrollView
private lateinit var textInputLayoutName: TextInputLayout
private lateinit var textInputLayoutEmail: TextInputLayout
private lateinit var textInputLayoutPassword: TextInputLayout
private lateinit var textInputLayoutConfirmPassword: TextInputLayout
private lateinit var textInputEditTextName: TextInputEditText
private lateinit var textInputEditTextEmail: TextInputEditText
private lateinit var textInputEditTextPassword: TextInputEditText
private lateinit var textInputEditTextConfirmPassword: TextInputEditText
private lateinit var appCompatButtonRegister: AppCompatButton
private lateinit var appCompatTextViewLoginLink: AppCompatTextView
private lateinit var inputValidation: InputValidation
operator fun JSONArray.iterator(): Iterator<JSONObject> =
(0 until length()).asSequence().map { get(it) as JSONObject }.iterator()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_register)
val progressBar = findViewById<ProgressBar>(R.id.progressBar)
progressBar.visibility = View.INVISIBLE
supportActionBar!!.hide()
initViews()
initListeners()
initObjects()
}
private fun initViews() {
nestedScrollView = findViewById<View>(R.id.nestedScrollView) as NestedScrollView
textInputLayoutName = findViewById<View>(R.id.textInputLayoutName) as TextInputLayout
textInputLayoutEmail = findViewById<View>(R.id.textInputLayoutEmail) as TextInputLayout
textInputLayoutPassword = findViewById<View>(R.id.textInputLayoutPassword) as TextInputLayout
textInputLayoutConfirmPassword = findViewById<View>(R.id.textInputLayoutConfirmPassword) as TextInputLayout
textInputEditTextName = findViewById<View>(R.id.textInputEditTextName) as TextInputEditText
textInputEditTextEmail = findViewById<View>(R.id.textInputEditTextEmail) as TextInputEditText
textInputEditTextPassword = findViewById<View>(R.id.textInputEditTextPassword) as TextInputEditText
textInputEditTextConfirmPassword = findViewById<View>(R.id.textInputEditTextConfirmPassword) as TextInputEditText
appCompatButtonRegister = findViewById<View>(R.id.appCompatButtonRegister) as AppCompatButton
appCompatTextViewLoginLink = findViewById<View>(R.id.appCompatTextViewLoginLink) as AppCompatTextView
}
/** * This method is to initialize listeners */ private fun initListeners() {
appCompatButtonRegister!!.setOnClickListener(this)
appCompatTextViewLoginLink!!.setOnClickListener(this)
}
private fun initObjects() {
inputValidation = InputValidation(activity)
}
override fun onClick(v: View) {
when (v.id) {
R.id.appCompatButtonRegister -> postData()
R.id.appCompatTextViewLoginLink -> finish()
}
}
private fun postData() {
if (!inputValidation!!.isInputEditTextFilled(
textInputEditTextName,
textInputLayoutName,
getString(R.string.error_message_name))) {
return } else if (!inputValidation!!.isInputEditTextEmail(
textInputEditTextEmail,
textInputLayoutEmail,
getString(R.string.error_message_email))) {
return } else if (!inputValidation!!.isInputEditTextFilled(
textInputEditTextPassword,
textInputLayoutPassword,
getString(R.string.error_message_password))) {
return } else if (!inputValidation!!.isInputEditTextMatches(
textInputEditTextPassword, textInputEditTextConfirmPassword,
textInputLayoutConfirmPassword, getString(R.string.error_password_match))) {
return } else{
Snackbar.make(nestedScrollView!!, getString(R.string.success_message), Snackbar.LENGTH_LONG).show()
val json = JSONObject()
json.put("email", textInputEditTextEmail.text.toString())
json.put("username", textInputEditTextName.text.toString())
json.put("password", textInputEditTextPassword.text.toString())
progressBar.visibility = View.VISIBLE HttpTask({ progressBar.visibility = View.INVISIBLE if (it == null) {
println("connection error")
return@HttpTask }
println(it)
val json_res = JSONObject(it)
if (json_res.getString("status").equals("true")) {
Snackbar.make(nestedScrollView!!, json_res.getString("message"), Snackbar.LENGTH_LONG).show()
emptyInputEditText()
finish()
} else {
Log.d("psot Data:::::::", json_res.getString("message"))
Snackbar.make(nestedScrollView!!, json_res.getString("message"), Snackbar.LENGTH_LONG).show()
}
}).execute("POST", "http://192.168.1.111/KotlinExample/LoginRegistration/register.php", json.toString())
}
}
private fun emptyInputEditText() {
textInputEditTextName!!.text = null textInputEditTextEmail!!.text = null textInputEditTextPassword!!.text = null textInputEditTextConfirmPassword!!.text = null }
companion object {
val TAG = "RegisterActivity.." }
}
activity_home.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".HomeActivity">
<android.support.v7.widget.LinearLayoutCompat android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical">
<android.support.v7.widget.LinearLayoutCompat android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:weightSum="2">
<android.support.v7.widget.AppCompatTextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.7" android:text="User Name : " android:textColor="@color/colorBackground" android:textSize="24sp"/>
<android.support.v7.widget.AppCompatTextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1.3" android:textColor="@color/colorBackground" android:textSize="24sp" android:id="@+id/txt_userName"/>
</android.support.v7.widget.LinearLayoutCompat>
<android.support.v7.widget.LinearLayoutCompat android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:weightSum="2">
<android.support.v7.widget.AppCompatTextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.7" android:text="Email : " android:textColor="@color/colorBackground" android:textSize="24sp"/>
<android.support.v7.widget.AppCompatTextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1.3" android:textColor="@color/colorBackground" android:textSize="24sp" android:id="@+id/txt_email"/>
</android.support.v7.widget.LinearLayoutCompat>
</android.support.v7.widget.LinearLayoutCompat>
<ProgressBar android:id="@+id/progressBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="100sp" android:layout_centerInParent="true" android:background="@color/colorBackground"/>
</RelativeLayout>
HomeActivity.kt
package com.loginregistration
import android.content.Intent
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.support.design.widget.Snackbar
import android.support.v7.widget.AppCompatButton
import android.support.v7.widget.AppCompatTextView
import android.util.Log
import android.view.View
import android.widget.ProgressBar
import kotlinx.android.synthetic.main.activity_register.*
import org.json.JSONArray
import org.json.JSONObject
class HomeActivity : AppCompatActivity() {
private lateinit var txt_userName: AppCompatTextView
private lateinit var txt_email: AppCompatTextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_home)
val id = intent.getStringExtra("id")
initViews()
progressBar.visibility = View.VISIBLE HttpTask({ progressBar.visibility = View.INVISIBLE if (it == null) {
println("connection error")
return@HttpTask }
println(it)
val json_res = JSONObject(it)
if (json_res.getString("status").equals("true")) {
var userdata = User()
var jsonArray = JSONArray(json_res.getString("data"))
for (i in 0..(jsonArray.length() - 1)) {
val item = jsonArray.getJSONObject(i)
userdata.id = item.getString("id")
userdata.username = item.getString("username")
userdata.email = item.getString("email")
}
Log.d("userdata Data:::::::", userdata.toString())
txt_userName.setText(userdata.username)
txt_email.setText(userdata.email)
} else {
Log.d("psot Data:::::::", json_res.getString("message"))
Snackbar.make(nestedScrollView!!, json_res.getString("message"), Snackbar.LENGTH_LONG).show()
}
}).execute("GET", "http://192.168.1.111/KotlinExample/LoginRegistration/get_user_detail.php?id="+id)
}
private fun initViews() {
val progressBar = findViewById<ProgressBar>(R.id.progressBar)
progressBar.visibility = View.INVISIBLE
txt_userName = findViewById<View>(R.id.txt_userName) as AppCompatTextView
txt_email = findViewById<View>(R.id.txt_email) as AppCompatTextView
}
}