kopia lustrzana https://github.com/SP8EBC/MeteoSystem
download and display background image
rodzic
5eee31fc41
commit
6bb505db54
|
@ -23,12 +23,12 @@ public class MainActivity extends AppCompatActivity {
|
|||
|
||||
AndroidThreeTen.init(this);
|
||||
|
||||
// Locale locale = new Locale("pl");
|
||||
// Locale.setDefault(locale);
|
||||
// Resources resources = this.getResources();
|
||||
// Configuration config = resources.getConfiguration();
|
||||
// config.setLocale(locale);
|
||||
// resources.updateConfiguration(config, resources.getDisplayMetrics());
|
||||
Locale locale = new Locale("pl");
|
||||
Locale.setDefault(locale);
|
||||
Resources resources = this.getResources();
|
||||
Configuration config = resources.getConfiguration();
|
||||
config.setLocale(locale);
|
||||
resources.updateConfiguration(config, resources.getDisplayMetrics());
|
||||
|
||||
setContentView(R.layout.activity_main);
|
||||
|
||||
|
|
|
@ -2,13 +2,16 @@ package cc.pogoda.mobile.pogodacc.activity;
|
|||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.media.Image;
|
||||
import android.os.Bundle;
|
||||
import android.view.Menu;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.io.InputStream;
|
||||
|
||||
import cc.pogoda.mobile.pogodacc.R;
|
||||
import cc.pogoda.mobile.pogodacc.activity.handler.StationDetailsActPlotsButtonClickEvent;
|
||||
|
@ -29,10 +32,41 @@ public class StationDetailsActivity extends AppCompatActivity {
|
|||
ImageButton plotsButton = null;
|
||||
ImageButton windRoseButton = null;
|
||||
|
||||
ImageView topBackground = null;
|
||||
|
||||
StationDetailsActSummaryButtonClickEvent summaryClickEvent = null;
|
||||
StationDetailsActPlotsButtonClickEvent plotsClickEvent = null;
|
||||
StationDetailsActWindRoseButtonClickEvent windRoseClickEvent = null;
|
||||
|
||||
/**
|
||||
* This class downloads the background JPG image from the internet and
|
||||
*/
|
||||
private class DownloadImage implements Runnable {
|
||||
|
||||
ImageView iv;
|
||||
String image_url;
|
||||
|
||||
Bitmap bitmap;
|
||||
|
||||
public DownloadImage(ImageView background, String url) {
|
||||
iv = background;
|
||||
image_url = url;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
InputStream in = new java.net.URL(image_url).openStream();
|
||||
bitmap = BitmapFactory.decodeStream(in);
|
||||
|
||||
iv.setImageBitmap(bitmap);
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public StationDetailsActivity() {
|
||||
stationName = null;
|
||||
}
|
||||
|
@ -61,6 +95,21 @@ public class StationDetailsActivity extends AppCompatActivity {
|
|||
stationLatLon = findViewById(R.id.textViewLatLon);
|
||||
stationSponsorUrl = findViewById(R.id.textViewSponsorUrl);
|
||||
|
||||
// public static final int BLACK = -16777216;
|
||||
// public static final int BLUE = -16776961;
|
||||
// public static final int CYAN = -16711681;
|
||||
// public static final int DKGRAY = -12303292;
|
||||
// public static final int GRAY = -7829368;
|
||||
// public static final int GREEN = -16711936;
|
||||
// public static final int LTGRAY = -3355444;
|
||||
// public static final int MAGENTA = -65281;
|
||||
// public static final int RED = -65536;
|
||||
// public static final int TRANSPARENT = 0;
|
||||
// public static final int WHITE = -1;
|
||||
// public static final int YELLOW = -256;
|
||||
|
||||
stationName.setTextColor(station.getStationNameTextColor());
|
||||
|
||||
if (station != null && stationName != null) {
|
||||
|
||||
summaryClickEvent = new StationDetailsActSummaryButtonClickEvent(station, this);
|
||||
|
@ -70,12 +119,40 @@ public class StationDetailsActivity extends AppCompatActivity {
|
|||
summaryButton = findViewById(R.id.imageButtonCurrent);
|
||||
summaryButton.setOnClickListener(summaryClickEvent);
|
||||
|
||||
plotsButton = findViewById(R.id.imageButtonPlots);
|
||||
plotsButton = findViewById(R.id.imageButtonPlotsWind);
|
||||
plotsButton.setOnClickListener(plotsClickEvent);
|
||||
|
||||
windRoseButton = findViewById(R.id.imageButtonWindRose);
|
||||
windRoseButton.setOnClickListener(windRoseClickEvent);
|
||||
|
||||
topBackground = findViewById(R.id.imageViewStationPng);
|
||||
switch (station.getImageAlign()) {
|
||||
case 0:
|
||||
topBackground.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
|
||||
break;
|
||||
case 1:
|
||||
topBackground.setScaleType(ImageView.ScaleType.FIT_START);
|
||||
break;
|
||||
case 2:
|
||||
topBackground.setScaleType(ImageView.ScaleType.FIT_END);
|
||||
break;
|
||||
case 3:
|
||||
topBackground.setScaleType(ImageView.ScaleType.CENTER);
|
||||
break;
|
||||
case 4:
|
||||
topBackground.setScaleType(ImageView.ScaleType.MATRIX);
|
||||
break;
|
||||
case 5:
|
||||
topBackground.setScaleType(ImageView.ScaleType.FIT_XY);
|
||||
break;
|
||||
case 6:
|
||||
topBackground.setScaleType(ImageView.ScaleType.FIT_CENTER);
|
||||
break;
|
||||
default:
|
||||
topBackground.setScaleType(ImageView.ScaleType.CENTER_CROP);
|
||||
}
|
||||
|
||||
|
||||
stationName.setText(station.getDisplayedName());
|
||||
stationLocation.setText(station.getDisplayedLocation());
|
||||
|
||||
|
@ -84,6 +161,11 @@ public class StationDetailsActivity extends AppCompatActivity {
|
|||
|
||||
stationSponsorUrl.setText(station.getSponsorUrl());
|
||||
|
||||
DownloadImage downloadImage = new DownloadImage(topBackground, station.getImageUrl());
|
||||
Thread t = new Thread(downloadImage);
|
||||
t.start();
|
||||
//runOnUiThread(downloadImage);
|
||||
|
||||
if (station_lat > 0.0f && station_lon > 0.0f) {
|
||||
// europe
|
||||
sb.append(station_lon);
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package cc.pogoda.mobile.pogodacc.dao;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -61,6 +60,9 @@ public class AllStationsDao {
|
|||
elem.setLat(def.lat);
|
||||
elem.setLon(def.lon);
|
||||
elem.setSponsorUrl(def.sponsorUrl);
|
||||
elem.setImageUrl(def.backgroundJpg);
|
||||
elem.setStationNameTextColor(def.stationNameTextColour);
|
||||
elem.setImageAlign(def.backgroundJpgAlign);
|
||||
|
||||
out.add(elem);
|
||||
}
|
||||
|
|
|
@ -60,6 +60,30 @@ public class WeatherStation implements Serializable {
|
|||
this.systemName = systemName;
|
||||
}
|
||||
|
||||
public String getImageUrl() {
|
||||
return imageUrl;
|
||||
}
|
||||
|
||||
public void setImageUrl(String imageUrl) {
|
||||
this.imageUrl = imageUrl;
|
||||
}
|
||||
|
||||
public int getStationNameTextColor() {
|
||||
return stationNameTextColor;
|
||||
}
|
||||
|
||||
public void setStationNameTextColor(int stationNameTextColor) {
|
||||
this.stationNameTextColor = stationNameTextColor;
|
||||
}
|
||||
|
||||
public int getImageAlign() {
|
||||
return imageAlign;
|
||||
}
|
||||
|
||||
public void setImageAlign(int imageAlign) {
|
||||
this.imageAlign = imageAlign;
|
||||
}
|
||||
|
||||
String systemName;
|
||||
|
||||
String displayedName;
|
||||
|
@ -68,6 +92,12 @@ public class WeatherStation implements Serializable {
|
|||
|
||||
String sponsorUrl;
|
||||
|
||||
String imageUrl;
|
||||
|
||||
int imageAlign;
|
||||
|
||||
int stationNameTextColor;
|
||||
|
||||
float lat;
|
||||
|
||||
float lon;
|
||||
|
|
|
@ -6,6 +6,8 @@ public class StationDefinition {
|
|||
|
||||
public String name;
|
||||
|
||||
public int stationNameTextColour;
|
||||
|
||||
public boolean enabled;
|
||||
|
||||
public String callsign;
|
||||
|
@ -18,9 +20,11 @@ public class StationDefinition {
|
|||
|
||||
public String sponsorUrl;
|
||||
|
||||
public String backgroundjpg;
|
||||
public String backgroundJpg;
|
||||
|
||||
public String moreinfo;
|
||||
public int backgroundJpgAlign;
|
||||
|
||||
public String moreInfo;
|
||||
|
||||
public float lat;
|
||||
|
||||
|
|
|
@ -34,18 +34,19 @@
|
|||
android:id="@+id/imageViewStationPng"
|
||||
android:layout_width="408dp"
|
||||
android:layout_height="232dp"
|
||||
android:scaleType="centerCrop"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="1.0"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.0"
|
||||
app:layout_constraintVertical_bias="1.0"
|
||||
tools:srcCompat="@tools:sample/backgrounds/scenic" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textViewStationName"
|
||||
android:layout_width="261dp"
|
||||
android:layout_height="57dp"
|
||||
android:layout_width="340dp"
|
||||
android:layout_height="58dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="197dp"
|
||||
android:layout_marginEnd="205dp"
|
||||
|
@ -54,10 +55,10 @@
|
|||
android:textSize="36sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="@+id/imageViewStationPng"
|
||||
app:layout_constraintHorizontal_bias="0.216"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintStart_toStartOf="@+id/imageViewStationPng"
|
||||
app:layout_constraintTop_toTopOf="@+id/imageViewStationPng"
|
||||
app:layout_constraintVertical_bias="1.0" />
|
||||
app:layout_constraintVertical_bias="0.958" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
@ -101,7 +102,7 @@
|
|||
android:layout_height="611dp">
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/imageButtonPlots"
|
||||
android:id="@+id/imageButtonPlotsWind"
|
||||
android:layout_width="176dp"
|
||||
android:layout_height="180dp"
|
||||
android:backgroundTint="#56039BE5"
|
||||
|
@ -120,18 +121,18 @@
|
|||
|
||||
<TextView
|
||||
android:id="@+id/textViewPlots"
|
||||
android:layout_width="62dp"
|
||||
android:layout_width="128dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_marginStart="55dp"
|
||||
android:layout_marginTop="141dp"
|
||||
android:layout_marginEnd="59dp"
|
||||
android:layout_marginBottom="15dp"
|
||||
android:text="@string/station_plots"
|
||||
android:text="@string/wind_speed_plots"
|
||||
android:textAlignment="center"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/imageButtonPlots"
|
||||
app:layout_constraintEnd_toEndOf="@+id/imageButtonPlots"
|
||||
app:layout_constraintStart_toStartOf="@+id/imageButtonPlots"
|
||||
app:layout_constraintTop_toTopOf="@+id/imageButtonPlots" />
|
||||
app:layout_constraintBottom_toBottomOf="@+id/imageButtonPlotsWind"
|
||||
app:layout_constraintEnd_toEndOf="@+id/imageButtonPlotsWind"
|
||||
app:layout_constraintStart_toStartOf="@+id/imageButtonPlotsWind"
|
||||
app:layout_constraintTop_toTopOf="@+id/imageButtonPlotsWind" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/imageButtonCurrent"
|
||||
|
|
|
@ -52,4 +52,17 @@
|
|||
<string name="warning">Warning!</string>
|
||||
<string name="station_doesnt_transmit">Station doesn\'t transmit data</string>
|
||||
<string name="for_longer_than_2_hours">for longer than 2 hours</string>
|
||||
<string name="export_data">Export Data</string>
|
||||
<string name="export_ln">Lenght in hours</string>
|
||||
<string name="select_station_export">Select station to export</string>
|
||||
<string name="start_data">Start date and time</string>
|
||||
<string name="max_100_hours">Maximum 100 hours</string>
|
||||
<string name="output_fn">Output file</string>
|
||||
<string name="start_export">EXPORT</string>
|
||||
<string name="output_export_format">Output file format</string>
|
||||
<string name="last_data_timestamp">Time of last measurement</string>
|
||||
<string name="wind_speed_plots">Wind Speed Plots</string>
|
||||
<string name="wind_direction_plots">Wind Direction Plot</string>
|
||||
<string name="temperature_plot">Temperature Plot</string>
|
||||
<string name="humidity_plot">Humidity Plot</string>
|
||||
</resources>
|
|
@ -52,4 +52,17 @@
|
|||
<string name="warning">-</string>
|
||||
<string name="station_doesnt_transmit">-</string>
|
||||
<string name="for_longer_than_2_hours">-</string>
|
||||
<string name="export_data">-</string>
|
||||
<string name="export_ln">-</string>
|
||||
<string name="select_station_export">-</string>
|
||||
<string name="start_data">-</string>
|
||||
<string name="max_100_hours">-</string>
|
||||
<string name="output_fn">-</string>
|
||||
<string name="start_export">-</string>
|
||||
<string name="output_export_format">-</string>
|
||||
<string name="last_data_timestamp">-</string>
|
||||
<string name="wind_speed_plots">-</string>
|
||||
<string name="wind_direction_plots">-</string>
|
||||
<string name="temperature_plot">-</string>
|
||||
<string name="humidity_plot">-</string>
|
||||
</resources>
|
|
@ -52,5 +52,18 @@
|
|||
<string name="warning">-</string>
|
||||
<string name="station_doesnt_transmit">-</string>
|
||||
<string name="for_longer_than_2_hours">-</string>
|
||||
<string name="export_data">-</string>
|
||||
<string name="export_ln">-</string>
|
||||
<string name="select_station_export">-</string>
|
||||
<string name="start_data">-</string>
|
||||
<string name="max_100_hours">-</string>
|
||||
<string name="output_fn">-</string>
|
||||
<string name="start_export">-</string>
|
||||
<string name="output_export_format">-</string>
|
||||
<string name="last_data_timestamp">-</string>
|
||||
<string name="wind_speed_plots">-</string>
|
||||
<string name="wind_direction_plots">-</string>
|
||||
<string name="temperature_plot">-</string>
|
||||
<string name="humidity_plot">-</string>
|
||||
|
||||
</resources>
|
|
@ -52,4 +52,17 @@
|
|||
<string name="warning">Uwaga!</string>
|
||||
<string name="station_doesnt_transmit">Stacja nie wysyła danych</string>
|
||||
<string name="for_longer_than_2_hours">dłużej niż dwie godziny</string>
|
||||
<string name="export_data">Eksport danych</string>
|
||||
<string name="export_ln">Długość w godzinach</string>
|
||||
<string name="select_station_export">Wybierz stację do eksportu</string>
|
||||
<string name="start_data">Początkowa data i czas</string>
|
||||
<string name="max_100_hours">Maksymalnie sto godzin</string>
|
||||
<string name="output_fn">Plik wyjściowy</string>
|
||||
<string name="start_export">Rozpocznij eksport</string>
|
||||
<string name="output_export_format">Format pliku wyjściowego</string>
|
||||
<string name="last_data_timestamp">Czas ostatniego pomiaru</string>
|
||||
<string name="wind_speed_plots">Prędkość Wiatru</string>
|
||||
<string name="wind_direction_plots">Kierunek Wiatru</string>
|
||||
<string name="temperature_plot">Temperatura</string>
|
||||
<string name="humidity_plot">Wilgotność</string>
|
||||
</resources>
|
|
@ -52,4 +52,17 @@
|
|||
<string name="warning">Uwaga!</string>
|
||||
<string name="station_doesnt_transmit">Stacja nie wysyła danych</string>
|
||||
<string name="for_longer_than_2_hours">dłużej niż dwie godziny</string>
|
||||
<string name="export_data">Eksport danych</string>
|
||||
<string name="export_ln">Długość w godzinach</string>
|
||||
<string name="select_station_export">Wybierz stację do eksportu</string>
|
||||
<string name="start_data">Początkowa data i czas</string>
|
||||
<string name="max_100_hours">Maksymalnie sto godzin</string>
|
||||
<string name="output_fn">Plik wyjściowy</string>
|
||||
<string name="start_export">Rozpocznij eksport</string>
|
||||
<string name="output_export_format">Format pliku wyjściowego</string>
|
||||
<string name="last_data_timestamp">Czas ostatniego pomiaru</string>
|
||||
<string name="wind_speed_plots">Prędkość Wiatru</string>
|
||||
<string name="wind_direction_plots">Kierunek Wiatru</string>
|
||||
<string name="temperature_plot">Temperatura</string>
|
||||
<string name="humidity_plot">Wilgotność</string>
|
||||
</resources>
|
|
@ -56,4 +56,17 @@
|
|||
<string name="warning">Warning!</string>
|
||||
<string name="station_doesnt_transmit">Station doesn\'t transmit data</string>
|
||||
<string name="for_longer_than_2_hours">for longer than 2 hours</string>
|
||||
<string name="export_data">Export Data</string>
|
||||
<string name="export_ln">Lenght in hours</string>
|
||||
<string name="select_station_export">Select station to export</string>
|
||||
<string name="start_data">Start date and time</string>
|
||||
<string name="max_100_hours">Maximum 100 hours</string>
|
||||
<string name="output_fn">Output file</string>
|
||||
<string name="start_export">EXPORT</string>
|
||||
<string name="output_export_format">Output file format</string>
|
||||
<string name="last_data_timestamp">Time of last measurement</string>
|
||||
<string name="wind_speed_plots">Wind Speed Plots</string>
|
||||
<string name="wind_direction_plots">Wind Direction Plot</string>
|
||||
<string name="temperature_plot">Temperature Plot</string>
|
||||
<string name="humidity_plot">Humidity Plot</string>
|
||||
</resources>
|
Ładowanie…
Reference in New Issue