Android için C # programlama öğrenin

Yazar: John Stephens
Yaratılış Tarihi: 24 Ocak Ayı 2021
Güncelleme Tarihi: 2 Temmuz 2024
Anonim
Android için C # programlama öğrenin - Uygulamaların
Android için C # programlama öğrenin - Uygulamaların

İçerik


Bu yazıda, Android için C # programlamanın yanı sıra, Android geliştirmenin büyük programında nereye uyduğunu da öğreneceksiniz.

Bir Android geliştiricisi olmak ilginizi çekiyorsa, iki dilden birini öğrenmek zorunda olduğunuz izlenimini altında olabilirsiniz: Java veya Kotlin. Bunlar resmen Android Studio tarafından desteklenen iki dildir ve bu nedenle birçok rehber ve öğreticinin üzerinde durduğu iki dildir. Android geliştirme bundan daha esnek ve değişkendir ve buna yaklaşmanın daha birçok yolu vardır. Bunların çoğu C # ile ilgilidir.

oku:Android uygulamaları geliştirmek istiyorum - hangi dilleri öğrenmeliyim?

C #, örneğin Unity'de bir oyun kurmayı tercih ederseniz kullanacağınız programlama dilidir - ki bu aynı zamanda Play Store'daki en popüler ve en çok kullanılan oyun motorudur. Genel olarak, eğer oyun geliştirme ile ilgileniyorsanız, C # programlamayı öğrenmek faydalı olacaktır.


Xamarin kullanmak istiyorsanız, C # programlamayı da öğrenmelisiniz. Xamarin, geliştiricilerin, iOS ve Android'e kolayca taşınabilen Visual Studio kullanarak çapraz platform projeleri için mükemmel uygulamalar geliştirmesini sağlayan bir araçtır.

Yani, bununla birlikte, Android için C # programlamayı öğrenmek için kesinlikle iyi bir neden var. Bilmeniz gerekenlere bir göz atalım.

Hızlı bir giriş - C # vs Java

C #, 2000 yılında, Microsoft tarafından geliştirilen, modern, basit ve esnek olmak amacıyla geliştirilen bir nesne programlama dilidir. Java gibi (1990'da Sun Microsystem tarafından geliştirilmiştir), aslında C ++ 'dan gelişti ve bu ikisi arasında çok fazla benzerlik olmasını sağladı. Örneğin, her ikisi de aynı “sözdizimsel temeli” kullanır, yani aynı terminoloji ve yapıyı etkili bir şekilde kullanırlar. Birkaç ufak farklılık var, ancak bir dile aşina iseniz, o zaman özel olarak öğrenmenize gerek kalmadan diğerini çok fazla anlayabilmelisiniz. Yine de yeni başlayanlar için birçok kişi C # programlamayı öğrenmenin biraz daha kolay olduğunu görecektir.


Nesne yönelimli diller olarak, hem C # hem de Java, nesneleri sınıflar üzerinden tanımlayacaktır. Bu, kod snippet'lerinin tekrar tekrar kullanılmasına izin veren modüler bir yaklaşımdır.

C #, Java'dan farklı olsa da, delegelerin kullanımı, olay dinlemeye yaklaşımı, sanal ve nihai özellikler, örtülü döküm ve daha fazlası.

İyi haber: aslında C # öğrenmeye başladığınızda bunun ne anlama geldiğini bilmek zorunda değilsiniz. Başlıca paket servis, yapının C # 'da öğrenmesi biraz daha kolay olduğu ve daha az yazma gerektirdiği yönünde. Bu, özellikle Android için Java'yı öğrenirken, Android uygulamaları oluşturmak için gereken birçok sınıf ve API ile de tanışmanız gerekeceği göz önüne alındığında geçerlidir. Bu nedenle, C # programlamasını Java'ya adım atmak olarak da öğrenebilirsiniz.

Selam Dünya! C # 'de

Kodlama dünyasında gelenek, ne zaman yeni bir dil öğrenirseniz, ekranda "Merhaba Dünya!" Yazısını görüntülemek için basit bir program oluşturmalısınız. Bu, temel olarak gerekli araçları çalıştırıp çalıştırmanızı ve basit bir şey derlemenizi sağlar. Mikrofona “test etme, test etme, 1, 2, 3” okumak gibi bir şey!

Bu durumda, bir konsol uygulaması oluşturmak için Visual Studio'yu kullanacağız. Bu nedenle, devam edip Visual Studio'yu (ücretsiz) indirdikten sonra, şunu tıklayın:

Dosya> Yeni> Proje

Ve sonra:

Visual C #> Windows Klasik Masaüstü> Konsol Uygulaması (.NET Framework)

Bu şekilde Windows konsolunda çalışacak bir uygulama oluşturduk.

Bu şekilde, projenizin çıplak kemik yapısı ana pencerede görünecektir. Buna benzeyen bir kod sunulur:

namespace ConsoleApp3 {class Programı {statik void Ana (string args) {}}}

Şimdi sadece iki satır ekleyelim.

namespace ConsoleApp3 {sınıf Programı {statik boşluk boş Main (string args) {Console.WriteLine ("Merhaba Dünya!"); Console.ReadKey (); }}}

Bu, ekrana “Merhaba Dünya!” Yazacak ve ardından bir tuşa basmayı bekliyor. Kullanıcı herhangi bir tuşa dokunduğunda, program sona erecek ve otomatik olarak çıkacaktır.

Her iki çizginin de noktalı virgülle sona erdiğini unutmayın. Bunun nedeni, C # 'daki herhangi bir ifadenin, C # ile hattın bittiğini bildiren bir noktalı virgülle bitmesi gerektiğidir (Java'da aynıdır). Bunun tek istisnası, bir an sonra açıklayacağımız açık bir parantez ile hattın hemen takip edilmesidir.

Ekranın üstündeki “Başlat” düğmesine basın ve bu uygulamada görmenizi sağlayacak şekilde uygulamayı başlatmalıdır.

Sınıflar, etkili bir şekilde veri parçaları olan nesneleri tanımlayan kod parçalarıdır.

Peki tam olarak burada neler oluyor?

C # ile çalışmaya başlama: yöntemler ve sınıflar

Android için C # programlamayı öğrenmek için sınıfları ve yöntemleri anlamanız gerekir.

Sınıflar, etkili bir şekilde veri parçaları olan nesneleri tanımlayan kod parçalarıdır. Bununla başlamak için çok fazla endişelenmenize gerek yok: şu anda birlikte çalıştığınız kod sayfasının “sınıf” olarak adlandırıldığını ve projenizdeki diğer sınıflarla etkileşimde bulunabileceğinizi bilmek yeterli. Bir proje, tüm kodunuz oradan çalışarak yalnızca bir sınıfa sahip olabilir veya birden fazla olabilir.

Her sınıfın içinde ayrıca yöntemlerin olacak. Bu yöntemler, istediğiniz zaman o sınıfın içinden ve bazen de onun dışından başvurabileceğiniz kod parçacıklarıdır.

Bu durumda, sınıf denir program. Bu, en üstte yazan satır tarafından tanımlanır: class Program. Ve sağdaki “Solution Explorer” penceresini açarsanız, Program.cs dosyasını bulabileceksiniz. Sınıfın adı her zaman dosya adıyla aynıdır.

Ardından izleyen tüm kodu içerecek şekilde kıvrık bir braket kullanıyoruz. Kıvrımlı parantezler takip eden herşeyin birbirine ait olduğunu söylüyor. Dolayısıyla, braket kapanana kadar, aşağıdaki kodların tümü Programın bir parçasıdır.

Bunu ilk satırımız takip eder, aşağıdaki satırı tanımlayın:

statik boşluk Main (string args)

Bunu daha sonra açık köşeli parantezler takip eder, bu da bir sonraki kod bitinin “Main” yönteminin bir parçası olduğu anlamına gelir (hala Program sınıfı içindedir). İşte bizim “Merhaba Dünyamız” ı koyduğumuz yer.

“Statik geçersizlik” aslında bize bu yöntemin kendi kendine yeten bir şeyi (daha geniş program tarafından kullanılacak verileri değiştirmek yerine) yaptığını ve dış sınıflar tarafından referans alınamayacağını söyler. “String args”, bilgiyi daha sonra manipüle etme metoduna aktarmamızı sağlar. Bunlara “parametreler” ve “argümanlar” denir. Yine, henüz bunlardan herhangi biri için endişelenmenize gerek yok. Sadece “statik boşluk” ve ardından bir kelime, parantez ve küme parantezlerinin yeni bir yöntemin başlangıcını işaretlediğini bilin.

Sonraki iki satır eklediğimiz satırlar: konsolu alıyorlar ve sonra ekrana yazmak için komutlarına erişiyorlar ve bir tuşa basılmasını bekliyorlar.

Sonunda tüm parantezleri kapatıyoruz: ilk önce yöntem, sonra sınıf ve sonra sınıfın ait olduğu projenin adı olan “ad alanı” (bu durumda “ConsoleApp3” - Bu şekilde önceki test uygulamalarını yaptım) .

Şaşkın? Endişelenme, daha anlamlı olmak üzere.

Yöntemleri kullanarak

Yani yöntemler isimleri olan bir kod demetidir. Neden yöntemleri kullandığımızı göstermek için, yeni bir tane oluşturmak ve onu örnek olarak çalışmaya koymak yardımcı olabilir.

Bu nedenle, Program sınıfı içinde yaşayan yeni bir yöntem oluşturun (bu nedenle bu küme parantezlerinin içinde, ancak “Ana” ya ait parantezlerin dışında olması gerekir).

Buna “NewMethod” adını verin ve sonra içine yazdığınız iki satırı buraya yerleştirin. Bu böyle görünmeli:

sınıf Program {statik void Ana (string args) {} statik void NewMethod () {Console.WriteLine ("Merhaba Dünya!"); Console.ReadKey (); }}

Şimdi Ana yönteminizde NewMethod'a bir referans ekleyin, şöyle:

statik boşluk Main (string args) {ar ​​NewMethod (); }

Bu, daha sonra oluşturduğunuz yöntemi “çağırır” ve esasen programı bu yöne yönlendirir. Başlat'a bastığınızda, aynı şeylerin eskisi gibi olduğunu göreceksiniz. Şimdi hariç, istediğiniz kadar “NewMethod ();” yazıp istediğiniz kadar yazabilir ve birçok kod yazmak zorunda kalmadan metni tekrarlamaya devam edebilirsiniz.

Büyük bir program boyunca, bunun gibi kod parçacıklarına başvuru yapabilmek inanılmaz derecede güçlenir. Bu Android için C # programlama öğrenmeye çalıştığınızda anlamak için en önemli şeylerden biridir.

Bu şekilde istediğimiz kadar yöntem oluşturabiliriz ve bu şekilde çok düzenli ve düzenli bir kod parçasına sahip olabiliriz. Aynı zamanda, C # 'ya ve kullanabileceğimiz kütüphanelere “yerleşik” yöntemlere de başvurabiliriz. “Ana”, “yerleşik” bir yöntem örneğidir. Bu, tüm programların başlayacağı ve C # 'nın önce çalıştırması gerektiğini anladığı yöntemdir. Buraya bir şey sokmazsan, hiçbir şey olmayacak!

Bu durumda parantez içinde yer alan argümanlar bu nedenle yalnızca Microsoft’un Ana yöntemi tasarladığından dolayı gereklidir. Ancak parantezimizi boş bırakmakta iyiydik.

Değişkenleri kullanma

Şimdi kodumuzda biraz ilginç bir şeyler yapmanın zamanı geldi. Özellikle, programı daha dinamik hale getirmek için değişkenleri nasıl kullandığınıza bir göz atalım. C # programlama öğrenmek istiyorsanız, anlaşılması gereken en önemli şeylerden biridir.

Bir değişken temelde bir veri parçası için bir kaptır. Aklınızı lise matematiğine geri verin; böyle şeyleri gördüğünüzü hatırlayabilirsiniz:

10 + x = 13
X bul

Burada “x” bir değişkendir ve elbette temsil ettiği değer “3” dür.

Bu aynı zamanda değişkenlerin programlamada nasıl çalıştığını da gösterir. Burada belirtilenler dışında, değişken birçok farklı türde veriyi temsil edebilir: metin dahil.

Yeni bir değişken oluşturmak için önce C # 'ya ne tür veriyi kullanacağını söylememiz gerekir.

Böylece, NewMethod () yönteminizin içinde, önce değişkeninizi oluşturacak ve sonra ona bir değer atayacaksınız. Sonra onu “WriteLine” komutumuza ekleyeceğiz:

int numarası; sayı = 10; Console.WriteLine ("Merhaba Dünya!" + Sayı);

Herhangi bir tam sayı olabilen “tamsayı” adı verilen bir değişken kullandık. C # 'da “int” kullanarak bunlara atıfta bulunuruz. Bununla birlikte, örneğin “kayan nokta değişkeni” olan ve ondalık basamakları kullanmamıza izin veren bir “kayan nokta” kolayca kullanabilirdik.

Bu kodu çalıştırırsanız, şimdi “Merhaba Dünya! Ekrana 10 ”. Ve elbette, “sayı” nın değerini istediğimiz zaman değiştirebiliriz.

NewMethod () içinde “sayı” oluşturulduğundan, kodumuzun herhangi bir yerinden erişemiyoruz. Ama onu tüm yöntemlerin dışına yerleştirirsek, o zaman küresel olarak erişilebilir olacak. Bunu yapmak için, değişkenin aynı zamanda statik olduğundan da emin olmalıyız:

sınıf Program {statik int sayı = 10; statik boşluk Main (string args) {NewMethod (); } statik geçersiz NewMethod () {Console.WriteLine ("Merhaba Dünya!" + sayı); Console.ReadKey (); }}

Son olarak, bu verileri aktarabilmemizin bir yolu daha var ve bu onu argüman olarak kullanmak ve böylece yöntemimize aktarmak. Bu gibi görünebilir:

statik boşluk Main (string args) {int number = 10; Console.WriteLine ("Merhaba, adın ne?"); NewMethod (sayı); } statik geçersiz NewMethod (int sayı) {Console.WriteLine ("Merhaba Dünya!" + sayı); Console.ReadKey (); }}

Burada, NewMethod yöntemimizi, bir tam sayı olması gereken ve yöntem içinde “sayı” olarak adlandırılacak bir argümana ihtiyaç duyması olarak tanımlıyoruz. Bunu basitçe bu bilgiyi küme parantezlerine ekleyerek yapıyoruz. Daha sonra, yöntemi programın herhangi bir yerinden çağırdığımızda, bu değeri parantez içinde “geçmemiz” gerekir. Birden çok parametreli yöntemler oluşturabilirsiniz, bu durumda listelenen değişkenleri virgüllerle ayırabilirsiniz.

Tüm bu farklı stratejilerin, verilerin denenmesi için kullanılmasının uygun olacağı farklı senaryolar vardır. İyi programlama, iş için doğru olanı bulmak demektir!

Bağımsız değişkenleri iletme ve dizeleri kullanma

Bir sonraki kod parçasını çalıştırmayı deneyin ve ne olacağını görün:

class Program {static void Main (string args) {Console.WriteLine ("Merhaba, adın ne?"); NewMethod (Console.ReadLine ()); } static void NewMethod (Dize KullanıcıAdı) {Console.WriteLine ("Merhaba" + KullanıcıAdı); Console.ReadKey (); }}

İsminizi girmeniz istendiğini ve Konsolun size bu konuda bilgi verdiğini bulmalısınız. Bu basit kod parçası, çok sayıda faydalı ders içermektedir.

Öncelikle, String olarak adlandırılan farklı bir değişkenin nasıl kullanılacağına dair bir örnek görüyoruz. Dize, bir isim ya da hikayenin tamamı olabilen bir karakter dizisidir.

Böylece, kolayca UserName = “Adam” yazabilirsiniz. Ancak bunun yerine, dizeyi konsoldan şu ifadeyle alıyoruz: Console.ReadLine ().

Yazabilirdik:

Dize Kullanıcısı; Kullanıcı = Console.ReadLine (); NewMethod (kullanıcı);

Ancak kodumuzu olabildiğince temiz tutmak için, bu adımları atladık ve “ReadLine” ı doğrudan parantezin içine yerleştirdik.

Daha sonra bu dizgiyi NewMethod'a iletiriz ve kullanıcıyı zaten bildiğiniz yöntemi kullanarak selamlarız.

Dize, bir isim ya da hikayenin tamamı olabilen bir karakter dizisidir.

Umarım, şimdi C # 'nın neden yazıldığı ve biraz esnek ve güçlü bir yazılım oluşturmak için değişkenler ve yöntemler gibi şeyleri nasıl kullanabileceğinizi biraz anlamaya başlıyorsunuz.

Ancak C # programlama: akış kontrolü öğrenmek istiyorsanız bilmeniz gereken bir önemli husus daha var.

C # akış kontrolünü öğrenin ve basit sınavlar oluşturun!

Kodlamada değişken kullanmamızın sebeplerinden biri de programlarımızı daha sonra kolayca düzenleyebilmemizdir. Bir diğeri ise kullanıcıdan bilgi alabilmeniz veya rasgele üretebilmenizdir.

Fakat belki de C # değişkenlerini öğrenmenin en iyi nedeni, programlarınızın dinamik hale gelebilmesidir: bu yüzden nasıl kullanıldığına bağlı olarak farklı tepkiler verebilmeleridir.

Bu amaçla, “akış kontrolüne” veya “koşullu ifadelere” ihtiyacımız var. Bunlar, bir değişkenin değerine bağlı olarak, kodu birden fazla şekilde çalıştıracağımızı söylemenin gerçekten süslü yolları.

Ve bunu yapmanın en güçlü yollarından biri “if” ifadesidir. Bu örnekte, ana kullanıcılarımızı kullanıcı adlarını arayarak diğerlerinden farklı bir şekilde selamlayalım.

static void NewMethod (Dize KullanıcıAdı) {Console.WriteLine ("Merhaba" + KullanıcıAdı); if (UserName.Equals ("Adam"))) {Console.WriteLine ("Hoşgeldin efendim"); } Konsol.ReadKey (); }

“If” ifadeleri parantez içerisine girecek olan bir ifadenin geçerliliğini test ederek çalışır. Bu durumda, UserName dizesinin “Adam” dizgisiyle aynı olup olmadığını soruyoruz. Köşeli parantez içindeki bu ifade doğruysa - iki dize aynıdır - o zaman aşağıdaki parantez içindeki kod çalıştırılır. Değilse, bu satırlar atlanacaktır.

Aynı şekilde, tam sayıları ve değişkenleri karşılaştırabiliriz ve birinin diğerinden daha büyük olup olmadığını test edebiliriz, vb. Rus bebekleri gibi birbirlerinin içindeki ifadeler bile farklı olabilir. Bunlara “iç içe ifs” diyoruz.

Bir dahaki sefer

Switch ifadeleri gibi şeyler de dahil olmak üzere akış kontrolü için kullanabileceğiniz daha birçok strateji vardır. Umarım, bazı yararlı şeyler yapmaya başlamak için bu ifadeleri ve teknikleri nasıl kullanabileceğimizi zaten görebilirsiniz. Bu kodu kolayca zaten bir teste dönüştürebilirsiniz!

Sonunda Unity gibi araçlarla C #, tamamen işlevsel oyunlar oluşturmanıza olanak sağlar!

Ancak gerçekten etkileyici araçlar ve oyunlar yapmak için keşfetmemiz gereken birkaç şey daha var. Çok sürpriz! İkinci kısım olacak!

Bir sonraki derste, zaman içinde yinelenen döngüler yaratmanın yanı sıra yeni sınıflar yaratmanın ve onlarla etkileşimin nasıl olacağını keşfedeceksiniz. Sonra görüşürüz!

Google Kamera uygulamaı, Galaxy 10, 10 Plu ve 10e'nin napdragon 855 ürümlerine taşınmıştır. Uygulama, HDR +, portre modu ve çok konuşulan Gece Görüş modunu yeni amung bayr...

Google, Uçuş hizmetlerini uçuş gecikmeleri hakkındaki tahminlerle güncelliyor.Tahminler, uçuş gecikmelerinin nedenleriyle birlikte, Google’ın makine öğrenmei algoritmalarından...

İlginç Yayınlar