Skip to content

Commit 076a689

Browse files
committed
commit
1 parent 13ff4dc commit 076a689

22 files changed

+380
-25
lines changed

app/build.gradle

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,16 @@ android {
3434
dependencies {
3535
implementation fileTree(dir: 'libs', include: ['*.jar'])
3636
implementation 'androidx.appcompat:appcompat:1.0.2'
37+
implementation 'com.google.android.material:material:1.1.0'
3738
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
39+
implementation 'com.google.android.material:material:1.2.1'
40+
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
3841
testImplementation 'junit:junit:4.12'
3942
androidTestImplementation 'androidx.test.ext:junit:1.1.0'
4043
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
4144
implementation 'org.springframework.android:spring-android-rest-template:1.0.1.RELEASE'
4245
implementation 'com.fasterxml.jackson.core:jackson-databind:2.3.2'
4346
// implementation 'com.google.android.gms:play-services-maps:17.0.0'
4447
implementation 'com.google.android.gms:play-services:12.0.1'
45-
}
48+
implementation 'com.google.android.material:material:1.0.0'
49+
}

app/src/main/AndroidManifest.xml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,25 @@
1515
android:supportsRtl="true"
1616
android:theme="@style/AppTheme">
1717

18-
<uses-library android:name="org.apache.http.legacy" android:required="false" />
19-
<meta-data android:name="com.google.android.geo.API_KEY"
20-
android:value="AIzaSyB6pGRqJd5r608l3gou4OIKExdWcBFtPKU"/>
18+
<uses-library
19+
android:name="org.apache.http.legacy"
20+
android:required="false" />
21+
22+
<meta-data
23+
android:name="com.google.android.geo.API_KEY"
24+
android:value="AIzaSyB6pGRqJd5r608l3gou4OIKExdWcBFtPKU" />
2125
<meta-data
2226
android:name="com.google.android.gms.version"
23-
android:value="@integer/google_play_services_version"/>
27+
android:value="@integer/google_play_services_version" />
28+
2429
<activity android:name=".MainActivity">
2530
<intent-filter>
2631
<action android:name="android.intent.action.MAIN" />
2732

2833
<category android:name="android.intent.category.LAUNCHER" />
2934
</intent-filter>
3035
</activity>
31-
<activity android:name=".MapActivity"/>
36+
<activity android:name=".MapActivity" />
3237
</application>
3338

3439
</manifest>

app/src/main/java/com/example/webapplicationwithspring/MapActivity.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,20 @@
77
import android.content.pm.PackageManager;
88
import android.os.Bundle;
99
import android.util.Log;
10+
import android.view.MenuItem;
1011
import android.widget.Toast;
1112

1213
import androidx.annotation.NonNull;
1314
import androidx.annotation.Nullable;
1415
import androidx.appcompat.app.AppCompatActivity;
1516
import androidx.core.app.ActivityCompat;
1617
import androidx.core.content.ContextCompat;
18+
import androidx.fragment.app.Fragment;
19+
1720
import com.google.android.gms.maps.GoogleMap;
1821
import com.google.android.gms.maps.OnMapReadyCallback;
1922
import com.google.android.gms.maps.SupportMapFragment;
23+
import com.google.android.material.bottomnavigation.BottomNavigationView;
2024

2125
public class MapActivity extends AppCompatActivity implements OnMapReadyCallback{
2226

@@ -25,13 +29,39 @@ public class MapActivity extends AppCompatActivity implements OnMapReadyCallbac
2529
private static final String COARSE_LOCATION = Manifest.permission.ACCESS_COARSE_LOCATION;
2630
private Boolean mLocationPermissionGranted = false;
2731
private static final int L_PERMISSION_REQUEST_CODE = 1234;
32+
33+
private BottomNavigationView.OnNavigationItemSelectedListener navListener =
34+
new BottomNavigationView.OnNavigationItemSelectedListener() {
35+
@Override
36+
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
37+
Fragment selectedFrag = null;
38+
// define the logic to switch between the fragments in navigation bar
39+
switch (item.getItemId()){
40+
case R.id.nav_events: {
41+
Toast.makeText(getApplicationContext(), "You are going to open events fragment", Toast.LENGTH_SHORT).show();
42+
break;
43+
}
44+
case R.id.nav_profile:{
45+
Toast.makeText(getApplicationContext(), "You are going to open profile fragment", Toast.LENGTH_SHORT).show();
46+
break;
47+
}
48+
case R.id.nav_map:{
49+
Toast.makeText(getApplicationContext(), "You are going to open the Map", Toast.LENGTH_SHORT).show();
50+
break;
51+
}
52+
}
53+
return true;
54+
}
55+
};
2856
private GoogleMap gMap;
2957

3058
@Override
3159
public void onCreate(@Nullable Bundle savedInstanceState){
3260
super.onCreate(savedInstanceState);
3361
setContentView(R.layout.activity_map);
3462
getLocationPermission();
63+
BottomNavigationView nView = findViewById(R.id.bottom_navigation);
64+
nView.setOnNavigationItemSelectedListener(navListener);
3565
}
3666

3767
private void initMap(){
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.example.webapplicationwithspring.ui.dashboard;
2+
3+
import android.os.Bundle;
4+
import android.view.LayoutInflater;
5+
import android.view.View;
6+
import android.view.ViewGroup;
7+
import android.widget.TextView;
8+
9+
import androidx.annotation.Nullable;
10+
import androidx.annotation.NonNull;
11+
import androidx.fragment.app.Fragment;
12+
import androidx.lifecycle.Observer;
13+
import androidx.lifecycle.ViewModelProviders;
14+
15+
import com.example.webapplicationwithspring.R;
16+
17+
public class DashboardFragment extends Fragment {
18+
19+
private DashboardViewModel dashboardViewModel;
20+
21+
public View onCreateView(@NonNull LayoutInflater inflater,
22+
ViewGroup container, Bundle savedInstanceState) {
23+
dashboardViewModel =
24+
ViewModelProviders.of(this).get(DashboardViewModel.class);
25+
View root = inflater.inflate(R.layout.fragment_dashboard, container, false);
26+
final TextView textView = root.findViewById(R.id.text_dashboard);
27+
dashboardViewModel.getText().observe(this, new Observer<String>() {
28+
@Override
29+
public void onChanged(@Nullable String s) {
30+
textView.setText(s);
31+
}
32+
});
33+
return root;
34+
}
35+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.example.webapplicationwithspring.ui.dashboard;
2+
3+
import androidx.lifecycle.LiveData;
4+
import androidx.lifecycle.MutableLiveData;
5+
import androidx.lifecycle.ViewModel;
6+
7+
public class DashboardViewModel extends ViewModel {
8+
9+
private MutableLiveData<String> mText;
10+
11+
public DashboardViewModel() {
12+
mText = new MutableLiveData<>();
13+
mText.setValue("This is dashboard fragment");
14+
}
15+
16+
public LiveData<String> getText() {
17+
return mText;
18+
}
19+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package com.example.webapplicationwithspring.ui.home;
2+
3+
import android.os.Bundle;
4+
import android.view.LayoutInflater;
5+
import android.view.View;
6+
import android.view.ViewGroup;
7+
import android.widget.TextView;
8+
9+
import androidx.annotation.Nullable;
10+
import androidx.annotation.NonNull;
11+
import androidx.fragment.app.Fragment;
12+
import androidx.lifecycle.Observer;
13+
import androidx.lifecycle.ViewModelProviders;
14+
15+
import com.example.webapplicationwithspring.R;
16+
17+
public class HomeFragment extends Fragment {
18+
/*
19+
private HomeViewModel homeViewModel;
20+
21+
public View onCreateView(@NonNull LayoutInflater inflater,
22+
ViewGroup container, Bundle savedInstanceState) {
23+
homeViewModel =
24+
ViewModelProviders.of(this).get(HomeViewModel.class);
25+
View root = inflater.inflate(R.layout.fragment_home, container, false);
26+
final TextView textView = root.findViewById(R.id.text_home);
27+
homeViewModel.getText().observe(this, new Observer<String>() {
28+
@Override
29+
public void onChanged(@Nullable String s) {
30+
textView.setText(s);
31+
}
32+
});
33+
return root;
34+
}
35+
36+
*/
37+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.example.webapplicationwithspring.ui.home;
2+
3+
import androidx.lifecycle.LiveData;
4+
import androidx.lifecycle.MutableLiveData;
5+
import androidx.lifecycle.ViewModel;
6+
7+
public class HomeViewModel extends ViewModel {
8+
9+
private MutableLiveData<String> mText;
10+
11+
public HomeViewModel() {
12+
mText = new MutableLiveData<>();
13+
mText.setValue("This is home fragment");
14+
}
15+
16+
public LiveData<String> getText() {
17+
return mText;
18+
}
19+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.example.webapplicationwithspring.ui.notifications;
2+
3+
import android.os.Bundle;
4+
import android.view.LayoutInflater;
5+
import android.view.View;
6+
import android.view.ViewGroup;
7+
import android.widget.TextView;
8+
9+
import androidx.annotation.Nullable;
10+
import androidx.annotation.NonNull;
11+
import androidx.fragment.app.Fragment;
12+
import androidx.lifecycle.Observer;
13+
import androidx.lifecycle.ViewModelProviders;
14+
15+
import com.example.webapplicationwithspring.R;
16+
17+
public class NotificationsFragment extends Fragment {
18+
19+
private NotificationsViewModel notificationsViewModel;
20+
21+
public View onCreateView(@NonNull LayoutInflater inflater,
22+
ViewGroup container, Bundle savedInstanceState) {
23+
notificationsViewModel =
24+
ViewModelProviders.of(this).get(NotificationsViewModel.class);
25+
View root = inflater.inflate(R.layout.fragment_notifications, container, false);
26+
final TextView textView = root.findViewById(R.id.text_notifications);
27+
notificationsViewModel.getText().observe(this, new Observer<String>() {
28+
@Override
29+
public void onChanged(@Nullable String s) {
30+
textView.setText(s);
31+
}
32+
});
33+
return root;
34+
}
35+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.example.webapplicationwithspring.ui.notifications;
2+
3+
import androidx.lifecycle.LiveData;
4+
import androidx.lifecycle.MutableLiveData;
5+
import androidx.lifecycle.ViewModel;
6+
7+
public class NotificationsViewModel extends ViewModel {
8+
9+
private MutableLiveData<String> mText;
10+
11+
public NotificationsViewModel() {
12+
mText = new MutableLiveData<>();
13+
mText.setValue("This is notifications fragment");
14+
}
15+
16+
public LiveData<String> getText() {
17+
return mText;
18+
}
19+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:viewportWidth="24.0"
5+
android:viewportHeight="24.0">
6+
<path
7+
android:fillColor="#FF000000"
8+
android:pathData="M3,13h8L11,3L3,3v10zM3,21h8v-6L3,15v6zM13,21h8L21,11h-8v10zM13,3v6h8L21,3h-8z" />
9+
</vector>

0 commit comments

Comments
 (0)