@telekom Hocam, bendeki bilgisayar i5 2. Nesil, 8gb Ram, SSD var. Kısmen zorlanıyorum. Android studio yanında VS yada PS açınca "yeter kasma beni diyor.". Açıkcası hafif bir ortam bulamadım Android çalışırken. @_PesimisT_ Ahahah ne günlerdi onlar. ASP ile bir şeyler üretmek gayet güzeldi, scripting bir dildi ama gayet basit aşırı katı kuralları olmayan güzel bir yapıydı. Webhocama da çok takılırdık. Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.

Eline emeğine şağlık hocam Çılgın şeyh Müritleri coşturuyor...

eline sağlık le le le sakine

Bu dersimizde temel olarak drt işlemi kapsayan, sayısal değer ve boş girdi kontrollerini yapan basit bir hesap makinesi yapalım. İlk olarak bir tane boş activity açalım. Proje Oluşturma Projemizin ayarlamalarını yapalım. Proje Ayarları Projemiz oluştu. Oluşan bu boş projenin dosyalarına bakalım. Boş Proje Yapısı Oluşturacağımız projenin EditText, TextView gibi elemanlarının biraz daha güzel grünmesi için drawable klasrüne bir tane shape_kenarlik. xml ekleyip renk, kenarlık gibi değerlerini içerisinde belirtelim. Drawable Klasrüne Tasarım Nesnesi Ekleyelim Açılan pencerede şu bilgilerle bir adet shape_kenarlik. xml dosyası oluşturalım. shape_kenarlik. xml shape_kenarlik. xml Betikleri <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <solid android:color="#f2f2f2" /> <stroke android:width="1dip" android:color="#FF6200EE"/> </shape> shape_kenarlik. xml Grünüm Ufak tefek hazırlıkları tamamladık. Sıra geldi ekrandaki ğeleri tasarlamaya. Ekran ğelerimiz şu şekilde olacakactivity_main. xml Betikleri <?xml version="1.0" encoding="utf-8"?> <androidx. constraintlayout. widget. ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=". MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:padding="10dp" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:weightSum="5"> <com. google. android. material. textfield. TextInputLayout android:layout_width="0dp" android:layout_height="wrap_content" android:hint="Sayı 1" android:layout_weight="1" android:layout_marginRight="2dp"> <com. google. android. material. textfield. TextInputEditText android:id="@+id/etSayi1" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="numberDecimal" android:background="@drawable/shape_kenarlik" android:gravity="center"/> </com. google. android. material. textfield. TextInputLayout> <com. google. android. material. textfield. TextInputLayout android:layout_width="0dp" android:layout_height="wrap_content" android:hint="İşlem" android:layout_weight="1" android:layout_marginRight="2dp"> <com. google. android. material. textfield. TextInputEditText android:id="@+id/etIslem" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="1" android:inputType="text" android:background="@drawable/shape_kenarlik" android:gravity="center"/> </com. google. android. material. textfield. TextInputLayout> <com. google. android. material. textfield. TextInputLayout android:layout_width="0dp" android:layout_height="wrap_content" android:hint="Sayı 2" android:layout_weight="1" android:layout_marginRight="2dp"> <com. google. android. material. textfield. TextInputEditText android:id="@+id/etSayi2" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="numberDecimal" android:background="@drawable/shape_kenarlik" android:gravity="center"/> </com. google. android. material. textfield. TextInputLayout> <com. google. android. material. textfield. TextInputLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginRight="2dp"> <com. google. android. material. textfield. TextInputEditText android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="1" android:inputType="text" android:background="@drawable/shape_kenarlik" android:gravity="center" android:text="=" android:enabled="false"/> </com. google. android. material. textfield. TextInputLayout> <com. google. android. material. textfield. TextInputLayout android:layout_width="0dp" android:layout_height="wrap_content" android:hint="Sonuç" android:layout_weight="1"> <com. google. android. material. textfield. TextInputEditText android:id="@+id/etSonuc" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="text" android:background="@drawable/shape_kenarlik" android:gravity="center" android:enabled="false"/> </com. google. android. material. textfield. TextInputLayout> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp"> <Button android:id="@+id/btnSonuc" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="Hesapla"/> </LinearLayout> </LinearLayout> </androidx. constraintlayout. widget. ConstraintLayout> Tasarım nizleme Tasarım çalışması bitti. Hesaplamalar için yapılması gereken kodlamaya geçelim. Kodlama kısmındaki işleyiş; - EditText, Button gibi tasarım nesnelerini global olarak tanımlayacağız. - findViewById metodu sayesinde tasarım nesnelerini xml içerisinde bulacağız. - Button setOnClickListener olayı sayesinde btnHesapla adlı butona tıklandığını anlayıp işlemlerimizi başlatacağız. - getText metodu ile EditText nesnelerine girilen değerleri alıp bir değişkene aktaracağız. - Regular Expressions sayesinde girilen bir değerin istediğimiz düzende olup olmadığını kontrol edeceğiz. rnek olarak girilen bir değerin double olup olmadığını kontrol edeceğiz. - if koşulu ile gereken şartların sağlanıp sağlanmadığını kontrol edeceğiz. rnek olarak bir sayının sıfıra blümünün tanımsız olduğunu bildireceğiz. - Toast Mesaj sayesinde kullanıcıya uyarı verdireceğiz. - TextUtils. isEmpty ile bir değerin var olup olmadığını kontrol edeceğiz. - switch case yapısı ile çarpma, blme, çıkarma ve toplama işlemlerinin yapılmasını sağlayacağız. - setText metodu ile çıkan sonucu ilgili EditText'e yazdıracağız. Kısaca işleyiş yapısını sizlere aktarmış olduk. Şimdi uygulama açıldığında çalışan activity olan içerisinde kodlarımızı hazırlayalım. MainActivity. java package com. deneme. hesapmakinesi; import androidx. appcompat. app. AppCompatActivity; import android. os. Bundle; import android. text. TextUtils; import android. view. View; import android. widget. Button; import android. widget. EditText; import android. widget. Toast; public class MainActivity extends AppCompatActivity { EditText etSayi1, etIslem, etSayi2, etSonuc; Button btnSonuc; @Override protected void onCreate { super. onCreate ; setContentView ; etSayi1 = findViewById(R. id. etSayi1); etIslem = findViewById ; etSayi2 = findViewById(R. id. etSayi2); etSonuc = findViewById ; btnSonuc = findViewById ; btnSonuc. setOnClickListener(new View. OnClickListener { @Override public void onClick { String strSayi1 = etSayi1. getText . toString ; String strSayi2 = etSayi2. getText . toString ; String strIslem = etIslem. getText . toString ; etSonuc. setText ; boolean blnSayi1 = fnDoubleKontrol(strSayi1); boolean blnSayi2 = fnDoubleKontrol(strSayi2); boolean blnIslem = fnIslemKontrol ; String strUyari = ""; if (! blnSayi1) strUyari = "- Lütfen sayı 1 giriniz.\n"; if (! blnSayi2) strUyari += "- Lütfen sayı 2 giriniz.\n"; if strUyari += "- Lütfen '+', '-', ' ' veya '/' işlemi giriniz.\n"; else { if (strIslem. equals } if (! TextUtils. isEmpty Toast. makeText(getApplicationContext , strUyari, Toast. LENGTH_LONG). show ; else { String strSonuc = ""; switch etSonuc. setText ; } } }); } public boolean fnDoubleKontrol { boolean blnSonuc = false; if (! TextUtils. isEmpty blnSonuc = strDeger. matches(" (\\. )?"); return blnSonuc; } public boolean fnIslemKontrol { boolean blnSonuc = false; if (! TextUtils. isEmpty return blnSonuc; } } rnek 1rnek 2 Bol ğrenmeli günler. Kaynak: https://www.ontedi.com/android/androidde-java-ile-basit-hesap-makinesi-yapalim ontedi tarafından 04/Oca/21 17:59 tarihinde düzenlenmiştir Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.

basitten başlayıp amatrce birşeyler yapıp biraz kendimi geliştirmek istedim. Bi kaç kurs buldum, Youtubeden eğitim videoları indirdim ama derstekinin aynısını yaparken bende bir hata çıkıyor hatayı çzmeye çalışıyorum ya da benzeri şekilde yapmak istiyorum yapamayınca hata alınca bütün hevesim kaçıyor. Danışabileceğim bir kaynak olsa devam ederdim belki ama pandemide evdeyken bu fırsatı tepiyorum hissiyatı var şuan. Geçen bir ara python bari ğreneyim dedim basit bir kurs aldım , BTK akademide sıfırdan ileri seviyeye python kursuna başladım ama daha devam edemedim. Bunları neden yazdım bilmiyorum :) ama buradan sen ya da senin gibi birileri küçük küçük projeleri açıklamalı paylaşsa takılma durumu olursa yardımcı olabilirseniz hem bana hem de benim gibi düşünenelere yardımcı olursunuz. Paylaşımınız için teşekkürler. Müsait olduğum ilk anda deneyeceğim ekleme:geçenlerde bir yerde denk geldi bu site> https://www.kodular.io/ bir kaç video kaydettim bilgisayara bunlardan yardım alıp, basitte olsa bir şey yapayım dedim :) eyuperol tarafından 04/Oca/21 20:08 tarihinde düzenlenmiştir İnsanları sevin, saygınızı gsterin ama kesinlikle insanlara acımayın. Çünkü acıdığınız anda acınacak duruma düşüyorsunuz

Ellerine sağlık hocam Tren odun seçmez hacı abi...

@eyuperol hocam logcat kısmında oluşan hata ile ilgili sana mesaj verir. O mesaja gre arama yapar netten bulabilirsin. Yada forumlarda konu aç. Yada facebook ta android gruplarında sorunu dile getir mutlaka çzüme ulaşırsın. Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.

Üşenmemiş, betiklerine kadar yazmış - grsel koymuş! yav byle adamlara bayılıyorum yemin ederim... Ellerine, kollarına sağlık hocam. Makaleyaz. Net - Türkiye'nin Makale Alım-Satım Platformu

Ellerine sağlık. +1 Bravo diyorum. anca gidersin...

Ellerine sağlık. https://www.youtube.com/watch?v=WC3-71NKwPw

Eline, koluna, diline, dusuncene, klavyene saglik hocam. Peki dusuk ozellikli bilgisayarlarda android studio'yu verimli olacak sekilde calistirmanin bir yolu var midir? Benim kulusturde guc bela calistirmayi becerdim ama pek uygulama gelistirmeye uygun bir ortam olmadi. Aslinda basit sekilde uygulama gelistirmek icin app inventor iyi ama online ve gorselliginin kotu olmasi biraz kotu, kodular gorsel olarak bir tik daha iyi ama yine online olmasi can sikici. Yine hobi niyetli oyun gelistirme icin tarayici uzerinden construct 3'u kullandim, epey keyifliydi. Tarayici kullanarak calissada sisteme girip sayfayi bir defa yukledikten sonra internet olmadan da calisabiliyordu . Yine de gunun sonunda android icin soyle heh diyebilecegim bir seyle henuz karsilasmadim. Sozun ozu tavsiye edebilecegin epey hafif offline gelistirme ortami var mi? Hatta mumkunse atiyorum kotlin sisteme yuklenir, text editorde hiyerarsiye dikkat ederek yazabilirim. Tabi bu surecin de sac bas yolduracak cinsten olmamasi lazim. Misal bilgisayar icin olmasada telefon icin yapilmis super bir uygulama, pythonista. Sunun android surumu olsa hic dusunmez alirdim. Qpython var android için. Wasm da çok deneysel henüz :) 0x0480 takilin madem

ncelikle emeğine sağlık çok sık grülmüyor bu konular artık. Yeni başlayanlar için güzel kaynak olabilir ama kitabın ortasından başlamışsın gibi. "İlk olarak bir tane boş activity açalım." demişsin ama nerde açacak bunu? :) Yazılım araçlarını ve kütüphaneleri belirtirsen iyi olur. Hazırlık kısımıda eklenerek, Tahribatta dkümanlara eklenebilir bir içerik. Nerde o eski minecraftçılar. Unutulmadın X3uqM4 - Tahribatın yanlışlıkla banlanmış en bahtsız müridi. Byle bir şans nasıl olabilir? Banlanmış bir üyenin login olmaya çalıştığındaki IP sini sen kalk 1 gün sonra tahribata girerken nasıl denk geldiyse onun IP siyle gir. Bunu bir admin grsün fark etsin ve AB ban ı al şaka gibi :|

Ellerine sağlık. Bu tarz mesajlarını grünce 2000li yılların başında webhocam yılları geliyor aklıma :) Klasik ASP li güzel yıllar :) Bu dahil; tüm genellemeler yanlıştır! Yolcu; Kendi Yolunda... Şükür biz Allahtan başka sahibi olmayanlarız!

Eline, koluna, diline, dusuncene, klavyene saglik hocam. Peki dusuk ozellikli bilgisayarlarda android studio'yu verimli olacak sekilde calistirmanin bir yolu var midir? Benim kulusturde guc bela calistirmayi becerdim ama pek uygulama gelistirmeye uygun bir ortam olmadi. Aslinda basit sekilde uygulama gelistirmek icin app inventor iyi ama online ve gorselliginin kotu olmasi biraz kotu, kodular gorsel olarak bir tik daha iyi ama yine online olmasi can sikici. Yine hobi niyetli oyun gelistirme icin tarayici uzerinden construct 3'u kullandim, epey keyifliydi. Tarayici kullanarak calissada sisteme girip sayfayi bir defa yukledikten sonra internet olmadan da calisabiliyordu . Yine de gunun sonunda android icin soyle heh diyebilecegim bir seyle henuz karsilasmadim. Sozun ozu tavsiye edebilecegin epey hafif offline gelistirme ortami var mi? Hatta mumkunse atiyorum kotlin sisteme yuklenir, text editorde hiyerarsiye dikkat ederek yazabilirim. Tabi bu surecin de sac bas yolduracak cinsten olmamasi lazim. Misal bilgisayar icin olmasada telefon icin yapilmis super bir uygulama, pythonista. Sunun android surumu olsa hic dusunmez alirdim. vatandaşa kafam girsin!..

@ontedi sağol kıralım Kurtlar tasma takmaz...