На ОС Андроид сегодня работают не только мобильные и планшетные устройства, но также всевозможные часы, телевизоры, компьютеры и даже, как бы это не звучало, холодильники.
Несмотря на огромное множество устройств разработка под многие из них происходит через одну общую программу –
Таким образом, изучив Андроид Студио вы сможете в будущем спокойно переходить от одной платформы к другой. Напомним, на сегодняшний день только мобильные устройства на ОС Андроид занимают примерно 85% всего рынка смартфонов.
Разрабатывать под Андроид можно за использованием нескольких разных языков программирования. Зачастую все разрабатывают на основе языка Java, но помимо него можно использовать язык Kotlin, Python, React Native, Flutter и даже на HTML и CSS можно делать проекты.
Ниже видео на тему разработки Андроид проекта на HTML и CSS:
Вы можете использовать разные языки, но наиболее часто используется
Для разработки под Андроид требуется всего две вещи. Во-первых, вам нужно скачать на компьютер Джава JDK. Это можно сделать через
Во-вторых, вам потребуется программа Андроид Студио. Именно она является наиболее популярной программой для разработки приложений под Андроид. Скачать бесплатно эту программу можно также с ее
Теперь нам нужно создать весь функционал для приложения.
В приложении мы будем получать данные о погоде. Чтобы это делать сперва зарегистрируйтесь и получите API ключ на сайте
Теперь остается прописать весь код. Код класса «MainActivity» представлен ниже вместе с комментариями.
Дополнительно скачать полностью весь проект можно по
package com.itproger.weatherapp;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class MainActivity extends AppCompatActivity {
// Поля, что будут ссылаться на объекты из дизайна
private EditText user_field;
private Button main_btn;
private TextView result_info;
@Override
protected void onCreate(Bundle savedInstanceState) { // Сработает при создании Activity
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Устанавливаем ссылки на объекты из дизайна
user_field = findViewById(R.id.user_field);
main_btn = findViewById(R.id.main_btn);
result_info = findViewById(R.id.result_info);
// Обработчик нажатия на кнопку
main_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Если ничего не ввели в поле, то выдаем всплывающую подсказку
if(user_field.getText().toString().trim().equals(""))
Toast.makeText(MainActivity.this, R.string.no_user_input, Toast.LENGTH_LONG).show();
else {
// Если ввели, то формируем ссылку для получения погоды
String city = user_field.getText().toString();
String key = "ваш ключ здесь";
String url = "https://api.openweathermap.org/data/2.5/weather?q=" + city + "&appid=" + key + "&units=metric&lang=ru";
// Запускаем класс для получения погоды
new GetURLData().execute(url);
}
}
});
}
@SuppressLint("StaticFieldLeak")
private class GetURLData extends AsyncTask<String, String, String> {
// Будет выполнено до отправки данных по URL
protected void onPreExecute() {
super.onPreExecute();
result_info.setText("Ожидайте...");
}
// Будет выполняться во время подключения по URL
@Override
protected String doInBackground(String... strings) {
HttpURLConnection connection = null;
BufferedReader reader = null;
try {
// Создаем URL подключение, а также HTTP подключение
URL url = new URL(strings[0]);
connection = (HttpURLConnection) url.openConnection();
connection.connect();
// Создаем объекты для считывания данных из файла
InputStream stream = connection.getInputStream();
reader = new BufferedReader(new InputStreamReader(stream));
// Генерируемая строка
StringBuilder buffer = new StringBuilder();
String line = "";
// Считываем файл и записываем все в строку
while((line = reader.readLine()) != null)
buffer.append(line).append("\n");
// Возвращаем строку
return buffer.toString();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
// Закрываем соединения
if(connection != null)
connection.disconnect();
try {
if (reader != null)
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
// Выполняется после завершения получения данных
@SuppressLint("SetTextI18n")
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
// Конвертируем JSON формат и выводим данные в текстовом поле
try {
JSONObject jsonObject = new JSONObject(result);
result_info.setText("Температура: " + jsonObject.getJSONObject("main").getDouble("temp"));
} catch (JSONException e) {
e.printStackTrace();
}
}
}
}
Также вы можете просмотреть детальное видео по разработке данного приложения:
На нашем сайте также есть