10 Kasım 2013 Pazar

ArrayList, Dictionary, List , Hashtable veri tipleri C#

//ArrayListArrayList liste = new ArrayList();
liste.Add("bir");
liste.Add("iki");
liste.Add(false);
foreach (var element in liste)
{
Console.WriteLine(element);
}

//Dictionary
Dictionary<string, int> dict = new Dictionary<string, int>();dict.Add("bir", 1);
dict.Add("iki", 2);
string veri = dict["bir"];
string veri2= dict["iki"];
//List
List<string> liste = new List<string>();
liste.Add("bir");
liste.Add("iki");
foreach (string element in liste)
{
Console.WriteLine(element);
}
List<string> liste = new List<string>();
liste.Add("bir");
liste.Add("iki");
foreach (string element in liste)
{
Console.WriteLine(element);
}
//Hashtable
Hashtable table = new Hashtable();
table["bir"] = 1;
table["iki"] = 2;
Hashtable table = new Hashtable();
table["bir"] = 1;
table["iki"] = 2;

List tipinde tamsayı içeren listede aradığınız veri var mı kontrolü nasıl yapılır C#

Bir tamsayılar listesi içinde bir değer varsa doğru, değilse yalnış değerini döndürmek istediğinizi varsayalım.
//Listemizi oluşturalım
List<int> liste = new List<int> { 1,2,3,4,5,6 };

//5 liste içinde var mı diye kontrol ediyoruz, varsa doğru dönecek
bool birinciDegerListedeVar = liste.IndexOf(5) != -1;

Hashtable'lar hakkında - C#

Hashtable'dan key olmadan nasıl kayıt alınabilir?
Bazen doldurduğunuz hashtable tipindeki listeden key değeri olmadan verileri 
almanız lazım olabilir, işte aşağıdaki kodla bunu yapabilirsiniz. 
Bu arada biraz da HashTable'larla alakalı bilgi verebilirim.
Hashtable liste= new Hashtable();
string value="";  string key="";
        foreach (DictionaryEntry dictionaryEntry in liste)        {
            value=dictionaryEntry.Value.ToString();
            key=dictionaryEntry.Key.ToString();
        }
HashTable doldurmak;
Hashtable hashtable = new Hashtable();
 hashtable[1] = "Bir";
 hashtable[2] = "İki";
 hashtable[13] = "Üç";
veya
Hashtable hashtable = new Hashtable();    
hashtable.Add("1", "10");   
hashtable.Add("2", "20");
hashtable.Add("3", "30");
hashtable.GetKey(20);//gelen değer 2 olacak...
//Hashtable içindeki anahtar değerleri almak için 
foreach (int key in hashtable.Keys)
{
    Console.WriteLine(key);
}
//Hashtable içindeki değerleri almak için 
foreach (string value in hashtable.Values)
{
    Console.WriteLine(value);
}

12 Ağustos 2013 Pazartesi

Android'de USB bağlantısının otomatik algılanması ve programdan bağlanan aletin tanıtılması

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>

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)