1 Haziran 2017 Perşembe

Custom ListView Adapter Yapımı

Bu yapıyı, özelleştirilmiş ListView'imizin yanındaki resimler ve alt alt'a
texViewlerinde yazacak olan yazıları çektirme işlemini yapıyoruz.


public class OzelAdapter extends BaseAdapter {
    LayoutInflater layoutInflater;
    List<lider> list;
Activity activity;
    public OzelAdapter(Activity activity,List<lider> mList){
layoutInflater=(LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        list = mList;
        this.activity=activity;
    }
    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public Object getItem(int position) {
        return list.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
View satirView = layoutInflater.inflate(R.layout.satir,null);

        ImageView iv = (ImageView)satirView.findViewById(R.id.imageView);
        TextView tv1 = (TextView)satirView.findViewById(R.id.textİsim);
        TextView tv2 = (TextView)satirView.findViewById(R.id.textAciklama);

        //İtemlerimizi çagırdık ve onların pozisyonunu alarak lider nesnesinin içine attık        final lider lider=list.get(position);
        tv1.setText(lider.getIsim().toString());
        tv2.setText(lider.getAciklama().toString());

        String liderIsim = lider.getIsim().toString();
        if (liderIsim.equals("Mustafa Kemal Atatürk")){
            iv.setImageResource(R.drawable.ata);
        }else if (liderIsim.equals("Adolf Hitler")){
            iv.setImageResource(R.drawable.adolf);
        }
        else if (liderIsim.equals("Nelson Mandela")){
            iv.setImageResource(R.drawable.nelson);
        }
        else if (liderIsim.equals("Che Guevara")){
            iv.setImageResource(R.drawable.che);
        }

        else if (liderIsim.equals("Karl Marx")){
            iv.setImageResource(R.drawable.karl);
        }
        else if (liderIsim.equals("Winston Churchill")){
            iv.setImageResource(R.drawable.churcil);
        }
        else if (liderIsim.equals("Fidel Castro")){
            iv.setImageResource(R.drawable.fidel);
        }
        else if (liderIsim.equals("Francisco Franco")){
            iv.setImageResource(R.drawable.fransiccofranco);
        }
        else if (liderIsim.equals("Mahatma Gandhi")){
            iv.setImageResource(R.drawable.mahatma);
        }
        else if (liderIsim.equals("Vladimir Lenin")){
            iv.setImageResource(R.drawable.lenin);
        }
        else if (liderIsim.equals("Mao Zedong")){
            iv.setImageResource(R.drawable.maozedong);
        }
        else if (liderIsim.equals("Benito Mussolini")){
            iv.setImageResource(R.drawable.mussolini);
        }
        else if (liderIsim.equals("Franklin D. Roosevelt")){
            iv.setImageResource(R.drawable.franklinroosevelt);
        }
        else if (liderIsim.equals("Saddam Hüseyin")){
            iv.setImageResource(R.drawable.saddam);
        }
        else if (liderIsim.equals("Josef Stalin")){
            iv.setImageResource(R.drawable.josefstalin);
        }
        else if (liderIsim.equals("Josif Broz Tito")){
            iv.setImageResource(R.drawable.josifbroztito);
        }
        else if (liderIsim.equals("Nikita kruşçev")){
            iv.setImageResource(R.drawable.nikita);
        }
        else if (liderIsim.equals("Harry s. Truman")){
            iv.setImageResource(R.drawable.harrystruman);
        }
        else if (liderIsim.equals("Charles de Gualle")){
            iv.setImageResource(R.drawable.charlesdegualle);
        }
        else if (liderIsim.equals("Angela Merkel")){
            iv.setImageResource(R.drawable.angelamerkel);
        }
        else if (liderIsim.equals("George W. Bush")){
            iv.setImageResource(R.drawable.georgewbush);
        }
        else if (liderIsim.equals("Abraham Lincoln")){
            iv.setImageResource(R.drawable.abrahamlincoln);
        }
        else if (liderIsim.equals("Sukarno")){
            iv.setImageResource(R.drawable.sukarno);
        }
        else if (liderIsim.equals("Mucibur Rahman")){
            iv.setImageResource(R.drawable.muciburrahman);
        }
        else if (liderIsim.equals("Muhammed Ali Cinnah")){
            iv.setImageResource(R.drawable.muhammed);
        }
        else if (liderIsim.equals("Vladimir Vladimiroviç Putin")){
            iv.setImageResource(R.drawable.putin);
        }
        else if (liderIsim.equals("Recep Tayip Erdoğan")){
            iv.setImageResource(R.drawable.rte);
        }
        else if (liderIsim.equals("Şinzō Abe")){
            iv.setImageResource(R.drawable.sinzoabe);
        }
        else if (liderIsim.equals("Emmanuel Macron")){
            iv.setImageResource(R.drawable.emanuel);
        }


        return satirView;
    }
}

24 Mayıs 2017 Çarşamba

Google Play'e Uygulama Yüklemeden Önce Dikkat Edilmesi Gereken Kurallar.

İçerik:

İçeriğinizin tamamen kendinize ait olmasına dikkat etmelisiniz, google bunu farkeder yada içerik sahibi bunu farkederek sizi şikayet ederse uygulamanızın silinmesi ve Play Store hesabınızın silinmesine neden olabilir. Resimlerinizin seslerinizin videolarınızın size ait olmasına dikkat etmelisiniz, yada Critive Commoms içerikler kullanmanız gerekmektedir.

İcon: 

İconunuzun bildiğiniz üzere uygulamanız üzerinde ve kazancınıza önemi çok büyüktür, zira bunu göz önünde bulundurarak başka popüler uygulamaların iconlarına benzer iconlar yaparsanız, uygulamanızın askıya alınır, mesela bir chat programı yaptınız ve, Whatsapp iconuna benzer bir icon kullandınız bakın aynısı bile demiyorum benzerini kullanırsanız uygulamanız yüklenmeden hemen önce, askıya alınacaktır.

Askıya Alınma Durumları:

Bir önemli hususta askıya alınma durumları , bazıları 3 askıya alınmada hesabınızın bloke olacağını ve bir daha  play store hesabı alamayacağınızı söyler, ancak bu yanlıştır 3 hakkınız değil, yaptığınız hataya göre derecelendirilirsiniz, çok büyük bir hata yapmışsanız mesala önemli bir uygulamayı taklit etmişseniz yada olan bir uygulamayı üzerinde hiç bir değişiklik yapmadan yayınladıysanız, direk olarak hesabınız bloke olabilir, ancak küçük hatalarda askıya alınma sınırınız Google tarafından 3 tane yada 5 tane hata yaparsanız bloke olacağına dair hiç birşey söylenmemektedir.

Başlık Ve Açıklama:

Başlık ve açıklama diger önemli bir husustur, başlık önemli bir uygulamanın ismi ile başlıyorsa bu botlar tarafından takip edilir ve bulunduğunda, Google ekibi tarafından teğid edildikten sonra sizin sahtekarlık yaptığınızı düşünerek, uygulamanızı askıya alabilir açıklama kısmına yazdığınız ancak uygulamanızda bulunmayan özellikler varsa açıklamanızı düzenlemelisiniz yoksa botlar bunu farkedip uygulamanızın kaldırılmasına yada uyarı mesajı almanıza sebep olabilir.
Ayrıca Bazı kelimeler google play'de spam olarak kabul edilir, mesela Canlı TV, Dizi gibi bunlarada dikkat etmelisiniz.

İçerik Sınıflandırması:

İçerik sınıflandırmasında dikkat etmeniz gereken, uygulamanızda ki , özelliklere göre size sorular soruyor mesela İçinde cinsellik varmı Küfür varmı gibi siz bunları doğru girmezseniz, Reklamlarınız kaldırılabilir ve uygulamanız kaldırılabilir.

17 Mayıs 2017 Çarşamba

Android Studio Reklam Ekleme (Geçiş, Banner)

Gradle 'a kopyalıyoruz
compile 'com.google.android.gms:play-services:7.8.0'

Manifest 'e kopyalıyoruz. internet izinleri ve google ile etkileşim

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

<meta-data android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version"/>

        <activity android:name="com.google.android.gms.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />

Layout'a kopyalıyoruz.

Listview Margintop 73 olacak


    <LinearLayout
        android:orientation="vertical"
        android:id="@+id/gzBanner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="12dp"></LinearLayout>

Java'ya kopyalıyoruz.

InterstitialAd mInterstitialAd;
    private AdView adView;

 reklamiYukle();

        mInterstitialAd = new InterstitialAd(this);
        mInterstitialAd.setAdUnitId(getString(R.string.deneme));//geçiş reklamını çektiriniz.

        reklamiYukle2();
        mInterstitialAd.setAdListener(new AdListener() {
            @Override
            public void onAdClosed() {
                super.onAdClosed();

            }

            @Override
            public void onAdLoaded() {
                super.onAdLoaded();

                mInterstitialAd.show();

            }
        });



private void reklamiYukle2() {
        AdRequest adRequest = new AdRequest.Builder()
                .addTestDevice("SEE_YOUR_LOGCAT_TO_GET_YOUR_DEVICE_ID")
                .build();

        mInterstitialAd.loadAd(adRequest);
    }

    private void reklamiYukle() {
        adView= new AdView(this);
        adView.setAdSize(AdSize.BANNER);
        adView.setAdUnitId(getString(R.string.gzBanner));//reklam birimini burdan çektiriniz.
        LinearLayout layoutb = (LinearLayout) findViewById(R.id.gzBanner2);//layout ismi
        layoutb.addView(adView);

        AdRequest adRequest = new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build();
        adView.loadAd(adRequest);
    }

10 Mayıs 2017 Çarşamba

Bundle Kullanımı (Put Extra , Intent)

Merhaba arkadaşlar bugün, bundle kullanımını ele alacağız, bundle ne işe yarar ?
Bundle bir anahtar kelime ve içerik yollar bu sayede birden fazla Activity kullanmamamıza yardımcı olur ve daha birçok yararı vardır, Allah razı olsun bu bundle'dan Kandilinizi kutlarım şimdi kullanıma geçelim, bir adet daha activity açınız ilk olarak.
Açmayı Bilmeyenler için, Java - New - Activty - Empty activity .

Main Activity yani ilk aktivitemize gelelim, ben ListView de kullanıcam ama , bu başka Özelliklerdede kullanılabilir. Mesela buton içinde aynı şeyi kullanabilirsiniz. CheckBox içinde ama ben dediğim gibi ListView 'de kullanıcam :)

Main Activty;

public class MainActivity extends AppCompatActivity {
ListView listView;
    List<lider> liderler =new ArrayList<lider>();
    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = (ListView)findViewById(R.id.listview);
        liderler.add(new lider("Mustafa Kemal Atatürk","1881-1938"));
        liderler.add(new lider("Adolf Hitler","1889-1945"));
        liderler.add(new lider("Nelson Mandela","1918-2013"));
        liderler.add(new lider("Che Guevara","1928-1967"));
        liderler.add(new lider("Karl Marx","1818-1883"));

OzelAdapter adapter = new OzelAdapter(this,liderler);
        listView.setAdapter(adapter);
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                if(position == 0){
                    Intent intent = new Intent(MainActivity.this,Main2Activity.class);
                    intent.putExtra("adi","Mustafa Kemal Atatürk");
                    intent.putExtra("aciklama","Mustafa Kemal Atatürk Biyografisi");
                    startActivity(intent);

                }
                if (position==1){
                    Intent intent = new Intent(MainActivity.this,Main2Activity.class);
                    intent.putExtra("adi","Adolf Hitler");
                    intent.putExtra("aciklama","Adolf Hitler Biyografisi");
                    startActivity(intent);
                }
                if (position==2){
                    Intent intent = new Intent(MainActivity.this,Main2Activity.class);
                    intent.putExtra("adi","Nelson Mandela");
                    intent.putExtra("aciklama","Nelson Mandela Biyografisi");
                    startActivity(intent);
                }
                if (position==3){
                    Intent intent = new Intent(MainActivity.this,Main2Activity.class);
                    intent.putExtra("adi","Che Guevara");
                    intent.putExtra("aciklama","Che Guevara Biyografisi");
                    startActivity(intent);
                }
                if (position==4){
                    Intent intent = new Intent(MainActivity.this,Main2Activity.class);
                    intent.putExtra("adi","Karl Marx");
                    intent.putExtra("aciklama","Karl Marx Biyografisi");
                    startActivity(intent);
                }
            }
        });
    }
}


Şimdi bakdiğimiz zaman bi adi ve bide açıklama diye iki tane şey var, bunlar anahtarlar ve
yanındaki yazılardan bizim bigilerimizdir her ListViewde bir satıra tıkladığımızda
Bunlar değişecek. ve bizi ilgili olan kişinin biyografisine yönlendirecek.

Şimdi diger 2.Activty mize giriyoruz ve ;

public class Main2Activity extends AppCompatActivity {
TextView tv;
    TextView tv1;
    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        tv = (TextView)findViewById(R.id.aciklama);
        tv1=(TextView)findViewById(R.id.baslik);

        Bundle ekstralar = getIntent().getExtras();
        String aciklama = ekstralar.getString("aciklama");
        String baslik = ekstralar.getString("adi");
        tv1.setText(baslik);
        tv.setText(aciklama);
    }
}

Şimdi ise bu gönderdiğimiz bilgileri aldık. Bu kadardı Listview ile Biyografi
uygulamamız devam edecek takipte kalın. :)

3 Mayıs 2017 Çarşamba

ListView Kullanımı

Layout kısmına, bir ListView ekledikten Sonra yazacağımız kodlar;


private String[] ulkeler = {"Mustafa Kemal Atatürk","Büyük İskender","Adolf Hitler","Atilla","Fatih Sultan Mehmet","....."}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //(A) adımı ListView listemiz=(ListView) findViewById(R.id.listView1); //(B) adımı ArrayAdapter<String> veriAdaptoru=new ArrayAdapter<String> (this, android.R.layout.simple_list_item_1, android.R.id.text1, ulkeler); //(C) adımı listemiz.setAdapter(veriAdaptoru); } }

Ana kodumuzu Activity'nin onCreate() metoduna yazıyoruz. Böylelikle Activity oluşturulur oluşturulmaz verilerimizi ArrayAdapter yardımıyla ListView'da göstermiş oluyoruz. Activity'nin her onCreate() oluşunda çalışacak kodları şöyle açıklayabiliriz:
  • (A) adımında, önce liste öğemize (listemiz) bir referans değişkeni tayin ediyoruz ki artık o öğemizi bir değişken ile kullanabilelim. findViewById() ile XML'de android:id ile isim verdiğimiz öğelere erişiriz. 
  • (B) adımında, new deyimiyle bir ArrayAdapter oluşturuyoruz. Oradaki <String>, ArrayAdapter'ın içinde tutacağı verilerin türünü belirten bir deyim. ArrayAdapter'ın yapılandırıcı metodundaki parametrelerse şu anlama geliyor: 
    • thisContext. Yani bağlam. Bu this deyimiyle değer olarak Activity'nin kendisinin dönmesini sağlıyoruz (Activity sınıfının içindeyiz). ArrayAdapter, çalıştığı yerle ilgili bilgiyi Context'e ulaşarak bulur.
    • android.R.layout.simple_list_item_1resource. Bu parametre, kullanıcının göreceği listenin yerleşim dosyasıdır. Listemiz bu layout dosyasından bina edilecektir.
    • android.R.id.text1textViewResourceId Bu parametre, layout dosyasındaki TextView'ın adını (id) verdiğimiz yerdir. Her bir veri buradaki bir TextView'a basılır.
  • (C) adımında artık ayarlamalarını bitirdiğimiz ArrayAdapter'i listemize gösteriyoruz.

5 Nisan 2017 Çarşamba

Sahne Arası Geçişlerde Sesin Devam Etmesi İçin. Unity 2d

using UnityEngine;
using System.Collections;

public class MusicCalma : MonoBehaviour {

static MusicCalma ornek = null;
void Awake () {
if (ornek != null) {
Destroy (gameObject);
print ("2.ci ses yok edildi.");
} else {
ornek = this;
GameObject.DontDestroyOnLoad (gameObject);
print ("Obje getirildi");
}



}

// Update is called once per frame
void Update () {

}
}

29 Mart 2017 Çarşamba

Animasyonu Nasıl Bİr Süre Sonra Yok Ederim.

Bunun için animasyonunuzu oluşturduktan sonra, bir script oluşturunuz ve içine girip şu kodları yazınız;

public float delay = 0f; // kaç saniye sonra silinmesini istiyorsanız onu giriniz

// Use this for initialization
void Start () {
//Burda Yok Edici kullandık animasyonumuzu içine çagırıyoruz.
Destroy (gameObject, this.GetComponent<Animator>().GetCurrentAnimatorStateInfo(0).length + delay);
}

Script dosyasını animasyon kullandıgınız Game Object içine atınız.