Skip to content

Commit 81c2870

Browse files
committed
commit
1 parent 076a689 commit 81c2870

21 files changed

+286
-234
lines changed

app/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,8 @@ dependencies {
4646
// implementation 'com.google.android.gms:play-services-maps:17.0.0'
4747
implementation 'com.google.android.gms:play-services:12.0.1'
4848
implementation 'com.google.android.material:material:1.0.0'
49+
implementation 'org.jetbrains:annotations-java5:15.0'
50+
implementation 'com.android.volley:volley:1.1.0'
51+
implementation 'com.google.code.gson:gson:2.8.6'
52+
4953
}

app/src/main/AndroidManifest.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
99

1010
<application
11+
android:networkSecurityConfig="@xml/network_security_config"
12+
android:usesCleartextTraffic="true"
1113
android:allowBackup="true"
1214
android:icon="@mipmap/ic_launcher"
1315
android:label="@string/app_name"
@@ -34,6 +36,7 @@
3436
</intent-filter>
3537
</activity>
3638
<activity android:name=".MapActivity" />
39+
<activity android:name=".EventsActivity"/>
3740
</application>
3841

3942
</manifest>
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
package com.example.webapplicationwithspring;
2+
3+
import android.os.AsyncTask;
4+
5+
import com.google.gson.JsonObject;
6+
7+
import org.json.JSONArray;
8+
import org.json.JSONException;
9+
import org.json.JSONObject;
10+
11+
import java.io.BufferedReader;
12+
import java.io.IOException;
13+
import java.io.InputStream;
14+
import java.io.InputStreamReader;
15+
import java.net.HttpURLConnection;
16+
import java.net.MalformedURLException;
17+
import java.net.URL;
18+
19+
import javax.net.ssl.HttpsURLConnection;
20+
21+
public class EventData extends AsyncTask<Void,Void,Void> {
22+
String data = "";
23+
String parsed = "";
24+
@Override
25+
protected Void doInBackground(Void... voids) {
26+
try {
27+
URL url = new URL("http://192.168.0.119:8080/eventsList");
28+
29+
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
30+
InputStream inputStream = connection.getInputStream();
31+
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
32+
String line = "";
33+
while (line != null){
34+
line = bufferedReader.readLine();
35+
data += line;
36+
}
37+
JSONArray ja = new JSONArray(data);
38+
for(int i = 0; i < ja.length();i ++){
39+
JSONObject jo = (JSONObject) ja.get(i);
40+
parsed += "EventName " + jo.get("eventName") + "\n" +
41+
"eventData " + jo.get("eventDate") + "\n" +
42+
"eventDescription " + jo.get("eventDescription") + "\n" +
43+
"eventPlace " + jo.get("eventPlace") + "\n";
44+
45+
}
46+
} catch (MalformedURLException e){
47+
e.printStackTrace();
48+
} catch (IOException e){
49+
e.printStackTrace();
50+
} catch (JSONException e) {
51+
e.printStackTrace();
52+
}
53+
return null;
54+
}
55+
56+
@Override
57+
protected void onPostExecute(Void aVoid) {
58+
super.onPostExecute(aVoid);
59+
60+
EventsActivity.eventData.setText(parsed);
61+
}
62+
}
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
package com.example.webapplicationwithspring;
2+
3+
import android.content.Context;
4+
import android.content.Intent;
5+
import android.os.Bundle;
6+
import android.util.Log;
7+
import android.view.MenuItem;
8+
import android.widget.ScrollView;
9+
import android.widget.TextView;
10+
import android.widget.Toast;
11+
12+
import androidx.annotation.NonNull;
13+
import androidx.annotation.Nullable;
14+
import androidx.appcompat.app.AppCompatActivity;
15+
import androidx.constraintlayout.widget.ConstraintLayout;
16+
17+
import com.android.volley.Request;
18+
import com.android.volley.RequestQueue;
19+
import com.android.volley.Response;
20+
import com.android.volley.VolleyError;
21+
import com.android.volley.toolbox.JsonArrayRequest;
22+
import com.android.volley.toolbox.JsonObjectRequest;
23+
import com.android.volley.toolbox.Volley;
24+
import com.google.android.material.bottomnavigation.BottomNavigationView;
25+
26+
import org.json.JSONArray;
27+
import org.json.JSONException;
28+
import org.json.JSONObject;
29+
30+
import java.net.MalformedURLException;
31+
32+
public class EventsActivity extends AppCompatActivity {
33+
public static TextView eventData;
34+
private ScrollView scrollView;
35+
// url for local server
36+
private String url = "http://192.168.0.119:8080/eventsList";
37+
// this will switch between items in the navigation bar
38+
private BottomNavigationView.OnNavigationItemSelectedListener navListener =
39+
new BottomNavigationView.OnNavigationItemSelectedListener() {
40+
@Override
41+
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
42+
43+
/* define the logic to switch between the fragments in navigation bar */
44+
switch (item.getItemId()){
45+
case R.id.nav_events: {
46+
Toast.makeText(getApplicationContext(), "You are going to open events fragment", Toast.LENGTH_SHORT).show();
47+
break;
48+
}
49+
case R.id.nav_profile:{
50+
51+
Toast.makeText(getApplicationContext(), "You are going to open profile fragment", Toast.LENGTH_SHORT).show();
52+
break;
53+
}
54+
case R.id.nav_map:{
55+
// when we meet new item to be selected we switch to new activity
56+
Toast.makeText(getApplicationContext(), "You are already in the Map", Toast.LENGTH_SHORT).show();
57+
startActivity(new Intent(getApplicationContext(), MapActivity.class));
58+
overridePendingTransition(0,0);
59+
break;
60+
}
61+
}
62+
return true;
63+
}
64+
};
65+
66+
@Override
67+
public void onCreate(@Nullable Bundle savedInstanceState){
68+
super.onCreate(savedInstanceState);
69+
setContentView(R.layout.activity_events);
70+
eventData = (TextView) findViewById(R.id.event_data);
71+
scrollView = (ScrollView) findViewById(R.id.scroll_view);
72+
RequestQueue requestQueue = Volley.newRequestQueue(this);
73+
final TextView tv = new TextView(this);
74+
tv.setLayoutParams(new ConstraintLayout.LayoutParams(ConstraintLayout.LayoutParams.MATCH_PARENT,
75+
ConstraintLayout.LayoutParams.WRAP_CONTENT));
76+
JsonArrayRequest objectRequest = new JsonArrayRequest(
77+
Request.Method.GET,
78+
url,
79+
null,
80+
new Response.Listener<JSONArray>() {
81+
@Override
82+
public void onResponse(JSONArray response) {
83+
try {
84+
for (int i = 0; i < response.length(); i++) {
85+
JSONObject jo = (JSONObject) response.get(i);
86+
String eventName = jo.getString("eventName");
87+
String eventDate = jo.getString("eventDate");
88+
String eventDescription = jo.getString("eventDescription");
89+
String eventPlace = jo.getString("eventPlace");
90+
eventData.append(eventName + " at " + eventDate + " there will be " + eventDescription + " in " + eventPlace);
91+
92+
93+
}
94+
} catch (JSONException e) {
95+
e.printStackTrace();
96+
}
97+
}
98+
},
99+
new Response.ErrorListener() {
100+
@Override
101+
public void onErrorResponse(VolleyError error) {
102+
Toast.makeText(EventsActivity.this, error.toString(), Toast.LENGTH_SHORT).show();
103+
Log.d("EventSSS",error.toString());
104+
}
105+
}
106+
);
107+
requestQueue.add(objectRequest);
108+
// set the bottom navigation bar to switch between activities
109+
BottomNavigationView nView = findViewById(R.id.bottom_navigation_for_events);
110+
nView.setOnNavigationItemSelectedListener(navListener);
111+
nView.setSelectedItemId(R.id.nav_events);
112+
}
113+
}

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

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package com.example.webapplicationwithspring;
22

3-
import androidx.appcompat.app.AppCompatActivity;
4-
53
import android.app.Dialog;
64
import android.content.Intent;
75
import android.os.Bundle;
@@ -10,6 +8,8 @@
108
import android.widget.Button;
119
import android.widget.Toast;
1210

11+
import androidx.appcompat.app.AppCompatActivity;
12+
1313
import com.google.android.gms.common.ConnectionResult;
1414
import com.google.android.gms.common.GoogleApiAvailability;
1515
import com.google.android.gms.maps.GoogleMap;
@@ -24,6 +24,14 @@ protected void onCreate(Bundle savedInstanceState) {
2424
super.onCreate(savedInstanceState);
2525
setContentView(R.layout.activity_main);
2626

27+
Button buttonEvent = (Button) findViewById(R.id.btnEvents);
28+
buttonEvent.setOnClickListener(new View.OnClickListener() {
29+
@Override
30+
public void onClick(View v) {
31+
Intent intent = new Intent(MainActivity.this, EventsActivity.class);
32+
startActivity(intent);
33+
}
34+
});
2735
if(isServicesOK()){
2836
init();
2937
}
@@ -38,11 +46,12 @@ public void onClick(View v) {
3846
startActivity(intent);
3947
}
4048
});
49+
4150
}
4251

4352

4453
private boolean isServicesOK(){
45-
Log.d(TAG,"isServiceOK: check goole services version" );
54+
Log.d(TAG,"isServiceOK: check google services version" );
4655

4756
int available = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(MainActivity.this);
4857
if(available == ConnectionResult.SUCCESS){

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

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package com.example.webapplicationwithspring;
22

33
import android.Manifest;
4-
import android.app.Activity;
5-
import android.app.AppComponentFactory;
6-
import android.content.Context;
4+
import android.content.Intent;
75
import android.content.pm.PackageManager;
86
import android.os.Bundle;
97
import android.util.Log;
@@ -15,38 +13,42 @@
1513
import androidx.appcompat.app.AppCompatActivity;
1614
import androidx.core.app.ActivityCompat;
1715
import androidx.core.content.ContextCompat;
18-
import androidx.fragment.app.Fragment;
1916

2017
import com.google.android.gms.maps.GoogleMap;
2118
import com.google.android.gms.maps.OnMapReadyCallback;
2219
import com.google.android.gms.maps.SupportMapFragment;
2320
import com.google.android.material.bottomnavigation.BottomNavigationView;
2421

2522
public class MapActivity extends AppCompatActivity implements OnMapReadyCallback{
26-
23+
// define tags and permission strings
2724
private static final String TAG = "MapActivity";
2825
private static final String FINE_LOCATION = Manifest.permission.ACCESS_FINE_LOCATION;
2926
private static final String COARSE_LOCATION = Manifest.permission.ACCESS_COARSE_LOCATION;
3027
private Boolean mLocationPermissionGranted = false;
3128
private static final int L_PERMISSION_REQUEST_CODE = 1234;
32-
29+
// this will switch between items in the navigation bar
3330
private BottomNavigationView.OnNavigationItemSelectedListener navListener =
3431
new BottomNavigationView.OnNavigationItemSelectedListener() {
3532
@Override
3633
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
37-
Fragment selectedFrag = null;
34+
3835
// define the logic to switch between the fragments in navigation bar
3936
switch (item.getItemId()){
4037
case R.id.nav_events: {
38+
// when the new item was clicked we switch an activity
4139
Toast.makeText(getApplicationContext(), "You are going to open events fragment", Toast.LENGTH_SHORT).show();
40+
startActivity(new Intent(getApplicationContext(), EventsActivity.class));
41+
overridePendingTransition(0,0);
42+
4243
break;
4344
}
4445
case R.id.nav_profile:{
46+
4547
Toast.makeText(getApplicationContext(), "You are going to open profile fragment", Toast.LENGTH_SHORT).show();
4648
break;
4749
}
4850
case R.id.nav_map:{
49-
Toast.makeText(getApplicationContext(), "You are going to open the Map", Toast.LENGTH_SHORT).show();
51+
Toast.makeText(getApplicationContext(), "You are already in the Map", Toast.LENGTH_SHORT).show();
5052
break;
5153
}
5254
}
@@ -59,17 +61,20 @@ public boolean onNavigationItemSelected(@NonNull MenuItem item) {
5961
public void onCreate(@Nullable Bundle savedInstanceState){
6062
super.onCreate(savedInstanceState);
6163
setContentView(R.layout.activity_map);
64+
// map initialization
6265
getLocationPermission();
66+
// set the bottom navigation to current item
6367
BottomNavigationView nView = findViewById(R.id.bottom_navigation);
6468
nView.setOnNavigationItemSelectedListener(navListener);
69+
nView.setSelectedItemId(R.id.nav_map);
6570
}
6671

6772
private void initMap(){
6873
Log.d(TAG, "initMAp : initialization");
6974
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
7075
mapFragment.getMapAsync(MapActivity.this);
7176
}
72-
77+
// get location permission
7378
private void getLocationPermission(){
7479
Log.d(TAG, "getLocation permission : gettionf location permissions");
7580
String[] permissions = {Manifest.permission.ACCESS_FINE_LOCATION,
@@ -83,7 +88,7 @@ private void getLocationPermission(){
8388
}
8489
}
8590
}
86-
91+
// check for all permissions to be granted
8792
@Override
8893
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
8994
Log.d(TAG, "onRequestPermissionResult : called");
@@ -105,7 +110,7 @@ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permis
105110
}
106111
}
107112
}
108-
113+
// when the map is ready initialize it
109114
@Override
110115
public void onMapReady(GoogleMap googleMap) {
111116
Toast.makeText(this, "Map is ready", Toast.LENGTH_SHORT).show();

app/src/main/java/com/example/webapplicationwithspring/ui/dashboard/DashboardFragment.java

Lines changed: 0 additions & 35 deletions
This file was deleted.

0 commit comments

Comments
 (0)