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");
Kaydol:
Kayıtlar (Atom)