Уроки по Android Studio

EarnApp #6

MainActivity import androidx.appcompat.app.AppCompatActivityimport android.os.Bundleimport android.os.CountDownTimerimport android.widget.Toastimport androidx.recyclerview.widget.LinearLayoutManagerimport com.google.android.gms.ads.*import com.google.android.gms.ads.interstitial.InterstitialAdimport com.google.android.gms.ads.interstitial.InterstitialAdLoadCallbackimport com.neco_desarrollo.earnapp.adapters.CategoryAdapterimport com.neco_desarrollo.earnapp.adapters.ContentManagerimport com.neco_desarrollo.earnapp.databinding.ActivityMainBindingimport kotlin.random.Randomclass MainActivity : AppCompatActivity(), CategoryAdapter.Listener { private lateinit var binding: ActivityMainBinding private var adapter: CategoryAdapter? = null private var interAd: InterstitialAd? = null private var timer: CountDownTimer? = null private var posM: Int = 0 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) initAdMob() (application as AppMainState).showAdIfAvailable(this){} initRcView() binding.imageBg.setOnClickListener { getResult() } } private fun… Подробнее »EarnApp #6

EarnApp #5

MainActivity import androidx.appcompat.app.AppCompatActivityimport android.os.Bundleimport android.os.CountDownTimerimport android.widget.Toastimport androidx.recyclerview.widget.LinearLayoutManagerimport com.google.android.gms.ads.*import com.google.android.gms.ads.interstitial.InterstitialAdimport com.google.android.gms.ads.interstitial.InterstitialAdLoadCallbackimport com.neco_desarrollo.earnapp.adapters.CategoryAdapterimport com.neco_desarrollo.earnapp.adapters.ContentManagerimport com.neco_desarrollo.earnapp.databinding.ActivityMainBindingclass MainActivity : AppCompatActivity() { private lateinit var binding: ActivityMainBinding private var adapter: CategoryAdapter? = null private var interAd: InterstitialAd? = null private var timer: CountDownTimer? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) initAdMob() (application as AppMainState).showAdIfAvailable(this){} initRcView() binding.imageBg.setOnClickListener { getResult() } } private fun initRcView() = with(binding){ adapter = CategoryAdapter() rcViewCat.layoutManager =… Подробнее »EarnApp #5

Jetpack Compose – Card, Box, Image

MainActivity import android.os.Bundleimport androidx.activity.ComponentActivityimport androidx.activity.compose.setContentimport androidx.compose.foundation.Imageimport androidx.compose.foundation.backgroundimport androidx.compose.foundation.layout.*import androidx.compose.foundation.shape.CircleShapeimport androidx.compose.foundation.shape.RoundedCornerShapeimport androidx.compose.material.Cardimport androidx.compose.material.MaterialThemeimport androidx.compose.material.Surfaceimport androidx.compose.material.Textimport androidx.compose.runtime.Composableimport androidx.compose.ui.Alignmentimport androidx.compose.ui.Modifierimport androidx.compose.ui.draw.clipimport androidx.compose.ui.graphics.Colorimport androidx.compose.ui.layout.AlignmentLineimport androidx.compose.ui.layout.ContentScaleimport androidx.compose.ui.res.painterResourceimport androidx.compose.ui.tooling.preview.Previewimport androidx.compose.ui.unit.dpimport androidx.compose.ui.unit.spimport com.neco_desarrollo.composelessonsyt.ui.theme.ComposeLessonsYTThemeclass MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Column() { ListItem(“Zac Efron”, “Actor”) ListItem(“Zac Efron”, “Actor”) ListItem(“Zac Efron”, “Actor”) ListItem(“Zac Efron”, “Actor”) ListItem(“Zac Efron”, “Actor”) ListItem(“Zac Efron”, “Actor”) } } }}@Composableprivate fun ListItem(name: String, prof: String){ Card( modifier = Modifier… Подробнее »Jetpack Compose – Card, Box, Image

Motivation App

MainActivity import androidx.appcompat.app.AppCompatActivityimport android.os.Bundleimport android.widget.Toastimport androidx.recyclerview.widget.LinearLayoutManagerimport com.google.android.gms.ads.*import com.google.android.gms.ads.interstitial.InterstitialAdimport com.google.android.gms.ads.interstitial.InterstitialAdLoadCallbackimport com.neco_desarrollo.earnapp.adapters.CategoryAdapterimport com.neco_desarrollo.earnapp.adapters.ContentManagerimport com.neco_desarrollo.earnapp.databinding.ActivityMainBindingclass MainActivity : AppCompatActivity() { private lateinit var binding: ActivityMainBinding private var adapter: CategoryAdapter? = null private var interAd: InterstitialAd? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) initAdMob() (application as AppMainState).showAdIfAvailable(this){} initRcView() } private fun initRcView() = with(binding){ adapter = CategoryAdapter() rcViewCat.layoutManager = LinearLayoutManager( this@MainActivity, LinearLayoutManager.HORIZONTAL, false) rcViewCat.adapter = adapter adapter?.submitList(ContentManager.list) } override fun… Подробнее »Motivation App

Сколько можно заработать на андроид приложении #1

MainActivity import androidx.appcompat.app.AppCompatActivityimport android.os.Bundleimport com.google.android.gms.ads.AdRequestimport com.google.android.gms.ads.MobileAdsimport com.neco_desarrollo.earnapp.databinding.ActivityMainBindingclass MainActivity : AppCompatActivity() { private lateinit var binding: ActivityMainBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) initAdMob() } override fun onResume() { super.onResume() binding.adView.resume() } override fun onPause() { super.onPause() binding.adView.pause() } override fun onDestroy() { super.onDestroy() binding.adView.destroy() } private fun initAdMob(){ MobileAds.initialize(this) val adRequest = AdRequest.Builder().build() binding.adView.loadAd(adRequest) }} AndroidManifest <?xml version=”1.0″ encoding=”utf-8″?><manifest xmlns:android=”http://schemas.android.com/apk/res/android” package=”Название вашего пакета”> <application android:allowBackup=”true” android:icon=”@mipmap/ic_launcher”… Подробнее »Сколько можно заработать на андроид приложении #1

BtMonitor Kotlin | #4

ControlActivity import android.bluetooth.BluetoothManagerimport android.content.Contextimport android.content.Intentimport androidx.appcompat.app.AppCompatActivityimport android.os.Bundleimport android.util.Logimport android.view.Menuimport android.view.MenuItemimport androidx.activity.result.ActivityResultLauncherimport androidx.activity.result.contract.ActivityResultContractsimport com.neco_desarrollo.btmonitorkotlin.databinding.ActivityControlBindingclass ControlActivity : AppCompatActivity() { private lateinit var binding: ActivityControlBinding private lateinit var actListLauncher: ActivityResultLauncher<Intent> lateinit var btConnection: BtConnection private var listItem: ListItem? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityControlBinding.inflate(layoutInflater) setContentView(binding.root) onBtListResult() init() } private fun init(){ val btManager = getSystemService(Context.BLUETOOTH_SERVICE) as BluetoothManager val btAdapter = btManager.adapter btConnection = BtConnection(btAdapter) } override fun onCreateOptionsMenu(menu:… Подробнее »BtMonitor Kotlin | #4

Практика урок 21.

MainActivity import android.os.Bundleimport android.util.Logimport androidx.appcompat.app.AppCompatActivityclass MainActivity : AppCompatActivity() { val lostArray = arrayOf(10000, 2300, 45000, 65000, 6500, 400) val earnArray = arrayOf(15000, 300, 345000, 5000, 16500, 3400) val resultArray = ArrayList<String>() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val names = resources.getStringArray(R.array.names) for((index, name) in names.withIndex()){ resultArray.add(“Имя: $name – прибыль = ${earnArray[index] – lostArray[index]}”) Log.d(“MyLog”, “Статистика -/- ${resultArray[index]}”) } }} arrays.xml <?xml version=”1.0″ encoding=”utf-8″?><resources> <string-array name=”names”> <item>Егор</item> <item>Андрей</item> <item>Маша</item> <item>Света</item> <item>Максим</item>… Подробнее »Практика урок 21.

Kotlin | Массивы и Списки

Что такое массив (Array). Массив — упорядоченный набор элементов, каждый из которых хранит одно значение, идентифицируемое с помощью одного или нескольких индексов. В простейшем случае массив имеет постоянную длину и хранит единицы данных одного и того же типа, а в качестве индексов выступают целые числа. (Wikipedia) Простыми словами массив это один элемент который в себе содержит определенное количество элементов, обычно одного типа и все эти элементы хранятся на своей позиции. Указывая позицию… Подробнее »Kotlin | Массивы и Списки

Приложение “Блокнот”. Весь код приложения.

MainActivity import androidx.annotation.NonNull;import androidx.appcompat.app.AppCompatActivity;import androidx.recyclerview.widget.ItemTouchHelper;import androidx.recyclerview.widget.LinearLayoutManager;import androidx.recyclerview.widget.RecyclerView;import android.content.Intent;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.EditText;import android.widget.SearchView;import com.example.sqlitejava.adapter.ListItem;import com.example.sqlitejava.adapter.MainAdapter;import com.example.sqlitejava.db.AppExecuter;import com.example.sqlitejava.db.MyDbManager;import com.example.sqlitejava.db.OnDataReceived;import java.util.List;public class MainActivity extends AppCompatActivity implements OnDataReceived { private MyDbManager myDbManager; private EditText edTitle, edDisc; private RecyclerView rcView; private MainAdapter mainAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main_menu, menu); MenuItem item= menu.findItem(R.id.id_search); SearchView sv = (SearchView)item.getActionView(); sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override… Подробнее »Приложение “Блокнот”. Весь код приложения.

Авто-переход на главный экран

Изменения стиля приложения: Часть 1 Сегодня на уроке мы начнем работать со стилями и темами приложения. Для того чтобы изменить стиль приложения мы идем в “res/values/styles.xml” (учтите что мы делаем изменения в файле “styles.xml” а не в “styles.xml v21“). У нас есть основная тема (стиль) которая называется “AppTheme“, данная тема содержит всего лишь три атрибута которые отвечают за цвет различных элементов. Для того что бы изменить стиль приложения мы можем… Подробнее »Авто-переход на главный экран