Android AbsoluteLayout yerine RelativeLayout

Başlatan sem, 07 Ocak 2012 - 01:06:40

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

sem

Android programlamanın pek bahsi geçmiyor forumda fakat ilgilenen arkadaşlar için;

Android'de View yerleşimleri için kullanılan birimler yerleşimi dikey, yatay ya da derinlik sırasına (z-order) göre yapılıyor... AbsoluteLayout ise ekran üzerinde istenilen koordinata View koyabilmemizi "sağlıyordu"... Artık sağlamıyor çünkü aynı işlevi diğer ViewGroup'lar ile yapabiliyoruz.

Referanslardan alıntı:

Alıntı YapThis class is deprecated.
Use FrameLayout, RelativeLayout or a custom layout instead.

RelativeLayout'un bir çok örneğinde hatta benim denk geldiğim hepsinde göreceli yerleşim anlatılıyor. Yani X View'ini Y'nin sağına koy, soluna koy, aşağısına koy vs..

RelativeLayout aynı zamanda ekran üzerinde X,Y koordinatlarını da destekliyor. Dökümanlarda FrameLAyout!unda desteklediği söyleniyor fakat "ben beceremedim" açıkcası... Fakat RelativeLAyout'ta hiç bir sorun ile karşılaşmadım...

Örneğin bir button'u 30, 50 koordinatlarına yerleştirirken yapılması gereken RelativeLayout biriminin LayoutParams sınıfından yararlanmak:



RelativeLayout rl = new RelativeLayuout(this);
RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT /*MATCH_PARENT*/, RelativeLayout.LayoutParams.WRAP_CONTENT);
Button button = new Button(this);

rl.addView(button, rlp);
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

empax

Bu aralar Java'ya basladim belli bir duzeye geldikten sonra Android'e yonelmek istiyorum. Bir yandan da ASP.NET ile tez hazirlayacagim umarim hepsini goturebilirim. :)
Paylasim icin tesekkurler :)
بسم الله الرحمن الرحيم
|ACEMİLER İÇİN İLK DURAK|Çözüldü|Kod etiketi|

sem

VB ve C# ile ilgili başlıklarınız olduğunu da hatırlıyorum... Hepsi aynı anda biraz yavaş ilerler, kendimden biliyorum =)

".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

travego0403

Başlık ile alakasız son konuşulan bir konu ile alakalı bir soruda ben sorayım. :)

Android programlamaya girebilmek için ne kadar Java bilinmesi gerekir? Konsol uygulamaları yazabilmek yeterli midir? OOP (NYP) bilinmesi gerekiyordur herhalde.
Swing(? Arayüz için kütüphanenin adıydı galiba) bilmeye gerek yoktur herhalde.
"Matematik bir dildir ve bu dilde şairlere fizikçi denir." Richard Feynman

sem

Bilir kişi olarak konuşup da "şu kadar bilinmesi gerekir" demek istemem =)

Ben ne yaptım onu söyleyeyim; C++ bilgim ile zaten NYP (OOP)'den haberim vardı =) ek olarak QT kodlamışlığım da vardı... Android programlamaya başlamadan önce bir Java PDF'i indirdim... Yaklaşık 900 sayfa idi.... Okumaya başladım, bir gün boyunca gerekli şeyleri okudum... Sonra söz dizim (syntax) olarak C/C++ ile aynı olduğunu gördüm Java'nın... Nesne yapıları ise "genel anlamda"  C++'a çok benziyordu... Tabii farklar var final = const gibi  ya da daha yapısal farklar vs...

Sonra bu kadarcık Java bilgimle doğrudan Android'e yöneldim... Gerekli olan yerlerde Java referanslarına dönmem gerekti doğal olarak... Hala daha gerektiği zaman referanslara dönüyorum ama C kodlarken bile referanslara dönerken Java'da dönmek çok doğal kalıyor tabii benim için...

Senin C++ bilgin benden çok daha ileride, QT kodlamışlığın da var... Benden çok daha çabuk ısınırsın gibime geliyor Android konusuna...

Son soru için ise, Android konusunda epey seviyemi ilerlettim diyebilirim.... Swing'den haberim yok şu anda =) Android kütüphaneleri doğrudan arayüze yönelik aslında, diğer genel tüm arayüzsüz birimler daha doğrusu bir çoğu diyeyim de kesinlik belirtmiş olmayayım =) Javadan geliyor zaten (hashtable, list vs gibi birimler)... Bunları da STL'den biliyorsun zaten aslında sen... Sadece include değil de import kullanmış olacaksın o kadar =)
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

krwlng

Android'e yakında c++ desteği gelecek yani bir nevi hem java hem c++ ile karışık kodlama yapılabilecek, söylenilen gibi olursa Android uygulama pazarını tamamen eline geçirir.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

sem

@krwlng dediğin gibi C/C++ ile kodlanabilecekmiş uygulamalar, hangi versiyon ile bu destek gelecek bilmiyorum fakat şu anda da C/C++ ile geliştirme yapılabiliyor...

SDK dışında ayrıca NDK desteği de sunuluyor... Bu Native Development Kit sayesinde C/C++ kodlarını yazabiliyoruz fakat şöyle enteresan bir durum var; yazılan kodlar ayrı bir uygulama olmuyor, yine aynı uygulama içerisinde yani yine Dalik Virtual Machine içerisinden çalışıyor. En önemlisi hiç döküman yok =)

Normal C/C++ çalışan dosyalarını ne zaman yaratabileceğiz, ya da bu diller ile yazdığımızda yine DVM ile mi çalışmış olacağız konularında fikrin var mı acaba?
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

travego0403

C/C++ çıların başı kel mi? :) Android gibi ortalığı kasıp kavuran bir platform için bir tek Java kullanılması biraz kısıtlayıcı oluyordu. Belki C/C++ kullanılabilir olduğu zaman uygulamaların sistem gereksinimleri de düşer. Bazı yerlerde okuyorum falan uygulama şu model telefonda takılıyor, şu modelde sorunsuz çalışıyor diye. Gerçi Android telefonum olmadığı için bunlar ne kadar doğru denemişliğim yok.(Şu an Java destekli Nokia 3600 slide kullanıyorum, daha önce Symbian sistemi olan 6600 kullanmıştım ve yavaşlığından gına gelmişti. Telefonun açılması 3-5 dakikayı buluyordu.Bu yüzden basit telefonlara yöneldim. Eğer cebimdeki telefon bozulursa bende Androidli bir telefon almayı düşünüyorum.)

Zamanında Javaya da göz gezdirmişliğim vardı. Tabi bu göz gezdirme seviye belirleyecek olursak anca sınıf tanımlamaya kadardır.Kendi sınıfımı anca yazabiliyordum. Bazen aklımada geliyor Javayı ilerleteyim diye bu mobil platformlar için uygulama geliştirebilmek için ama bir türlü başlayamıyorum.

Tabi mobil platformlar için işin başka bir yönüde, benim gibi (şimdilik) hobi için programlama yapanlar için para kazanabilinecek bir yönteminin olması. Belki çok ütopik gelebilir ama neden harçlığını çıkaramayasın. Ör: Angry Birds sadece bir oyun olarak başladı şu an oldukça büyük bir topluluğu, şirketi var sanırsam ve yan ürünlerinide piyasaya sürdüler.
"Matematik bir dildir ve bu dilde şairlere fizikçi denir." Richard Feynman