Android aletinize USBden bağlanan bir aletle otomatik bağlantı yapması ve aleti tanıması için gereken kod aşağıdaki gibidir.
private void USBBaglantilariniYap()
{
IntentFilter filter = new IntentFilter();
filter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED);
filter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED);
registerReceiver(mUsbReceiver, filter);
}
@Override
protected void onNewIntent(Intent intent) {
USBBaglantilariniYap();
};
BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (UsbManager.ACTION_USB_DEVICE_ATTACHED.equals(action)) {
// never come here(when attached, go to onNewIntent)
connectFunction();
} else if (UsbManager.ACTION_USB_DEVICE_DETACHED.equals(action)) {
disconnectFunction();
}
}
};
Bunun yanısıra
res/xml/device_filter.xml dosyasını yaratıp içine aletle ilgili vendor-id bilgilerini girmeniz gerekmekte.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<usb-device vendor-id="0403" product-id="6001" class="0" subclass="0" protocol="0"></usb-device>
</resources>
AndroidManifest.xml altında da USB otomatik algılansın diye aşağıdaki ayarları yapmanız gerekiyor.
<activity
android:name="com.projeAdi.MainActivity"
android:label="@string/app_name" android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
</intent-filter>
<meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" android:resource="@xml/device_filter" />
</activity>
Bilişim teknolojileri, bilişim etkinlikleri, programlama, yazılım, kod örnekleri, c#, günlük programlama sıkıntıları
12 Ağustos 2013 Pazartesi
Android küçük bilgiler
Bir sayfadan bir başka sayfaya geçmek için
startActivity(new Intent("com.projeadi.gidileceksayfa"));
Bir butonu tamamen görünmez yapmak
buttonAdi.setVisibility(View.GONE);
Yeniden görünür yapmak
buttonAdi.setVisibility(View.VISIBLE);
Bir string'i genel değişkenlerden ekrana yazdırmak için
getString(R.string.uyari)
startActivity(new Intent("com.projeadi.gidileceksayfa"));
Bir butonu tamamen görünmez yapmak
buttonAdi.setVisibility(View.GONE);
Yeniden görünür yapmak
buttonAdi.setVisibility(View.VISIBLE);
Bir string'i genel değişkenlerden ekrana yazdırmak için
getString(R.string.uyari)
Android sayfalar arasında değişken geçirmek
İki ekran arasında bir butona basılarak değer geçirilmesi aşağıdaki şekilde sağlanabilir.
}
}
GidilecekClassAdresi içinde değeri almak için onCreate fonksiyonu içinde aşağıdaki kod bloğu kullanılabilir.
Bundle recdData = getIntent().getExtras();
gelisNedeni = recdData.getString("gelisNedeni");
“gelisnedeni” isimli bir değişkene “guncelle” değeri
ekleniyor.
Intent ile nereye bu değişkenin taşınacağı ayarlanıyor.
buttonOrnek.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
Bundle
bundle = new Bundle();
bundle.putString("gelisNedeni", "guncelle");
Intent
intent = new Intent(getApplicationContext(), GidilecekClassAdresi.class);
intent.putExtras(bundle);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivityForResult(intent, 0);}
}
GidilecekClassAdresi içinde değeri almak için onCreate fonksiyonu içinde aşağıdaki kod bloğu kullanılabilir.
Bundle recdData = getIntent().getExtras();
gelisNedeni = recdData.getString("gelisNedeni");
3 Nisan 2013 Çarşamba
Datediff fonksiyonu ile SQL'de iki tarihle ilgili işlemler yapmak
select ‘Yıl Farkı’, datediff(yyyy, ‘2005-01-22 10:20:00′, ‘2008-01-22 16:20:00′)
Sonuç=> 3
select ‘Ay Farkı’, datediff(m, ‘2008-01-22 10:20:00′, ‘2008-12-22 16:20:00′)
Sonuç=>11
select ‘Gün Farkı’, datediff(d, ‘2008-01-22 10:20:00′, ‘2008-01-29 16:20:00′)
Sonuç=> 7
select ‘Saat Farkı’, datediff(hh, ‘2008-01-22 10:20:00′, ‘2008-01-22 16:20:00′)
Sonuç=> 6
select ‘Dakika Farkı’, datediff(mi, ‘2008-01-22 10:20:00′, ‘2008-01-22 16:20:00′)
Sonuç=> 360
select ‘Saniye Farkı’, datediff(s, ‘2008-01-22 10:20:00′, ‘2008-01-22 10:20:30′)
Sonuç=> 30
Sonuç=> 3
select ‘Ay Farkı’, datediff(m, ‘2008-01-22 10:20:00′, ‘2008-12-22 16:20:00′)
Sonuç=>11
select ‘Gün Farkı’, datediff(d, ‘2008-01-22 10:20:00′, ‘2008-01-29 16:20:00′)
Sonuç=> 7
select ‘Saat Farkı’, datediff(hh, ‘2008-01-22 10:20:00′, ‘2008-01-22 16:20:00′)
Sonuç=> 6
select ‘Dakika Farkı’, datediff(mi, ‘2008-01-22 10:20:00′, ‘2008-01-22 16:20:00′)
Sonuç=> 360
select ‘Saniye Farkı’, datediff(s, ‘2008-01-22 10:20:00′, ‘2008-01-22 10:20:30′)
Sonuç=> 30
Android programlamada wireless network üzerinden debugging nasıl yapılır?
Özellikle USB bağlantıları ile ilgili kodlamalarda wireless hata kontrolü yapılması gerekebiliyor. Bunu yapmak çok kolay.
Eclipse ile gelen sdk klasörünüzde
adt-bundle-windows-x86\sdk\platform-tools içinden adb.exe'nin olduğu yerde Shift + Sağ Mouse Tuşuna basarak "Komut Penceresini Burada Çalıştır" tuşuna basın.
Komut penceresinde adb devices yazarsanız o anlık bağlı olan aletleri görebilirsiniz.
Neyse
Eclipse ile gelen sdk klasörünüzde
adt-bundle-windows-x86\sdk\platform-tools içinden adb.exe'nin olduğu yerde Shift + Sağ Mouse Tuşuna basarak "Komut Penceresini Burada Çalıştır" tuşuna basın.
Komut penceresinde adb devices yazarsanız o anlık bağlı olan aletleri görebilirsiniz.
Neyse
adb tcpip 5555 --> yazarak, portu tanımlayın,
adb connect 192.168.0.101:5555
--> yazarak da alete bu port üzerinden erişim açın. 192.168.0.101 yerinde android aletinizin wireless'a bağlanmakta kullandığı IP adresini yazmalısınız. Bunu aletin üzerindeki wireless internet ayarlarında bağlı olduğu ağ üzerine tıklayarak öğrenebilirsiniz.
Geri dönmek için yine aynı ekranda
adb usb yazmanız yeterli.
Kaydol:
Kayıtlar (Atom)