Son Forum Aktiviteleri
5Label kaydırma
Aşağıdaki gibi 4 tane label oluşturdum, eğer telefon numarası girildiyse telefon numarası görünüyor fakat telefon numarası boş ise label'ı gizliyorum bu durumda adresim aşağıda kalıyor.
istediğim basitçe şu:
if telefonNumaram.hide == true{
adresim 2cm yukarı çıksın(telefonNumaram'ın yerini alsın yani)
}
Otomatik boyutlandırma da var, o işi karıştırır mı bilmiyorum. Telefonun boyutuna göre yerleşim gerçekleşiyor.
Dil Swift
Teşekkürler.
Twitter Uygulaması Geliştirme - Duygu Haritası
iftt ile google e-tablolara çekebilirsin fakat twitter ın api kullanarak tweet okumadaki sınırına takılacaksın. Tweet kaçırmak istemiyorsan twitter ın api dökümanlarını biraz karıştır bildiğim kadarıyla herhangi bir sınır olmadan tweetleri çekemiyorsun.
https://dev.twitter.com/rest/public/search
swift eğitimleri nezaman?
Hergün girip geldi mi diye baktığım için site daha çok hit alıyor :)
swift geldi, şimdi ne olacak
Bir gelişme varmı eğitim hakkında?
Rom Hazırlama
Eğitim uygulama odaklı fakat uygulama yazmayı öğrendikten sonra yaptığınız romlara özel uygulamalar geliştirerek fark yaratabilirsiniz. Bir zamanlar hazırladığım yazı aşağıdadır. Başlangıç seviyesi için incelenebilir.
Gerekli Olan Araçlar
Winrar
Not Defteri ( txt editor )
Sign Tool ( İmzalama Aracı )
Gelişmiş Araçlar
Adb ve Tar ( Odin Romu yapmak için)
De-odexer
*romdosyası*.zip İçinde bulunan klasörler (basit açıklama)
META-INF - .zip dosyasının nasıl yüklenmesi gerektiğini hangi dosyanın nereye atılması gerektiğini telefona gösteren "updater-script" dosyasının içinde bulunduğu klasör.
data/app - Telefona kullanıcı tarafından yüklenmiş programların içinde bulunduğu klasör. (rom yüklendikten sonra bu klasör içindeki uygulamalarda telefona yüklenir isteğe göre telefon açıldıktan sonra root erişimi olmadan silinebilir.
updates - Kernel ve modem dosyalarını içinde bulunduran klasör.
system/app - Sistem uygulamalarını barındıran klasör. Telefon açıldıktan sonra root erişimi olmadan bu klasör içindeki uygulamalar silinemez.
system/framework - Tema kilit ekranı batarya simgesi animasyonlar hangi butonun nerede bulunacağı gibi bilgileri barındıran klasör.
system/media - Bootanimation ve telefon seslerini barındıran klasör.
updater-script
zip dosyasının nasıl ne şekilde nereye yüklenmesini gösteren dosyadır.
Belli başlı komutlar
ui_print - Rom yüklenirken ekrana yazı yazar.
mount - belirlediğimiz klasörü yazılabilir hale getirir.
set_perm - izinleri ayarlar.
show_progress - yükleme barı.
delete_recursive - belirlediğimiz klasörü temizler/içindekileri siler.
package_extract_dir - zip içindeki belirlediğimiz klasörden telefonda belirlediğimiz bir klasöre dosyaları aktarır
Bir Örnek:
ui_print(" "); ui_print(" "); ui_print(" "); ui_print(" ");ui_print(" "); ui_print(" *************************");ui_print(" **** Sarper Kaya ****"); ui_print(" *************************");ui_print(" "); ui_print(" "); ui_print(" "); ui_print(" "); ui_print("Sarper S"); ui_print(" "); ui_print(" "); ui_print(" "); ui_print(" "); mount("vfat", "/dev/block/mmcblk0p1", "/mnt/sdcard"); assert(is_mounted("/mnt/sdcard")); mount("rfs", "/dev/block/stl3", "/efs"); assert(is_mounted("/efs")); package_extract_file("script/efsbackup.sh", "/tmp/efsbackup.sh"); set_perm(0, 0, 0777, "/tmp/efsbackup.sh"); run_program("/tmp/efsbackup.sh", "backup"); run_program("/sbin/mount", "/dev/block/stl9", "/system"); run_program("/sbin/mount", "/dev/block/stl10", "/dbdata"); run_program("/sbin/mount", "/cache"); run_program("/sbin/mount", "/dev/block/mmcblk0p2", "/data"); show_progress(0.100000, 60); ui_print(" "); ui_print("Sistem Temizleniyor"); ui_print("Bellek Temizleniyor"); ui_print("Gecici Ogeler Temizleniyor"); ui_print(" "); delete_recursive("/system"); delete_recursive("/cache"); delete_recursive("/data/dalvik-cache"); ui_print(" "); ui_print("Dosyalar Kopyalaniyor"); ui_print(" "); package_extract_dir("system", "/system"); package_extract_dir("data", "/data"); package_extract_dir("sdcard", "/sdcard"); package_extract_dir("updates", "/tmp"); show_progress(0.100000, 10); ui_print(" "); ui_print("Yapilandiriliyor"); ui_print(" "); symlink("toolbox", "/system/bin/cat", "/system/bin/chmod", "/system/bin/chown", "/system/bin/cmp", "/system/bin/date", "/system/bin/dd", "/system/bin/df", "/system/bin/dmesg", "/system/bin/getevent", "/system/bin/getprop", "/system/bin/hd", "/system/bin/id", "/system/bin/ifconfig", "/system/bin/iftop", "/system/bin/insmod", "/system/bin/ioctl", "/system/bin/ionice", "/system/bin/kill", "/system/bin/ln", "/system/bin/log", "/system/bin/ls", "/system/bin/lsmod", "/system/bin/mkdir", "/system/bin/mount", "/system/bin/mv", "/system/bin/nandread", "/system/bin/netstat", "/system/bin/newfs_msdos", "/system/bin/notify", "/system/bin/printenv", "/system/bin/ps", "/system/bin/reboot", "/system/bin/renice", "/system/bin/rm", "/system/bin/rmdir", "/system/bin/rmmod", "/system/bin/route", "/system/bin/schedtop", "/system/bin/sendevent", "/system/bin/setconsole", "/system/bin/setprop", "/system/bin/sleep", "/system/bin/smd", "/system/bin/start", "/system/bin/stop", "/system/bin/sync", "/system/bin/top", "/system/bin/umount", "/system/bin/vmstat", "/system/bin/watchprops", "/system/bin/wipe"); symlink("/system/xbin/su", "/system/bin/su"); ui_print(" "); ui_print("Izinler Aliniyor"); ui_print(" "); set_perm_recursive(1000, 1000, 0771, 0644, "/data/app"); set_perm_recursive(0, 0, 0755, 0644, "/system"); set_perm_recursive(0, 2000, 0755, 0755, "/system/bin"); set_perm_recursive(0, 0, 0755, 0755, "/system/etc"); set_perm(0, 3003, 02755, "/system/bin/netcfg"); set_perm(0, 3004, 02755, "/system/bin/ping"); set_perm(0, 2000, 06750, "/system/bin/run-as"); set_perm_recursive(1002, 1002, 0755, 0440, "/system/etc/bluetooth"); set_perm(0, 0, 0755, "/system/etc/bluetooth"); set_perm(1000, 1000, 0640, "/system/etc/bluetooth/auto_pairing.conf"); set_perm(3002, 3002, 0444, "/system/etc/bluetooth/blacklist.conf"); set_perm(1002, 1002, 0440, "/system/etc/dbus.conf"); set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks"); set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh"); set_perm_recursive(0, 0, 0777, 0777, "/system/etc/init.d"); set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp"); set_perm_recursive(0, 2000, 0755, 0755, "/system/vendor/bin"); set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin"); set_perm(0, 0, 04755, "/system/xbin/su"); set_perm(0, 0, 04755, "/system/xbin/busybox"); set_perm(0, 0, 0777, "/system/etc/init.d/S98jupaengine"); set_perm(0, 0, 0777, "/system/jupa/JP_darkyramhack"); set_perm(0, 0, 0777, "/system/jupa/JP_deadline"); set_perm(0, 0, 0777, "/system/jupa/JP_juwes_ramscript"); set_perm(0, 0, 0777, "/system/jupa/JP_kernelscheduler"); set_perm(0, 0, 0777, "/system/jupa/JP_sdreadtweak"); set_perm(0, 0, 0755, "/tmp/bmlwrite"); ui_print(" "); ui_print("Busybox Yukleniyor"); ui_print(" "); run_program("/system/xbin/busybox", "--install", "-s", "/system/xbin"); run_program("script/wipe"); show_progress(1.000000, 0); show_progress(0.100000, 60); show_progress(0.100000, 10); ui_print(" "); ui_print("Modem Yukleniyor"); ui_print(" "); run_program("/tmp/bmlwrite", "/tmp/modem.bin", "/dev/block/bml12"); ui_print(" "); ui_print("Kernel Yukleniyor"); ui_print(" "); run_program("/tmp/bmlwrite", "/tmp/zImage", "/dev/block/bml7"); show_progress(1.000000, 0); run_program("/sbin/umount", "/system"); run_program("/sbin/umount", "/dbdata"); run_program("/sbin/umount", "/cache"); run_program("/sbin/umount", "/data");ui_print(" "); ui_print(" *************************");ui_print(" **** Sarper Kaya ****"); ui_print(" *************************");ui_print(" "); ui_print(" ");ui_print(" ");ui_print(" ");ui_print(" ");ui_print(" ");ui_print(" ");ui_print(" ");ui_print(" ");ui_print(" "); ui_print("Yukleme Tamamlandi"); ui_print(" "); run_program("/sbin/reboot");
System/app
Bu klasör içinde system dosyaları bulunuz istediğiniz değişiklikleri yapın silin uygulama ekleyin fakat bilmediğiniz uygulamalara dokunmayın yoksa telefon açılmaz. Kullanıcının silmesini istemediğiniz uygulamalarıda bu klasöre atabilirsiniz.
data/app
Bu klasöre telefona yüklenecek uygulamaları atabilirsiniz. Kullanıcı dilerse bu uygulamaları romu yükledikten sonra silebilir.
System/media
Bootanimation bu klasöre atabilirsiniz.(Kernelin ve romun bootanimation desteklemesi lazım). Audio klasöründende seslere ulaşabilirsiniz dilediğiniz gibi değişiklik yapabilirsiniz.
Framework-res.apk Düzenleme
system/Framework klasörü içinde bulunur. Winrar ile açın. res/drawable-hdpi klasörünü dışarı çıkartın tema resimlerinin içinde olduğunu göreceksiniz. Sadece uzantısı .png olanları değiştirin diğerlerine dokunmayın.
res/anim içindede animasyon verileri bulunur. güzel bir animasyon gördüğünüzde sizin telefonunuza uyumluysa bu klasöre atabilirsiniz.
SystemUI.apk
System/app içinde bulunur. Bildirim barındaki resimleri içerir. Winrar ile açın res/drawable-hdpi klasörü içindekileri değiştirebilirsiniz.
Updates
zImage yani kernel dosyası içinde bulunur romunuzun sürümüne uygun bir kernel bulun ve bu klasör içine atın. İndirdiğiniz kernel dosyası .tar uzantılıysa winrar ile açıp içindeki zImage dosyasını kopyalayabilirsiniz.
build.prop
system içinde bulunur. Firmware versiyonu Rom ismi gibi bilgileri barındırır. Not defteriyle açın. "ro.build.display.id" bölümüne romunuzun ismini girebilirsiniz.