Bu sene 2- 3 Kasim’da düzenlenen ve ismi “hackathonist” seçilen hackathon İTÜ kampüsünde yapıldı. Bu sene yapılan hackathonnun birde teması vardı. İstanbul ulaşım API’lerini kullanarak akıllı şehir uygulamaları geliştirmemiz bekleniyordu.Bununla ilgili olarak 1 Kasım günü CitySDK projesi anlatıldı. Proje bir cümle ile geliştiricilere rest servisler sunarak istedikleri ortamda uygulama geliştirmeyi sağlıyor. Burada benim gördüğüm eksik android geliştiricileri için bir kütüphanenin olmamasıydı. Yani siz bir uygulama geliştirmek isterseniz daha önce bu SDKyı kullanan kişilerin yaptığı işleri tekrar etmeniz gerekiyordu. Bende fikir olarak kendime android geliştiricileri için bir kütüphane ve bu kütüphane ile örnek bir proje yapmayı seçtim. Geliştirdiğim uygulamaları githubdan görebilirsiniz. Kütüphane için buradan, örnek uygulama içinse şuradan kodlara erişebilirsiniz. Etkinlik sayfası içinde şuraya bakabilirsiniz.

Bir veriyi SharedPreferences da saklamak icin aşağıdaki gibi bir kod parcacığı yazmak gerekiyor.

SharedPreferences settings = getSharedPreferences(Constants.PREFERENCESTAG, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("email", mEmail.getText().toString());
editor.commit();

Saklanan verinin tekrar kullanılması içinde aşağıdaki gibi birşeyler yazmak gerekiyor.

SharedPreferences settings = getSharedPreferences(Constants.PREFERENCESTAG, 0);
settings.getString("email", "");

Android’de bir intenti başlatırken ona veri geçirmek istiyorsanız. Aşağıdaki gibi yapabilirsiniz.

Veri göndermek için

Intent intent = new Intent(LITestActivity.this, Register.class);
intent.putExtra("name", person.getFirstName());
intent.putExtra("lastName",  person.getLastName());
intent.putExtra("id", id);
startActivity(intent);

 

Verileri çekmek için

Intent myIntent = getIntent();
String name = myIntent.getStringExtra("name");

Bu problem Manifest.xml de aşağıdaki izini vermediğimizden kaynaklanabilir. Eğer bu probleminizi çözmezse aşağıdaki java kodunu sinifiniza ekleyin.

  • < uses-permission android:name="android.permission.INTERNET" />
  • StrictMode.ThreadPolicy policy =
    new StrictMode.ThreadPolicy.Builder().permitAll().build();

    StrictMode.setThreadPolicy(policy);