top-image

HTC, mobil uygulama geliştiricilerinin beklediği HTCDev platformunu kullanıma açtı. HTCDev.com adresinden erişilebilen platformda OpenSense SDK da yayınlandı.
HTCDev, uygulama geliştiriciler için araçlar, kaynaklar ve bilgilerin paylaşıldığı bir platform. OpenSense SDK ile geliştiriciler HTC’nin akıllı telefonları zenginleştirmenin kapısını aralıyor ve bu kaynaklardan ücretsiz olarak faydalanabiliyor. HTC cihazlarının ilk açılış yüklemeleri için geçerli olacak sistem de yakında bu platformda sunulacak olan ‘Unlock Bootloader’ aracı ile kaldırılabilecek.
Sense 3D ve Scribe adlı dijital kalem arayüzü için de SDK’lar yayınlayan HTC, Android’li cihazlarının kaynak kodlarını ve Android SDK‘sını da geliştiricilere sunuyor.

Kaynak: webrazzi.com

Nokta.com Ankara ofisimize, tam zamanlı olarak, mobil geliştirme ekibimizin içinde yer alacak, öğrenmeye hevesli, yeni teknolojileri ve gündemi takip eden, mobil dünyada gerçekleştirebilecek hayalleri olan ve bu yönde kendisini her zaman geliştiren takım çalışmasına uygun ekip arkadaşı arıyoruz.

Genel Nitelikler: 
Mobil cihazlar için uygulama geliştirme,
Daha önce herhangi bir mobil platformda uygulama geliştirme tecrübesine sahip,
C++, Objective-C,  Java  programlama dillerinden en az birinde tecrübesi olan,
iPhone, Android, Symbian, Blackberry, Microsoft Phone 7, Bada SDKlarından en az birisine hakim,
Qt, XCode, Eclipse gibi geliştirme ortamlarını kullanmış,
Öğrenme kabiliyeti yüksek,
İngilizce bilen.

* En iyi uygulamanızın download linkini (appStore, Ovi, Android Market, App World vs..) başvurunuz esnasında ön yazıya ekleyebilirsiniz.

İş Tanımı:
Noktacom Medya bünyesinde mobil projelerin hayata geçirilmesi.

Başvuru:
 basvuru@nokta.com

9 kişi bu yazıyı beğendi.

 TBD Genç‘in organizasyonu ve TOBB ETÜ Bilişim Teknolojileri ve Robot Topluluğu‘nun ev sahipliği yaptığı Android Programlama ve Mobil Dünya seminerini gerçekleştirdik.

Bir konuşmacı olarak katılımın fazla olması beni en çok sevindiren noktaydı. Dinleyici kitlesinin çoğunlunun öğrenci arkadaşlardan oluşmasından ötürü geleceğin mobil  programcılara hitaben konuşmaktan zevk aldım. Şehir dışından gelen misafirlerimizin varlığı ise heyecanlan vericiydi.

İlk bölümde, mobil dünyanın istatistiklerine değindik. Dünya ve Türkiye pazarından konuştuk. Android nedir? ve Neden Android? sorularına yanıt arayan ikinci bölümümüzde, SDK ortamını tanıdık ve bir Hello World yazdık. Üçüncü bölümde ise, blogcu.com üzerinden seçtiğimiz bir blogun client uygulamasını Eclipse ortamında canlı olarak  yazdık. Son kalan yarım saat ise, tamamen soru-cevap şeklinde ilerledi. Sanırım en faydalı kısım, son kısım oldu; zira kafalarda kalmış olan soru işaretlerine gidermek; etkileşimin en fazla olduğu bölümdü. Bu bölümde, aynı konu üzerinde farklı farklı kişilerden gelen zinceleme sorulara cevap vermek oldukça keyif vericiydi:)

    

Etkinlikte yapılan projelerin workspace’lerini buradan indirebilirsiniz. Ayrıca sunum dosyalarına aşağıdan ulaşabilirsiniz.

7 kişi bu yazıyı beğendi.

Yoksa yeni çıkacak Android Eclipse Plugin’de gelişmiş ve sürükle bırak mantığıyla çalışan bir Visual Editor mü geliyor?

 

 

kaynak: http://androiddevnotes.com/2010/11/22/1290402300000.html

7 kişi bu yazıyı beğendi.

TBD Genç’in organizasyonu ile Ankara’da “Android Programlama ve Mobil Dünya” konulu bir seminer düzenliyoruz.

TOBB ETÜ Bilişim Teknolojileri ve Robot Topluluğu‘nun ev sahipliği yaptığı etkinliğimiz aşağıdaki konulardan oluşacak:

• Mobil İşletim Sistemleri ve Uygulama Pazarı
• Neden Android, Android SDK’ya Giriş
• Android ile Örnek Bir Uygulama Geliştirme

Etkinlik ile ilgili bilgilere aşağıdan ulaşabilirsiniz:
Tarih: 27 Kasım 2010 Cumartesi
Saat: 13.30-16.30
Yer: TOBB ETÜ Süleyman Sarıtaş Amfisi / Ankara (harita)
Facebook sayfası.
tbd genç duyuru sayfası.

5 kişi bu yazıyı beğendi.

Artık sitemizdeki, “İş ilanları” sayfasından, Android ile ilgili yayınlanan güncel iş ilanlarına direk ulaşabilirsiniz.

3 kişi bu yazıyı beğendi.

İlk çıkan Android telefonlarında, kullanıcıları memnuniyetsiz bırakacak onlarca süprizn yanı sıra programcıları da bekleyen bir süpriz vardı.Telefon üzerinde Debug yapılamıyor ya da telefonu bu moda getirmek için zahmetli adımlar geçmek gerekiyordu.

Dün test etme şansı bulduğum Samsung Glaxy S telefonunda ise, bir çok problemin yanı sıra, programcılarda düşünülmüş. “Debug” ya da Türkçe ismi ile “Hata ayıklama” modunu rahatlıkla kullanabiliyoruz. Bu da bize gerçek bir cihaz üzerinde programımızı test etme şansı veriyor.

Şimdi adım adım programımızı telefon üzerinde nasıl debug edeceğimize bakalım.

0.) Daha önce bilgisayarınıza Android uygulama geliştirme ortamını kurmadıysanız öncelikle bunu kurun. (1. konu, 2. konu)
0.) Telefon ekranına “Hello world” çıkartabilecek kadar bir uygulama yazın.  (video’yu izleyin)
1.) Telefonunuzu debug moda alın. Ayarlar -> Uygulamalar -> Gelişim -> USB Hata ayıklama -> seçiniz.

2.) Telefonunuzu USB aracılığı ile bilgisayara bağlayın. Telefon ekrarnınn en üstünde debug mod ile alakalı bir bilgilendirme mesajı çıkacaktır.

3.) Eclipse üzerinde, Run Configurations -> Android projenizi seçiniz -> Target -> Deployment Target Selections -> Manual (otomatik olarak emulatör üzerinde başlamasını iptal ettik)

4.) Eclipste Run ‘ı seçtiğimizde karşımıza çıkan ekranda kendi telefonumuzu “Running Android Device” bölümünde görmemiz gerekiyor.

5.) Cihazımızı seçiyoruz ve “OK” butonuna tıklıyoruz ve telefonumuza bakıyoruz:)

7 kişi bu yazıyı beğendi.

Programınızda kullanacağınız bir BroadcastReceiver için gerçekleştirebileceğiniz tüm aksiyonlar aşağıdaki listede mevcuttur.

(BroadcastReceiver konusunda yeniyseniz ve nasıl kullanacağını bilmiyorsanız, Omer Saatcioglu’nun yazar-bozardaki makalesini okuyabilirsiniz.)

android.bluetooth.intent.action.BONDING_CREATED
android.bluetooth.intent.action.BONDING_REMOVED
android.bluetooth.intent.action.DISABLED
android.bluetooth.intent.action.DISCOVERY_COMPLETED
android.bluetooth.intent.action.DISCOVERY_STARTED
android.bluetooth.intent.action.ENABLED
android.bluetooth.intent.action.HEADSET_STATE_CHANGED
android.bluetooth.intent.action.MODE_CHANGED
android.bluetooth.intent.action.NAME_CHANGED
android.bluetooth.intent.action.PAIRING_CANCEL
android.bluetooth.intent.action.PAIRING_REQUEST
android.bluetooth.intent.action.REMOTE_ALIAS_CHANGED
android.bluetooth.intent.action.REMOTE_ALIAS_CLEARED
android.bluetooth.intent.action.REMOTE_DEVICE_CONNECTED
android.bluetooth.intent.action.REMOTE_DEVICE_DISAPPEARED
android.bluetooth.intent.action.REMOTE_DEVICE_DISAPPEARED
android.bluetooth.intent.action.REMOTE_DEVICE_DISCONNECTED
android.bluetooth.intent.action.REMOTE_DEVICE_DISCONNECT_REQUESTED
android.bluetooth.intent.action.REMOTE_DEVICE_FOUND
android.bluetooth.intent.action.REMOTE_NAME_FAILED
android.bluetooth.intent.action.REMOTE_NAME_UPDATED
android.intent.action.AIRPLANE_MODE
android.intent.action.BATTERY_CHANGED
android.intent.action.BATTERY_LOW
android.intent.action.BOOT_COMPLETED
android.intent.action.CAMERA_BUTTON
android.intent.action.CONFIGURATION_CHANGED
android.intent.action.DATA_SMS_RECEIVED
android.intent.action.DATE_CHANGED
android.intent.action.DEVICE_STORAGE_LOW
android.intent.action.DEVICE_STORAGE_OK
android.intent.action.GTALK_CONNECTED
android.intent.action.GTALK_DISCONNECTED
android.intent.action.HEADSET_PLUG
android.intent.action.MANAGE_PACKAGE_STORAGE
android.intent.action.MEDIA_BAD_REMOVAL
android.intent.action.MEDIA_BUTTON
android.intent.action.MEDIA_EJECT
android.intent.action.MEDIA_MOUNTED
android.intent.action.MEDIA_REMOVED
android.intent.action.MEDIA_SCANNER_FINISHED
android.intent.action.MEDIA_SCANNER_SCAN_FILE
android.intent.action.MEDIA_SCANNER_STARTED
android.intent.action.MEDIA_SHARED
android.intent.action.MEDIA_UNMOUNTABLE
android.intent.action.MEDIA_UNMOUNTED
android.intent.action.NEW_OUTGOING_CALL
android.intent.action.PACKAGE_ADDED
android.intent.action.PACKAGE_CHANGED
android.intent.action.PACKAGE_INSTALL
android.intent.action.PACKAGE_REMOVED
android.intent.action.PACKAGE_RESTARTED
android.intent.action.POWER_CONNECTED
android.intent.action.POWER_DISCONNECTED
android.intent.action.PROVIDER_CHANGED
android.intent.action.REBOOT
android.intent.action.SCREEN_OFF
android.intent.action.SCREEN_ON
android.intent.action.TIMEZONE_CHANGED
android.intent.action.TIME_SET
android.intent.action.TIME_TICK
android.intent.action.UID_REMOVED
android.intent.action.UMS_CONNECTED
android.intent.action.UMS_DISCONNECTED
android.intent.action.WALLPAPER_CHANGED
android.media.RINGER_MODE_CHANGED
android.media.VIBRATE_SETTING_CHANGED
android.net.wifi.NETWORK_IDS_CHANGED
android.net.wifi.RSSI_CHANGED
android.net.wifi.SCAN_RESULTS
android.net.wifi.STATE_CHANGE
android.net.wifi.WIFI_STATE_CHANGED
android.net.wifi.supplicant.CONNECTION_CHANGE
android.net.wifi.supplicant.STATE_CHANGE
android.provider.Telephony.SIM_FULL
android.provider.Telephony.SMS_RECEIVED
android.provider.Telephony.WAP_PUSH_RECEIVED
3 kişi bu yazıyı beğendi.

Yaptığımız bazı uygulamalarda, bazı kullanıcıların uygulamamızı kullanmamasını isteyebiliriz. Mesela, görüntülü görüştürme yapacağımız bir uygulamamız varsa, yalnızca mobil interneti 3G ve üzeri olan veya wifi interneti olan kullanıcıların uygulamamızdan faydalanmasını isteyebiliriz, çünkü bu bağlantı hızının aşağısındaki kişiler uygulamamızı verimli şekilde kullanamayacaktır. Dolayısı ile, bu tarz bir filtreleme kullanıcı memnuniyetsizliğinin yanı sıra yanlış verimsiz kullanımında önüne geçmiş oluyor.

Android işletim sistemi ile çalışan mobil cihazlar, network bağlantısı olarak 2 farklı tipte çalışabilirler. Mobil network (2G, 3G etc..) veya kablosuz ağ bağlantısı (Wifi). Mobil networkte kullanılan bazı teknolojiler ve bağlantı veri hızları şöyle;

GSM -> 2G, 9600 bps, data paketi taşınamıyor
GPRS -> 2.5G , teorik olarak hızı max 85.6 Kbps
EDGE -> 2.5G, teorik olarak hızı max 236.8 Kbps
UMTS -> 3G, teorik olarak hızı max 384 Kbps
HSDPA -> 3.5G, teorik olarak hızı max 1.8 Mbps – 7.2Mbps

Android tarafında ise, Android SDK’nın bize sağladığı tip ve alt tipler şunlar;
CMDA -> 3G
EDGE -> 2.5 G
EVDO_0 -> 3G
EVD0_A -> 3G
GPRS -> 2.5 G
HSDPA -> 3.5G
HSPA -> 3.5G
HSUPA -> 3.5G
UMTS -> 3G

Özellikle SDK’nın sunduğu imkanlarla birlikte, hangi teknoloji altına girdiğini bilmek, filtreleme açısından önemli bir nokta. Şimdi ise biraz Java ile Android kodları ile haşir neşir olup filtreleme işimizi yapalım.

ConnectivityManager classından yararlanarak, android cihazının bağlanabileceği muhtemel bağlantısının tiplerini belirleyeceğiz. Bu classı kullanarak aynı zamanda cihazın aktif bağlantı tipinide bulacağız.

Activity’nin içerisinde ConnectivityManager’ı tanımlayarak işe başlayalım.

ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

Yazının başında anlatılan senaryoya bağlı kalarak, bu uygulamamızda düşük hızda olan bağlantı tiplerini elemek isteyelim. Bu bağlantı tipleri, 2.5G bağlantılar olan, EDGE ve GPRS bağlantılar olsun. Bunları aşağıdaki gibi tanımlıyoruz.

int typeWifi    = ConnectivityManager.TYPE_WIFI;
int typeMobile  = ConnectivityManager.TYPE_MOBILE;
int networkTypeEdge = TelephonyManager.NETWORK_TYPE_EDGE;

Ve şimdide yukarıda tanımlı olan, olmasını istemediğimiz bağlantı tiplerini, aktif bağlantıyla karşılaştırmak için; aktif bağlantının bilgilerine ulaşalım.

//      get active network information
NetworkInfo activeNetworkInfo = connManager.getActiveNetworkInfo();
int activeNetType = activeNetworkInfo.getType();        //      return mobile or wifi  
int activeSubType = activeNetworkInfo.getSubtype();     //      return edge, umts vs.

Son olarak, mesela böyle fonksiyonu kullanarak kriter karşılaştırmamızı yapalım.

public boolean isValidConnection() {
               
        if (activeNetType == ConnectivityManager.TYPE_WIFI)
                return activeNetworkInfo.isConnected();
        else if (activeNetType == ConnectivityManager.TYPE_MOBILE        &&
                activeSubType != TelephonyManager.NETWORK_TYPE_GPRS &&
                 activeSubType != TelephonyManager.NETWORK_TYPE_EDGE ) {
                       
                return activeNetworkInfo.isConnected();
                       
        }
        else {
                //      internet bağlantınız bizim uygulamamızı kullanmanız için yavaş kalıyor! Bağlantınız 3G ya da Wifi olmalı.
                return false;
        }
}

Unutmadan, son olarak ConnectivityManager’ı kullanabilmeniz için projenizin manifest’ine aşağıdaki permissionları eklemeniz gerekiyor.

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />

Hepsi bu kadar. Kafanıza takılan yerleri bu konu altındaki yorumlar bölümünden ya da AndroidProgramlama.com Google Grubu üzerinden sorabilirsiniz.

1 kişi bu yazıyı beğendi.

Video Stream yapmaya çalışırken şuan kullanılabilir olan tüm emulatörlerde, videoyu stream edememe sorunu ile karşılaştım. Audio stream ediliyor fakat video ilk karede takılıyor.

Fakat aynı uygulamayı gerçek bir android cihazında denediğinizde video stream edilebiliyor.

Video/Audio Stream, dev guide: http://developer.android.com/guide/

Page 1 of 3:1 2 3 »
bottom-img