Soru & Cevap

android yeni versiyonlar

06.06.2014 - 12:54

merhaba,

güzel bir çalışma yapmışsınız tebrik ederim ama içeriğiniz güncel değil. mesela androidin yeni versiyonlarında yeni özellikler var sizin anlatımlarınızda olmayan. hiç bilmeyen birini düşünün bir derste takılıyor ve ondan sonrasında kopuyor. çünkü anlatılanla çalıştırılan bir değil ya da versiyon yükseltildiği için uygulamalar çalışmıyor. sitedeki dersler 101 de başlıyor yani sıfırdan başlayanlar için. uzmanlar ya da orta seviyedekiler için olsaydı versiyon farklarını kendilerini bulsunlar diye düşünebilirdiniz ama madem yaptınız bir hizmet bi zahmet arada bir güncelleyin de tam olsun.

teşekkürler...

11 Görüntülenme

4 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-242-1392640755.jpg
oytuneren
19.06.2014 - 03:17

@Ebubekir

Öncelikle Geleceği Yazanlar ekibi sanırım sana teşekkür edecektir, güzel noktalara değinmişsin, inceleyip sana geri dönüş yapacaklarından eminim bu kodları.

Fakat ilk bahsettiğin nokta biraz sıkıntılı, şöyle ki; ADT ve Eclipse'e Android SDK eklemek bile kendi içerisinde bir çok farklı şekilde geliyor. Bu Android'in geliştirme ortamındaki sürüm sorunları. Ayrıca bu sorun son kullanıcıya bile ulaşırken maalesef geliştiriciyi de etkiliyor.

Geleceği Yazanlar ekibi eminim ki, gerekli güncellemeleri en optimal noktada yapıyorlardır fakat ortam farklılıkları, sürüm farklılıkları, deneyim farklılıkları tekrar edeceğim fakat Android'de sık karşılaşılan ve yönetimi zor/sıkıntılı konular.

Bu yüzden aslında ilk yorumun bence yanlış fakat devamındaki söylediklerini de arkadaşların artık güncelleme takvimlerini beklemek gerekiyor olacak.

Profile picture for user ebubekir
ebubekir
18.06.2014 - 01:40

bir örnek daha. 401 ilk konu medya işlemleri. bu kod niye çalışmaz. eclipste hata vermiyor. sadece foto ya da video çektikten sonra geri dönüş olmuyor. 

[code]package com.example.kameraapp;

import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.MediaController;
import android.widget.VideoView;
import android.os.Build;
import android.provider.MediaStore;

public class MainActivity extends ActionBarActivity {

    private static final int VIDEO_ACTION_CODE = 101;
    private static final int IMAGE_ACTION_CODE = 102;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction().add(R.id.container, new PlaceholderFragment()).commit();
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.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();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    /**
     * A placeholder fragment containing a simple view.
     */
    public static class PlaceholderFragment extends Fragment {

        public PlaceholderFragment() {
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment_main, container, false);

            ((Button) rootView.findViewById(R.id.takePicture)).setOnClickListener(new OnClickListener() {

                        @Override
                        public void onClick(View v) {
                            // TODO Auto-generated method stub
                            Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                            startActivityForResult(takePictureIntent, IMAGE_ACTION_CODE);
                        }
                    });

            ((Button) rootView.findViewById(R.id.captureVideo)).setOnClickListener(new OnClickListener() {

                        @Override
                        public void onClick(View v) {
                            // TODO Auto-generated method stub
                            Intent captureVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
                            startActivityForResult(captureVideoIntent, VIDEO_ACTION_CODE);
                        }
                    });

            return rootView;
        }
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);

        if (resultCode != RESULT_OK) return;

        switch (requestCode) {
        case VIDEO_ACTION_CODE:
            VideoView videoView = ((VideoView) findViewById(R.id.videoPreview));
            videoView.setVideoURI(data.getData());
            videoView.setMediaController(new MediaController(this));
            videoView.requestFocus();
            videoView.start();
            break;
        case IMAGE_ACTION_CODE:
            Bundle extras = data.getExtras();
            ((ImageView) findViewById(R.id.imagePreview)).setImageBitmap((Bitmap) extras.get("data"));
            break;
        }

    }

}[/code]

Profile picture for user ebubekir
ebubekir
18.06.2014 - 12:26

tabiki mesela;

eclipsin son versiyonunu kurduğunuzda, proje oluşturunca main_activity ile beraber bir fragmanet_main yapısı da geliyor. bunları silip sıfırdan main_activity ile devam edebilirsiniz ama o zaman da bazı özelikler 4.4 versiyonunda çalışırken 2.2 versiyonunda çalışmayabiliyor (menü ve üst bar ... gibi) ben ilk 3 konuyu bittirdim şimdi 401 e geldim ama fragment anlatan konu göremedim henüz. 

daha somut bir örnek vereyim:

layout örneklerindeki bu satır hata veriyordu;
[code]startActivity(new Intent(MainActivity.this, LinearLayoutDemoActivity.class));[/code]
bu satırı bu şekilde kullanacağımı başka kaynaklardan araştırıp bulmak zorunda kaldım;
[code]startActivity(new Intent(getActivity(), LinearLayoutDemoActivity.class));[/code]

ikinci bir örnek;
sitede onCreate içindeki örnek kodları aslında onCreateView içine yazmam gerekitğini ya da findViewById metodunu rootView.findViewById şeklinde çağırmam gerektiğini sonradan öğrendim.

bunlar aklıma gelen ilk örneklerdi. daha bunun gibi 3-5 tane daha farklı durumla karşılaştım.

picture-242-1392640755.jpg
oytuneren
10.06.2014 - 05:03

Ebubekir Selam,

Mesela bir kaç örnekle durumu somutlaştırır mısın?

Android 101'den ben Java öğrenmeye başladım, Android 201'de ADT ve Google servisleri indirdim, "Hello World" yazdım, servisleri bağladım, bişeyler geliştirdim.

Yani tam olarak bir kişi yeni bir özelliğin buradaki eğitimde yazılmaması yüzünden, nerede takılabilir?