diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 041ace3..718efdc 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -17,20 +17,21 @@ android:name=".views.LoginActivity" /> - + + + + + + + - - - - - - - - + diff --git a/app/src/main/java/com/example/tampopo_client/ui/dashboard/DashboardFragment.java b/app/src/main/java/com/example/tampopo_client/ui/dashboard/DashboardFragment.java new file mode 100644 index 0000000..2dcc990 --- /dev/null +++ b/app/src/main/java/com/example/tampopo_client/ui/dashboard/DashboardFragment.java @@ -0,0 +1,37 @@ +package com.example.tampopo_client.ui.dashboard; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.lifecycle.ViewModelProvider; + +import com.example.tampopo_client.databinding.FragmentDashboardBinding; + +public class DashboardFragment extends Fragment { + + private FragmentDashboardBinding binding; + + public View onCreateView(@NonNull LayoutInflater inflater, + ViewGroup container, Bundle savedInstanceState) { + DashboardViewModel dashboardViewModel = + new ViewModelProvider(this).get(DashboardViewModel.class); + + binding = FragmentDashboardBinding.inflate(inflater, container, false); + View root = binding.getRoot(); + + final TextView textView = binding.textDashboard; + dashboardViewModel.getText().observe(getViewLifecycleOwner(), textView::setText); + return root; + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + binding = null; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/tampopo_client/ui/dashboard/DashboardViewModel.java b/app/src/main/java/com/example/tampopo_client/ui/dashboard/DashboardViewModel.java new file mode 100644 index 0000000..34b0dde --- /dev/null +++ b/app/src/main/java/com/example/tampopo_client/ui/dashboard/DashboardViewModel.java @@ -0,0 +1,19 @@ +package com.example.tampopo_client.ui.dashboard; + +import androidx.lifecycle.LiveData; +import androidx.lifecycle.MutableLiveData; +import androidx.lifecycle.ViewModel; + +public class DashboardViewModel extends ViewModel { + + private final MutableLiveData mText; + + public DashboardViewModel() { + mText = new MutableLiveData<>(); + mText.setValue("This is dashboard fragment"); + } + + public LiveData getText() { + return mText; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/tampopo_client/ui/home/HomeFragment.java b/app/src/main/java/com/example/tampopo_client/ui/home/HomeFragment.java new file mode 100644 index 0000000..e753b82 --- /dev/null +++ b/app/src/main/java/com/example/tampopo_client/ui/home/HomeFragment.java @@ -0,0 +1,37 @@ +package com.example.tampopo_client.ui.home; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.lifecycle.ViewModelProvider; + +import com.example.tampopo_client.databinding.FragmentHomeBinding; + +public class HomeFragment extends Fragment { + + private FragmentHomeBinding binding; + + public View onCreateView(@NonNull LayoutInflater inflater, + ViewGroup container, Bundle savedInstanceState) { + HomeViewModel homeViewModel = + new ViewModelProvider(this).get(HomeViewModel.class); + + binding = FragmentHomeBinding.inflate(inflater, container, false); + View root = binding.getRoot(); + + final TextView textView = binding.textHome; + homeViewModel.getText().observe(getViewLifecycleOwner(), textView::setText); + return root; + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + binding = null; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/tampopo_client/ui/home/HomeViewModel.java b/app/src/main/java/com/example/tampopo_client/ui/home/HomeViewModel.java new file mode 100644 index 0000000..317e835 --- /dev/null +++ b/app/src/main/java/com/example/tampopo_client/ui/home/HomeViewModel.java @@ -0,0 +1,19 @@ +package com.example.tampopo_client.ui.home; + +import androidx.lifecycle.LiveData; +import androidx.lifecycle.MutableLiveData; +import androidx.lifecycle.ViewModel; + +public class HomeViewModel extends ViewModel { + + private final MutableLiveData mText; + + public HomeViewModel() { + mText = new MutableLiveData<>(); + mText.setValue("This is home fragment"); + } + + public LiveData getText() { + return mText; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/tampopo_client/views/FriendActivity.java b/app/src/main/java/com/example/tampopo_client/views/FriendActivity.java index 8aae1a7..4e60537 100644 --- a/app/src/main/java/com/example/tampopo_client/views/FriendActivity.java +++ b/app/src/main/java/com/example/tampopo_client/views/FriendActivity.java @@ -2,12 +2,18 @@ import android.os.Bundle; import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; import androidx.activity.EdgeToEdge; +import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; import androidx.core.graphics.Insets; import androidx.core.view.ViewCompat; import androidx.core.view.WindowInsetsCompat; +import androidx.lifecycle.ViewModelProvider; import androidx.navigation.NavController; import androidx.navigation.Navigation; import com.example.tampopo_client.databinding.ActivityFriendBinding; @@ -31,9 +37,12 @@ // return insets; // }); // } - ActivityFriendBinding binding = ActivityFriendBinding.inflate(getLayoutInflater()); + binding = ActivityFriendBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); + Toolbar toolbar = findViewById(R.id.actionbar); + setSupportActionBar(toolbar); + BottomNavigationView navView = findViewById(R.id.nav_view); // Passing each menu ID as a set of Ids because each // menu should be considered as top level destinations. @@ -46,5 +55,4 @@ } - } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_friend.xml b/app/src/main/res/layout/activity_friend.xml index 85365a5..6f2939d 100644 --- a/app/src/main/res/layout/activity_friend.xml +++ b/app/src/main/res/layout/activity_friend.xml @@ -6,6 +6,13 @@ android:layout_height="match_parent" android:paddingTop="?attr/actionBarSize"> + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml new file mode 100644 index 0000000..f3d9b08 --- /dev/null +++ b/app/src/main/res/layout/fragment_home.xml @@ -0,0 +1,22 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_notifications.xml b/app/src/main/res/layout/fragment_notifications.xml new file mode 100644 index 0000000..d417935 --- /dev/null +++ b/app/src/main/res/layout/fragment_notifications.xml @@ -0,0 +1,22 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/navigation/mobile_navigation.xml b/app/src/main/res/navigation/mobile_navigation.xml index c32545f..4a82a18 100644 --- a/app/src/main/res/navigation/mobile_navigation.xml +++ b/app/src/main/res/navigation/mobile_navigation.xml @@ -2,12 +2,24 @@ + android:id="@+id/mobile_navigation" + app:startDestination="@+id/navigation_home"> - + + + + + \ No newline at end of file