Anda di halaman 1dari 12

APLIKASI LOGIN

Di Buat Oleh :

NAMA : Fadil Julianto


KELAS : 2 TRPL B
NPM : 1062239
MATA KULIAH : Pemograman Aplikasi Bergerak
DOSEN PENGAJAR : Shidiq Andriyanto, S.T.,M.Kom.

POLITEKNIK MANUFAKTUR NEGERI


BANGKA BELITUNG
DAFTAR ISI
KATA PENGANTAR............................................................................................................................3
KODE......................................................................................................................................................4
HASIL...................................................................................................................................................16
KATA PENGANTAR

Puji syukur saya panjatkan ke hadirat Tuhan Yang Maha Esa atas segala limpahan rahmat,
karunia, dan bimbingan-Nya sehingga saya dapat menyelesaikan laporan ini dengan baik.
Laporan ini disusun dalam rangka memenuhi salah satu tugas mata kuliah/praktikum yang
saya ikuti.

Laporan ini berisi hasil dari kegiatan praktek yang saya laksanakan dengan tujuan untuk
mendapatkan pemahaman yang lebih baik dalam penerapan konsep-konsep teori yang telah
dipelajari di dalam kelas. Saya juga berharap bahwa laporan ini dapat memberikan gambaran
yang jelas mengenai langkah-langkah yang saya ambil, serta analisis dari hasil yang
diperoleh selama pelaksanaan praktek.

Saya menyadari bahwa laporan ini masih memiliki keterbatasan dan kekurangan. Oleh karena
itu, Saya sangat mengharapkan masukan dan kritik yang membangun guna perbaikan di masa
yang akan datang. Saya berharap laporan ini dapat memberikan manfaat dan informasi yang
berguna bagi semua pihak yang membacanya.

Akhir kata, Saya mengucapkan terima kasih kepada semua pihak yang telah memberikan
dukungan, bimbingan, dan sumbangan pemikiran dalam proses penyusunan laporan ini.
KODE

FirstFragment.java
package com.example.aplikasi_login;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.navigation.fragment.NavHostFragment;

import com.example.aplikasi_login.databinding.FragmentFirstBinding;

public class FirstFragment extends Fragment {

private FragmentFirstBinding binding;

@Override
public View onCreateView(
LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState
) {

binding = FragmentFirstBinding.inflate(inflater, container, false);


return binding.getRoot();

public void onViewCreated(@NonNull View view, Bundle


savedInstanceState) {
super.onViewCreated(view, savedInstanceState);

binding.buttonFirst.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
NavHostFragment.findNavController(FirstFragment.this)
.navigate(R.id.action_FirstFragment_to_SecondFragme
nt);
}
});
}

@Override
public void onDestroyView() {
super.onDestroyView();
binding = null;
}

LoginActivity.java
package com.example.aplikasi_login;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.navigation.fragment.NavHostFragment;

import com.example.aplikasi_login.databinding.FragmentFirstBinding;

public class FirstFragment extends Fragment {

private FragmentFirstBinding binding;

@Override
public View onCreateView(
LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState
) {

binding = FragmentFirstBinding.inflate(inflater, container, false);


return binding.getRoot();

public void onViewCreated(@NonNull View view, Bundle


savedInstanceState) {
super.onViewCreated(view, savedInstanceState);

binding.buttonFirst.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
NavHostFragment.findNavController(FirstFragment.this)
.navigate(R.id.action_FirstFragment_to_SecondFragme
nt);
}
});
}

@Override
public void onDestroyView() {
super.onDestroyView();
binding = null;
}

SecondFragment.java
package com.example.aplikasi_login;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.navigation.fragment.NavHostFragment;

import com.example.aplikasi_login.databinding.FragmentSecondBinding;

public class SecondFragment extends Fragment {

private FragmentSecondBinding binding;

@Override
public View onCreateView(
LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState
) {

binding = FragmentSecondBinding.inflate(inflater, container,


false);
return binding.getRoot();

public void onViewCreated(@NonNull View view, Bundle


savedInstanceState) {
super.onViewCreated(view, savedInstanceState);

binding.buttonSecond.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view) {
NavHostFragment.findNavController(SecondFragment.this)
.navigate(R.id.action_SecondFragment_to_FirstFragme
nt);
}
});
}

@Override
public void onDestroyView() {
super.onDestroyView();
binding = null;
}

splash_screen.java
package com.example.aplikasi_login;
import android.content.Intent;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import java.io.File;

public class SplashScreen extends AppCompatActivity {


public static final String FILENAME = "login";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash_screen);
new Handler().postDelayed (new Runnable() {
@Override
public void run() {
if (isLogin()) {
Intent intent = new Intent(SplashScreen.this,
MainActivity.class);
starActivity(intent);
} else {
Intent intent = new Intent(SplashScreen.this,
LoginActivity.class);
starActivity(intent);
}
finish();
}
}, 3000);
}
boolean isLogin(){
File sdcard = getFilesDir();
File file = new File(sdcard, FILENAME);
if (file.exists()){
return true;
}else {
return false;
}
}

activity_login.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
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="#FFF"
android:orientation="vertical"
android:padding="20dp"
tools:context=".LoginActivity">
<ImageView
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="40dp"
android:adjustViewBounds="true"
android:fitsSystemWindows="true"
android:src="@drawable/logo" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Username"
android:textColor="#000"
android:textSize="14sp" />
<EditText
android:id="@+id/editUsername"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginTop="5dp"
android:digits="ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz123
4567890"
android:inputType="textFilter"
android:textColor="#000"
android:textSize="14sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="Password"
android:textColor="#000"
android:textSize="14sp" />
<EditText
android:id="@+id/editPassword"
android:layout_width="match_parent"
android:layout_height="40dp" android:layout_marginTop="5dp"
android:inputType="textPassword"
android:textColor="#000"
android:textSize="14sp" />

<Button
android:id="@+id/action_login"
android:layout_width="match_parent" android:layout_height="40dp"
android:layout_marginTop="20dp"
android:background="@color/black"
android:text="Login"
android:textColor="#FFF"
android:textSize="16sp"
android:textStyle="bold"
/>
<Button
android:id="@+id/action_register"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginTop="20dp"
android:background="@color/black"
android:text="Register"
android:textColor="#FFF"
android:textSize="16sp" android:textStyle="bold"/>
</LinearLayout>

activity_splash_screen.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"
tools:context=".SplashScreen">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="vertical">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:fitsSystemWindows="true"
android:src="@drawable/logo" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="PROYEK 2"
android:textColor="#000"
android:textSize="30sp" />
</LinearLayout>
</RelativeLayout>

content_activity_splash_screen.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">

<fragment
android:id="@+id/nav_host_fragment_content_activity_splash_screen"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="0dp"
android:layout_height="0dp"
app:defaultNavHost="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:navGraph="@navigation/nav_graph" />
</androidx.constraintlayout.widget.ConstraintLayout>
HASIL

Anda mungkin juga menyukai