Sunday, October 6, 2019
Android merupakan bukan hal yang baru bagi masyarakat, OS buatan raksasa internet saat ini yaitu GOOGLE peran nya sangat penting dalam dunia teknologi saat ini. Mulai dari pelajar sampai orang pekerja pasti bisa menjalankan sistem operasi satu ini.
kali ini saya akan membuat suatu aplikasi yang dimana berguna untuk sistem absensi siswa.
mari kita mulai.
- AndroidManifest
| androidManifest |
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.projek.rekkyar"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="KAMMI" android:roundIcon="@drawable/teamwork" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".AbsenActivity"></activity> <activity android:name=".RegisterActivity" /> <activity android:name=".LoginActivity" /> <activity android:name=".SplashActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.DETAIL" /> <category android:name="android intent.category.DETAIL" /> </intent-filter> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="MainActivity" /> </activity> </application> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.INTERNET" /> </manifest>
- MAINACTIVITY
| mainActivity |
package com.projek.rekkyar;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Layout;
import android.view.AbsSavedState;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
import com.google.firebase.auth.FirebaseAuth;
public class MainActivity extends AppCompatActivity {
private ImageView loginphoto;
private ImageView iv;
private Object ImageView;
FirebaseAuth MFirebaseAuth;
private FirebaseAuth.AuthStateListener mAuthStateListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView = (ImageView)findViewById(R.id.ivadmin);
iv =(ImageView)findViewById(R.id.ivadmin);
iv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, LoginActivity.class);
startActivity(i);
}
});
ImageView =(ImageView)findViewById(R.id.ivlogout);
iv =(ImageView)findViewById(R.id.ivlogout);
iv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FirebaseAuth.getInstance().signOut();
Intent i = new Intent(MainActivity.this, LoginActivity.class);
startActivity(i);
}
});
ImageView =(ImageView)findViewById(R.id.ivdata);
iv =(ImageView)findViewById(R.id.ivdata);
iv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, AbsenActivity.class);
startActivity(i);
}
});
}
}
- MAINXML
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
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"
android:background="@drawable/bgapps"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:layout_marginRight="20dp"
android:layout_marginLeft="20dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RECKY ARIANTO"
android:textSize="25sp"
android:textColor="#ffff"
android:textStyle="bold"
android:id="@+id/txtproject"/>
<TextView
android:text="161021450265"
android:layout_below="@+id/txtproject"
android:layout_marginTop="6dp"
android:textSize="15sp"
android:textColor="#52baff"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<ImageView
android:id="@+id/login_photo"
android:layout_width="62dp"
android:layout_height="62dp"
android:layout_alignParentRight="true"
android:src="@drawable/teamwork" />
</RelativeLayout>
<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:alignmentMode="alignMargins"
android:columnOrderPreserved="false"
android:rowCount="3"
android:columnCount="2">
<androidx.cardview.widget.CardView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
app:cardElevation="10dp"
app:cardCornerRadius="12dp"
android:layout_margin="12dp">
<LinearLayout
android:id="@+id/acadmin"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:padding="16dp">
<ImageView
android:id="@+id/ivadmin"
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/admin" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="ADMIN"
android:textColor="#6f6f6f"
android:textSize="18sp" />
</LinearLayout>
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
app:cardElevation="10dp"
app:cardCornerRadius="12dp"
android:layout_margin="12dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp"
android:gravity="center">
<ImageView
android:id="@+id/ivdata"
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/contact" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_marginTop="12dp"
android:textColor="#6f6f6f"
android:text="DATA"/>
</LinearLayout>
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
app:cardElevation="10dp"
app:cardCornerRadius="12dp"
android:layout_margin="12dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp"
android:gravity="center">
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/bookmark"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_marginTop="12dp"
android:textColor="#6f6f6f"
android:text="ADMIN"/>
</LinearLayout>
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
app:cardElevation="10dp"
app:cardCornerRadius="12dp"
android:layout_margin="12dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp"
android:gravity="center">
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/bookmark"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_marginTop="12dp"
android:textColor="#6f6f6f"
android:text="ADMIN"/>
</LinearLayout>
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
app:cardElevation="10dp"
app:cardCornerRadius="12dp"
android:layout_margin="12dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp"
android:gravity="center">
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/bookmark"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_marginTop="12dp"
android:textColor="#6f6f6f"
android:text="ADMIN"/>
</LinearLayout>
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
app:cardElevation="10dp"
app:cardCornerRadius="12dp"
android:layout_margin="12dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp"
android:gravity="center">
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/bookmark"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_marginTop="12dp"
android:textColor="#6f6f6f"
android:text="ADMIN"/>
</LinearLayout>
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
app:cardElevation="10dp"
app:cardCornerRadius="12dp"
android:layout_margin="12dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp"
android:gravity="center">
<ImageView
android:id="@+id/ivlogout"
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/bug" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_marginTop="12dp"
android:textColor="#6f6f6f"
android:text="LOGOUT"/>
</LinearLayout>
</androidx.cardview.widget.CardView>
</GridLayout>
</LinearLayout>
</ScrollView>
- LOGIN
package com.projek.rekkyar;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.Toast;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
public class LoginActivity extends AppCompatActivity {
private EditText usermail, userpass;
private Button btnlogin;
private ProgressBar loadingbar;
private FirebaseAuth mAuth;
private Intent MainActivity;
private ImageView loginPhoto;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
usermail = findViewById(R.id.editMail);
userpass = findViewById(R.id.editPass);
btnlogin = findViewById(R.id.btnlogin);
loadingbar = findViewById(R.id.loadingbar);
mAuth = FirebaseAuth.getInstance();
MainActivity = new Intent(this, com.projek.rekkyar.MainActivity.class);
loginPhoto = findViewById(R.id.login_photo);
loginPhoto.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent registerActivity = new Intent(getApplicationContext(),RegisterActivity.class);
startActivity(registerActivity);
finish();
}
});
loadingbar.setVisibility(View.INVISIBLE);
btnlogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
loadingbar.setVisibility(View.VISIBLE);
btnlogin.setVisibility(View.INVISIBLE);
final String mail = usermail.getText().toString();
final String password = userpass.getText().toString();
if (mail.isEmpty() || password.isEmpty()) {
showMessage("Please Verify All Field");
btnlogin.setVisibility(View.VISIBLE);
loadingbar.setVisibility(View.INVISIBLE);
}
else
{
signIn(mail,password);
}
}
});
}
private void signIn(String mail, String password) {
mAuth.signInWithEmailAndPassword(mail,password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
loadingbar.setVisibility(View.INVISIBLE);
btnlogin.setVisibility(View.VISIBLE);
updateUI();
}
else {
showMessage(task.getException().getMessage());
btnlogin.setVisibility(View.VISIBLE);
loadingbar.setVisibility(View.INVISIBLE);
}
}
});
}
private void updateUI() {
Toast.makeText(LoginActivity.this,"Berhasil Masuk",Toast.LENGTH_LONG).show();
startActivity(MainActivity);
finish();
}
private void showMessage(String text) {
Toast.makeText(getApplicationContext(),text,Toast.LENGTH_LONG).show();
}
@Override
protected void onStart() {
super.onStart();
FirebaseUser user = mAuth.getCurrentUser();
if(user != null) {
//user is already connected so we need to redirect him to home page
updateUI();
}
}
}
- LOGINXML
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bgapps"
tools:context=".LoginActivity">
<EditText
android:id="@+id/editMail"
android:layout_width="273dp"
android:layout_height="49dp"
android:background="@drawable/edit_text_style"
android:ems="10"
android:hint="Email"
android:inputType="textEmailAddress"
android:textColorHint="#fafafa"
app:layout_constraintBottom_toTopOf="@+id/guideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<EditText
android:id="@+id/editPass"
android:layout_width="273dp"
android:layout_height="49dp"
android:layout_marginTop="20dp"
android:background="@drawable/edit_text_style"
android:ems="10"
android:hint="Password"
android:inputType="textPassword"
android:textColorHint="#fafafa"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editMail" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_end="366dp" />
<Button
android:id="@+id/btnlogin"
android:layout_width="130dp"
android:layout_height="wrap_content"
android:layout_marginBottom="80dp"
android:text="Login"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
android:background="@drawable/edit_text_style"
android:textColor="#fafafa"/>
<ImageView
android:id="@+id/login_photo"
android:layout_width="108dp"
android:layout_height="133dp"
android:layout_marginTop="120dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/admin" />
<ProgressBar
android:id="@+id/loadingbar"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="@+id/btnlogin"
app:layout_constraintEnd_toEndOf="@+id/btnlogin"
app:layout_constraintStart_toStartOf="@+id/btnlogin"
app:layout_constraintTop_toTopOf="@+id/btnlogin" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Belum punya Akun? Klik Avatar di atas."
app:layout_constraintBottom_toTopOf="@+id/loadingbar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editPass" />
</androidx.constraintlayout.widget.ConstraintLayout>
- REGISTERJAVA
package com.projek.rekkyar;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import android.os.Bundle;
//firebase
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
public class RegisterActivity extends AppCompatActivity {
EditText usermail, userpass;
Button btnSignUp;
TextView tvSignIn;
FirebaseAuth mFirebaseAuth;
ProgressBar loadbar2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
mFirebaseAuth = FirebaseAuth.getInstance();
usermail = findViewById(R.id.editText);
userpass = findViewById(R.id.editText2);
btnSignUp = findViewById(R.id.button2);
tvSignIn = findViewById(R.id.textView);
loadbar2 = findViewById(R.id.loadbar2);
btnSignUp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String email = usermail.getText().toString();
String pwd = userpass.getText().toString();
loadbar2.setVisibility(View.VISIBLE);
btnSignUp.setVisibility(View.INVISIBLE);
if (email.isEmpty()){
usermail.setError("Please enter email id");
usermail.requestFocus();
}
else if(pwd.isEmpty()){
userpass.setError("Please enter your password");
userpass.requestFocus();
}
else if(email.isEmpty() && pwd.isEmpty()){
Toast.makeText(RegisterActivity.this,"Fields Are Empty!",Toast.LENGTH_SHORT).show();
}
else if(!(email.isEmpty() && pwd.isEmpty())){
mFirebaseAuth.createUserWithEmailAndPassword(email, pwd).addOnCompleteListener(RegisterActivity.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(!task.isSuccessful()){
Toast.makeText(RegisterActivity.this,"SignUp Unsuccessful, Please Try Again",Toast.LENGTH_SHORT).show();
}
else {
startActivity(new Intent(RegisterActivity.this,MainActivity.class));
}
}
});
}
else{
Toast.makeText(RegisterActivity.this,"Error Occurred!",Toast.LENGTH_SHORT).show();
}
}
});
tvSignIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(RegisterActivity.this,LoginActivity.class);
startActivity(i);
}
});
}
}
- REGISTERXML
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".RegisterActivity">
<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="313dp"
android:layout_marginEnd="85dp"
android:layout_marginRight="85dp"
android:layout_marginStart="84dp"
android:layout_marginLeft="84dp"
android:layout_marginTop="152dp"
android:ems="10"
android:hint="Email"
android:inputType="textEmailAddress"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginEnd="85dp"
android:layout_marginStart="85dp"
android:layout_marginTop="8dp"
android:ems="10"
android:hint="Password"
android:inputType="textPassword"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText"
app:layout_constraintVertical_bias="0.052" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="136dp"
android:layout_marginEnd="163dp"
android:layout_marginStart="163dp"
android:text="Sudah ada akun? Sign in disini"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="Sign Up"
android:textColor="#fff"
android:background="@drawable/edit_text_style"
app:layout_constraintBottom_toTopOf="@+id/textView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText2" />
<ImageView
android:id="@+id/imageView"
android:layout_width="145dp"
android:layout_height="136dp"
android:layout_marginTop="104dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/teamwork" />
<ProgressBar
android:id="@+id/loadbar2"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="@+id/button2"
app:layout_constraintEnd_toEndOf="@+id/button2"
app:layout_constraintStart_toStartOf="@+id/button2"
app:layout_constraintTop_toTopOf="@+id/button2"
app:layout_constraintVertical_bias="0.0" />
</androidx.constraintlayout.widget.ConstraintLayout>
- SPLASHJAVA
package com.projek.rekkyar;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
import android.widget.TextView;
public class SplashActivity extends AppCompatActivity {
private TextView tv;
private ImageView iv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
tv = (TextView) findViewById(R.id.tv);
iv = (ImageView) findViewById(R.id.iv);
Animation myanim = AnimationUtils.loadAnimation(this,R.anim.mytransisi);
tv.startAnimation(myanim);
iv.startAnimation(myanim);
final Intent i = new Intent(this,MainActivity.class);
Thread timer =new Thread() {
public void run () {
try{
sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
finally {
startActivity(i);
finish();
}
}
};
timer.start();
}
}
- SPLASHXML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
android:id="@+id/activity_splash"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimary"
tools:context=".SplashActivity">
<LinearLayout
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/iv"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_gravity="center"
android:src="@drawable/teamwork" />
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Rekky Project"
android:textColor="@color/putih"
android:textSize="25sp"
android:textStyle="bold" />
</LinearLayout>
</RelativeLayout>
CONTOH VIDEO
