14 Aralık 2016 Çarşamba

Android Programlama: TimerTask İle Kendi Görev Zamanlayıcınızı Oluşturma


activity_main.xml;
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.okul.otomatikgorevzamanlama.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="saati göster"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:id="@+id/zamantext"
        android:textSize="30sp" />

    <Button
        android:text="5 Saniyede 1 kere çalıştır"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/buttonsurekli"
        android:layout_below="@+id/textView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="38dp" />

    <Button
        android:text="Dur"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/buttondur"
        android:layout_marginTop="13dp"
        android:layout_below="@+id/buttonsurekli"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
</RelativeLayout>


MainActivity.java;
package com.example.okul.otomatikgorevzamanlama;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;

public class MainActivity extends AppCompatActivity {
    Button butonsurekli,butondur;
    TextView zamantext;
    //nesneleri koda tanıtma

    Timer ZamanAl;
    GorevZamanlamaSinifi GorevZamanlayici;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        butonsurekli=(Button) findViewById(R.id.buttonsurekli);
        butondur=(Button) findViewById(R.id.buttondur);
        zamantext=(TextView) findViewById(R.id.zamantext);
        //xml ile neneleri bağlama
        if(ZamanAl != null){
            ZamanAl.cancel();
        }
        ZamanAl=new Timer();
        GorevZamanlayici=new GorevZamanlamaSinifi();
        //sınıfı çağır


        butonsurekli.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                ZamanAl.schedule(GorevZamanlayici,1000,5000);
                //her 5 saniyede bir görevi tekrarla
            }
        });

        butondur.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (ZamanAl!=null){
                    ZamanAl.cancel();
                    ZamanAl = null;
                    //işlemi durdur
                }
            }
        });
    }
    //zamanlama için sınıf üretimi
    class GorevZamanlamaSinifi extends TimerTask {
    @Override
    public void run() {
        Calendar takvim = Calendar.getInstance();
        SimpleDateFormat BasTarihAl =
                new SimpleDateFormat("dd:MMMM:yyyy HH:mm:ss a");
        final String TarihStringi = BasTarihAl.format(takvim.getTime());

        runOnUiThread(new Runnable(){

            @Override
            public void run() {
                zamantext.setText(TarihStringi);
            }});
    }

}
} not: Program her 5 saniyede bir zaman değerini text kutusuna alır.

29 Kasım 2016 Salı

FLASH DİSKLERİ VİRÜSLERE KAPATIN, KÖKTEN ENGELLEYİN. ÇİFT YÖNLÜ KORUMA ve KESİN ÇÖZÜM

Flash diskte kısayol oluşturan virüslerden kurtulmak ve tüm flash disk virüs sorunlarını kalıcı bir şekilde çözmek için aşağıda yapılan tarifleri sırasıyla ve dikkatle uygulayın.
Bu uygulama; Windows 7, 8 ve windows 10 işletim sistemlerinde yapılmış olup, virüslü bilgisayarlardan bile koruma uygulanan flash disklere virüs bulaşmadığı gibi, dosya ile klasörler gizli ve görünmez olmamıştır. Uygulama, disk ve klasörün “güvenlik erişim izinleri” değiştirilerek yapılmıştır.
Ön Hazırlık: (a- Flash disk boş olmalıdır. (b- Disk dolu ise yedeklenmesi gerekebilir. (c- Virüs temizliği gerekebilir. Flash disk’e biçimlendirme (format) yapılacağından, boş olmayan veya kısayol virüsü bulaşıp içi gizlenmiş ve içinde önemli veriler olan disk’in yedeklenmesi gerekiyor.
1. Adım: Flash diski, “Dosya sistemi” NTFS olacak şekilde seçip biçimlendirelim. Ekran görüntüsünde olduğu gibi.
2. Adım: NTFS olarak biçimlendirme bittikten sonra belleğin içinde yeni bir klasör, örn. Login adında bir klasör oluşturun. Adı önemli değil, istediğiniz adı verebilirsiniz. Sonra ilk klasör (Login) içerisine DOSYALAR adında tekrar bir klasör oluşturun. Yani iç içe iki klasör olacak. İşlemlerin sonunda flash bellek ve birinci klasör (login) korumalı duruma gelecek. Ancak ikinci klasörü (DOSYALAR) kullanabileceksiniz.
3. Adım: Bu adımda flash disk “güvenlik erişim izinleri” ayarı yapılacaktır. Windows’ta bulunan bu özellik NTFS dosya sistemi ile gelmektedir, FAT32 ve diğer dosya sistemlerinde yoktur. Bunun için flash diske NTFS biçimlendirme yapıyoruz.
1. ve 2. adımı yapmadan bu ayarlara başlamayın.


Ntfs drive protection” program kullanmadan flash disk’in “güvenlik erişim izinlerini” manüel olarak değiştirmek için,




“Bilgisayarım” penceresinden flash disk üzerine sağ tıklayarak açılan menüden “Özellikler” den “Güvenlik” sekmesi, izinleri değiştirmek için Düzenle’yi tıklatın




Tam denetimDeğiştirme ve en aşağıdan Yazma kutucukların onayları kaldırılır.




Uygula ve Tamam diyerek işlem bitirilir. Ntfs drive protection programının otomatik yaptığı işlem bu sonuçta.
Üçüncü adımda geçen a- veya b- maddesindeki “erişim izin” ayarlarından birini yaptıktan sonra flash disk içinde oluşturduğumuz ilk (login) klasör içindeki ikinci “DOSYALAR” klasörü üzerine sağ tıklayıp Özellikler ve Güvenlik sekmesinden 
Düzenle…”yi tıklayıp, izin ayarlarını ekran görüntüsündeki gibi yapalım. “Tam denetim” kutucuğu işaretlendiğinde alttaki kutucukların hepsi birden işaretlendiği görülecektir. Ortadaki üç kutucuk soluk bir şekilde zaten işaretlidir. İşlem tamamlanmıştır. Pencereleri Uygula ve Tamam ile kapatalım.
Burada ilk (Login) klasör izinleri flash diskin izinleri gibi kısıtlı oluyor. Sadece alt klasör “DOSYALAR” izinlerini tam erişimli yapıyorum. Çünki kullanacağım dosyaları bu klasörde barındıracağım.
Artık flash disk içine (root (kök) sağ klik ile yeni bir dosya veya klasör oluşturmak istediğimizde Hedef Klasöre Erişim Engellendi uyarısı çıkacaktır.
Bu uyarı, flash diskin “boot (ilk alan) kısmına virüs giremeyeceği” anlamına gelmektedir.
Bundan sonra kendimiz de flash diske doğrudan dosya kopyalama veya gönder yapamayacağımızı unutmayalım. Ancak flash disk içerisine oluşturduğumuz Login klasörü içindeki DOSYALAR klasörü içine kopyala/yapıştır ve dosyalarımızda değişiklik yapabileceğiz, ayrıca flash diskten başka bir bilgisayara program ve dosya yüklenebilecektir.

Kaynak:
http://blog.sivrihisar.web.tr/flash-bellek-kisayol-virusu-ve-cozumu.html

30 Haziran 2016 Perşembe

Windows 8 veya Windows 8.1 nasıl onarılır (repair)?

 Windows 8Windows 8.1 onarım işlemi için  Windows 8 veya Windows 8.1 kurulum DVD veya usb'si gereklidir.
Windows 8Windows 8.1 onarma:
  1. Windows 8,  Windows 8.1kurulum DVD'sini bilgisayarın CD/DVD sürücüsüne takın.
  2. Bilgisayarınızı açın. Bilgisayarınızın modeline göre F12,F1F2 gibi bir tuş ile açılış önceliğini ayarlamalısınız. Açılış önceliği CD / DVD sürücü olmalıdır. Enerji düğmesine bastığınızda bilgisayarınızda belirecek olan ilk ekranda bu tuşun hangisi olduğu yazacaktır.
  3. Bilgisayarınızı Windows 8Windows 8.1 kurulum DVD veya usb'si ile açın.
  4. Windows 8 Windows 8.1kurulum ekranı karşınıza gelecektir.
  5. Yukarıdaki ekranda istediğiniz dile göre ayarlayın sonra Nextbutonuna basın.
  6. Karşınıza Install Now/ Şimdi Yükle ekranı gelecektir.
  7. Windows 8 kurulum ekranındaRepair your computer / Bilgisayarınızı onarın seçin.
  8. Bir sonraki ekrandaTroubleshoot / Sorun giderme'yi  seçin.
  9. Sorun giderme ekranında 'Advanced OptionsGelişmiş Seçenekleri seçin.
  10. Bu ekrandaAutomatic Repair / Otomatik Onarmayı seçebilirsiniz. Otomatik onarma işlemi sonunda eğer hala Windows 8 başlamıyorsa  ozaman sonraki aşamalara geçebilirsiniz.
  11. Otomatik onarma işlemi işe yaramadıysa Command Prompt /Komut istemini seçin.
  12. Komut istemi ekranında  chkdsk   /r   /f   C: komutunu uygulayın ve enter'a basın (aralarda boşluk olduğunu unutmayın). Buradaki C:ifadesi Windows 8 ya da Windows 8.1'in kurulu olduğu sürücüyü ifade eder. Siz farklı bir sürücüye Windows 8 yüklediyseniz, örneğin D:sürücüsüne yüklemişseniz o sürücü harfini yazmalısınız.
  13. Chkdsk komutu dosya sistemini ve dosyaları hatalara karşı tarar. İşlem bitene kadar bekleyin.
  14. Sonrasında sırası ile şu komutları uygulayın
bootrec /fixmbr
bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd
  1. Bütün bu işlemlerden sonra exit yazarak bilgisayarı yeniden başlatabilirsiniz.  Windows 8 Onarma işlemi bitmiş ve bilgisayarınız açılıyor olmalıdır.
  2. Windows 8 hâlâ açılmıyorsa 17. aşamaya geçin.
  3. Bilgisayarınızı yine 1-11 maddeler arasındaki işlemleri uygulayarak açın.
  4. Komut isteminde şu komutu yazın ve enter tuşuna basın.
sfc   /SCANNOW
sfc komutu Windows 8 / Windows 8.1 siste dosyalarını tarayacak ve hatalı olanları onaracaktır.
Windows 8 / Windows 8.1 onarım işlemi yukarıdaki aşamalardan sonra başarı ile tamamlanmış olacaktır.  Windows 8 onarma işlemi özellikle Windows 8 ntldr is missing / ntldr eksik hatası gibi hatalarda ilk yapılması gereken işlemlerdendir.
Windows 8 / Windows 8.1 eğer hiç başlamıyorsa ilk yapılacak işlem Windows onarma işlemidir. Bu sayede sistem dosyaları, dosya sistemi hataları gibi hatalar onarım sayesinde düzeltilir.

Android Programlama: WiFi Listesi oluşturma ve İstenen Wifi Bağlantısı Yapma

AndroidManifest.xml;
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.okul.myapplicationwifilist" >
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/ThemeOverlay.AppCompat.Light" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/Theme.AppCompat.Light.DarkActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
activity_main.xml;
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <TextView android:text="Wifi Liste" android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textview"
        android:textSize="35dp"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
    <Spinner
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textview"
        android:background="#ff0000"
        android:id="@+id/spinner">

    </Spinner>

    <TextView
        android:layout_marginTop="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView2"
        android:text="Bir Kablosuz Ağ Adı Seçiniz"
        android:layout_below="@+id/spinner" />
    <ListView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/listView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:background="#fff5d376"
        android:layout_below="@+id/textView2" />

</RelativeLayout>
MainActivity.java;
package com.example.okul.myapplicationwifilist;
import android.app.Activity;
import android.content.BroadcastReceiver;

import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;

import android.graphics.Color;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
import android.os.Bundle;

import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;

import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

import java.util.List;

public class MainActivity extends ActionBarActivity {
    ListView lv;
    TextView tekdeger;
    WifiManager wifi;
    String wifis[];
    WifiScanReceiver wifiReciever;
    int degerbul=-1;
    Spinner spinner;
    TextView textView2;

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    }



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        lv=(ListView)findViewById(R.id.listView);
        tekdeger=(TextView) findViewById(R.id.textview);
        spinner=(Spinner)findViewById(R.id.spinner);
        textView2=(TextView)findViewById(R.id.textView2);
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                //String[] dersDizisi = getResources().getStringArray(R.array.dersler);
                textView2.setText(wifis[position] + " ağını seçtiniz!");
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });

        wifi=(WifiManager)getSystemService(Context.WIFI_SERVICE);
        wifiReciever = new WifiScanReceiver();
        wifi.startScan();
        WifiConfiguration wifiConfig =new WifiConfiguration();
        wifiConfig.SSID = String.format("\"%s\"", "istenenWifiAdi");
        wifiConfig.preSharedKey = String.format("\"%s\"", "password");
        //WifiManager wifiMgr = (WifiManager) getSystemService(Context.WIFI_SERVICE);
        int netId = wifi.addNetwork(wifiConfig);
        wifi.disconnect();
        wifi.enableNetwork(netId, true);
        wifi.reconnect();
    }

    protected void onPause() {
        unregisterReceiver(wifiReciever);
        super.onPause();
    }

    protected void onResume() {
        registerReceiver(wifiReciever, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
        super.onResume();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        //getMenuInflater().inflate(R.menu.menu_main, menu);
        //return true;

        getMenuInflater().inflate(R.menu.menu_main, menu);
        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.

        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    private class WifiScanReceiver extends BroadcastReceiver{
        public void onReceive(Context c, Intent intent) {
            List<ScanResult> wifiScanList = wifi.getScanResults();
            wifis = new String[wifiScanList.size()];
            for(int i = 0; i < wifiScanList.size(); i++){
                wifis[i] = ((wifiScanList.get(i)).toString());
                if(wifis[i].contains("Unutkan_K1")){
                    degerbul=i;
                }
                if(wifis[i].contains("SSID:")){
                    //wifis[i]=wifis[i].substring(wifis[i].indexOf("SSID:"), wifis[i].indexOf("BSSID:")-1);
                    wifis[i]=wifis[i].substring(5, wifis[i].indexOf("BSSID:")-2);
                }

                //myString.substring(myString.indexOf("dunya"), myString.length())
                //

            }

            lv.setAdapter(new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, wifis));
            spinner.setAdapter(new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, wifis));
            if(degerbul!=-1){
                //tekdeger.setText(wifis[degerbul]);
                tekdeger.setText("istenenWifiAdi");
                /*WifiConfiguration wifiConfig =new WifiConfiguration();
                wifiConfig.SSID = String.format("\"%s\"", "istenenWifiAdi");
                wifiConfig.preSharedKey = String.format("\"%s\"", "wifiPasword");
                //WifiManager wifiMgr = (WifiManager) getSystemService(Context.WIFI_SERVICE);
                int netId = wifi.addNetwork(wifiConfig);
                wifi.disconnect();
                wifi.enableNetwork(netId, true);
                wifi.reconnect();
                //programsonlanınca bağlanıyor
                */

            }else{
                tekdeger.setText("Kablosuz ağların listesinde aranılan ağ bulunamadı");
            }



        }
    }
}

Android Programlama:Buton ile Wifi Kapatma


activity_main.xml;
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    xmlns:tools="http://schemas.android.com/tools"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <TextView android:text="@string/hello_world" android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <Button
        android:id="@+id/wifitest"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Wifi Kapat" />

</LinearLayout>

MainActivity.java;
package com.example.okul.myapplicationwifidegis;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.app.Activity;
import android.content.Context;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;


public class MainActivity extends Activity {
    Button a;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        a=(Button)findViewById(R.id.wifitest);
        a.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
                wifi.setWifiEnabled(false);

            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

AndroidManifest.xml;

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.okul.myapplicationwifidegis" >
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

11 Haziran 2016 Cumartesi

Android Programlama: TimerPicker Dialog ve DatePicker Dialog Kullanımı

2016-06-12_02-14-192016-06-12_02-14-022016-06-12_02-13-51

activity_main.xm;
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.mobilhanem.timepickerkullanimi.Anasayfa" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="43dp"
        android:text="Time Picker" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/button1"
        android:layout_centerVertical="true"
        android:text="Date Picker" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/button1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="13dp"
        android:text="Saat"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_below="@+id/button2"
        android:layout_marginTop="13dp"
        android:text="Tarih"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</RelativeLayout>
MainActivity.java;
package com.example.okul.saatayar2;

import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;

import java.util.Calendar;


public class MainActivity extends ActionBarActivity {
    Button saatButton,tarihButton;
    TextView saatTextView,tarihTextView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        saatButton = (Button) findViewById(R.id.button1);
        tarihButton = (Button) findViewById(R.id.button2);
        saatTextView = (TextView) findViewById(R.id.textView1);
        tarihTextView = (TextView) findViewById(R.id.textView2);
        saatButton.setOnClickListener(new View.OnClickListener() {
//saatButona Click Listener ekliyoruz

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Calendar mcurrentTime = Calendar.getInstance();//
                int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
//Güncel saati aldık
                int minute = mcurrentTime.get(Calendar.MINUTE);
//Güncel dakikayı aldık
                TimePickerDialog timePicker; 
//Time Picker referansımızı oluşturduk

                //TimePicker objemizi oluşturuyor ve click listener ekliyoruz
                timePicker = new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {
                    @Override
                    public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
                        saatTextView.setText( selectedHour + ":" + selectedMinute);//Ayarla butonu tıklandığında textview'a yazdırıyoruz
                    }
                }, hour, minute, true);//true 24 saatli sistem için
                timePicker.setTitle("Saat Seçiniz");
                timePicker.setButton(DatePickerDialog.BUTTON_POSITIVE, "Ayarla", timePicker);
                timePicker.setButton(DatePickerDialog.BUTTON_NEGATIVE, "İptal", timePicker);

                timePicker.show();
            }
        });
        tarihButton.setOnClickListener(new View.OnClickListener() {
//tarihButona Click Listener ekliyoruz

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Calendar mcurrentTime = Calendar.getInstance();
                int year = mcurrentTime.get(Calendar.YEAR);
//Güncel Yılı alıyoruz
                int month = mcurrentTime.get(Calendar.MONTH);
//Güncel Ayı alıyoruz
                int day = mcurrentTime.get(Calendar.DAY_OF_MONTH);
//Güncel Günü alıyoruz

                DatePickerDialog datePicker;//Datepicker objemiz
                datePicker = new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {

                    @Override
                    public void onDateSet(DatePicker view, int year, int monthOfYear,
                                          int dayOfMonth) {
                        // TODO Auto-generated method stub
                        tarihTextView.setText( dayOfMonth + "/" + monthOfYear+ "/"+year);//Ayarla butonu tıklandığında textview'a yazdırıyoruz

                    }
                },year,month,day);//başlarken set edilcek değerlerimizi atıyoruz
                datePicker.setTitle("Tarih Seçiniz");
                datePicker.setButton(DatePickerDialog.BUTTON_POSITIVE, "Ayarla", datePicker);
                datePicker.setButton(DatePickerDialog.BUTTON_NEGATIVE, "İptal", datePicker);

                datePicker.show();

            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

Android Programlama: TimerTask ve Handler kulanımı ile textview içerisine zamanlanmış içerik ekleme

2016-06-12_02-05-05.png
ayarlanan sürede text kutusuna veri ekler;
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

       <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Medium Text"
        android:id="@+id/textView"
        android:layout_below="@+id/textView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="45dp" />

</RelativeLayout>
MainActivity.java
package com.example.okul.timerkullanimi;

import android.os.Handler;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;

import java.util.Timer;
import java.util.TimerTask;


public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final TextView tv = (TextView)findViewById(R.id.textView);
        final Handler handler = new Handler();
        TimerTask doAsynchronousTask = new TimerTask() {
            @Override
            public void run() {
                handler.post(new Runnable() {
                    public void run() {
                        tv.append("Merhaba");
                    }
                });
            }
        };
        Timer timer = new Timer();
        timer.schedule(doAsynchronousTask,10,1000);// birinci değer ilk girişteki bekleme süresi, ikinci değer tekrar süresi
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}


Android Programlama: NumberPicker Dialog Oluşturma

Çok çeşitli dialog pencereleri oluşturulabilmektedir. Çeşitli örneklerden gördüklerimden yeniden derlediğim şekliyle en kolay yolu;
2016-06-12_01-22-29.png
  • Diolog penceresi için yeni bir layout oluşturun:
promts.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layout_root"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:padding="10dp" >

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Mesajınızı yazın ve değer seçin"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <EditText
        android:id="@+id/userInput"
        android:layout_width="match_parent"
        android:inputType="text"
        android:layout_height="wrap_content" >

        <requestFocus />

    </EditText>
    <NumberPicker
        android:id="@+id/sayi11"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center" />

</LinearLayout>
  • Sonra activity_main.xml ana layoutumuzu oluşturulım:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Deger Şec" />

    <EditText
        android:id="@+id/editTextResult"
        android:layout_width="match_parent"
        android:inputType="text"
        android:layout_height="wrap_content" >

    </EditText>

</LinearLayout>
  • Şimdi kodumuzu yazalım:
MainActivity.java
package com.example.okul.numberdeneme;

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.NumberPicker;


public class MainActivity extends ActionBarActivity {
    private Button button;
    private EditText editTextMainScreen;
    final Context context = this;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = (Button) findViewById(R.id.button);
        editTextMainScreen = (EditText) findViewById(R.id.editTextResult);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                LayoutInflater layoutInflater = LayoutInflater.from(context);
                View promptView = layoutInflater.inflate(R.layout.prompts, null);
                AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
                alertDialogBuilder.setView(promptView);

                final EditText input = (EditText) promptView.findViewById(R.id.userInput);
                final NumberPicker np;
                np = (NumberPicker) promptView.findViewById(R.id.sayi11);
                np.setMinValue(10);
                np.setMaxValue(40);
                np.setWrapSelectorWheel(false);
                  // Dialog penceresi ayarları
                alertDialogBuilder
                        .setCancelable(false)
                        .setPositiveButton("Tamam", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                                // kulllanıcının girdiği değerlerin ana layouta aktarılması
                                editTextMainScreen.setText(input.getText());
                                button.setText(Integer.toString(np.getValue()));
                            }
                        })
                        .setNegativeButton("Vazgec",
                                new DialogInterface.OnClickListener() {
                                    public void onClick(DialogInterface dialog,    int id) {
                                        dialog.cancel();
                                    }
                                });

                // alert dialog oluşturma
                AlertDialog alertD = alertDialogBuilder.create();
                alertD.show();

            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}
Bu örnekte diğer form nesnelerini de kullanılabilir. Nette çok örnek var ama bu kadar az ve öz olanı yok....

12 Mayıs 2016 Perşembe

Flash Action Script 3.o Örnekler: Klavyeden Ok tuşlarına basıldığı yöne göre sahnede hareket eden nesne ve rastgele cıkan nesneyi yakalama (yılan oyunu benzeri)

var deger:String = "";
stage.addEventListener(Event.ENTER_FRAME,git);
function git(e:Event):void
{
        if (deger=="yukari")
        {
                       topmc.y -=  10;
        }
        if (deger=="asagi")
        {
                       topmc.y +=  10;
        }
        if (deger=="sol")
        {
                       topmc.x -=  10;
        }
        if (deger=="sag")
        {
                       topmc.x +=  10;
        }
        if (topmc.hitTestObject(yemmc))
        {
                       topmc.width +=  10;
                       topmc.height +=  10;
                       yemmc.x=Math.round(Math.random()*550);
                       yemmc.y=Math.round(Math.random()*400);

        }


}

stage.addEventListener(KeyboardEvent.KEY_DOWN,yonbul);
function yonbul(e:KeyboardEvent):void
{
        if (e.keyCode == Keyboard.UP)
        {
                       deger = "yukari";
        }
        if (e.keyCode == Keyboard.DOWN)
        {
                       deger = "asagi";
        }
        if (e.keyCode == Keyboard.LEFT)
        {
                       deger = "sol";
        }
        if (e.keyCode == Keyboard.RIGHT)
        {
                       deger = "sag";
        }
}
var zamanlayici:Timer = new Timer(5000);
zamanlayici.addEventListener(TimerEvent.TIMER,yaz);
function yaz(e:TimerEvent):void
{
        //trace("merhaba");
        yemmc.x=Math.round(Math.random()*550);
        yemmc.y=Math.round(Math.random()*400);
}
zamanlayici.start();

Flash Action Script 3.o Örnekler: Saniyede bir defa output penceresine merheba yazan örnek.

var zamanlayici:Timer = new Timer(1000);
zamanlayici.addEventListener(TimerEvent.TIMER,yaz);
function yaz(e:TimerEvent):void
{
        trace("merhaba");
}
zamanlayici.start();

Flash Action Script 3.o Örnekler: Klavyeden Ok tuşlarına basıldığı yöne göre sahnede hareket eden nesne örneğini yapınız.

var deger:String = "";
stage.addEventListener(Event.ENTER_FRAME,git);
function git(e:Event):void
{
        if (deger=="yukari")
        {
                       topmc.y -=  1;
        }
        if (deger=="asagi")
        {
                       topmc.y +=  1;
        }
        if (deger=="sol")
        {
                       topmc.x -=  1;
        }
        if (deger=="sag")
        {
                       topmc.x +=  1;
        }
}

stage.addEventListener(KeyboardEvent.KEY_DOWN,yonbul);
function yonbul(e:KeyboardEvent):void
{
        if (e.keyCode == Keyboard.UP)
        {
                       deger = "yukari";
        }
        if (e.keyCode == Keyboard.DOWN)
        {
                       deger = "asagi";
        }
        if (e.keyCode == Keyboard.LEFT)
        {
                       deger = "sol";
        }
        if (e.keyCode == Keyboard.RIGHT)
        {
                       deger = "sag";
        }
}

Flash Action Script 3.o Örnekler: Klavyeden Basılı tuttukça nesnenin basılan tuşa göre hızlanarak hareket etmesini sağlayan prog.

var hiz:Number = 1;
var ivme:Number = 0.1;
stage.addEventListener(KeyboardEvent.KEY_DOWN,tusbul);
stage.addEventListener(KeyboardEvent.KEY_UP,sifirla);
function sifirla(e:KeyboardEvent):void
{
        hiz=1;
        ivme=0.1;
}
function tusbul(e:KeyboardEvent):void
{
        //trace(e.keyCode);
        if (e.keyCode == Keyboard.UP)
        {
                       trace("yukarı ok tuşuna bastınız");
                       topmc.y -=  hiz + ivme;
        }
        if (e.keyCode == Keyboard.DOWN)
        {
                       trace("aşağı ok tuşuna bastınız");
                       topmc.y +=  hiz + ivme;
        }
        if (e.keyCode == Keyboard.LEFT)
        {
                       trace("sol ok tuşuna bastınız");
                       topmc.x -=  hiz + ivme;
        }
        if (e.keyCode == Keyboard.RIGHT)
        {
                       trace("sağ ok tuşuna bastınız");
                       topmc.x +=  hiz + ivme;
        }
        hiz +=  ivme;


}