blog posts

Java ile Android uygulaması

Java ile Android uygulaması nasıl oluşturulur?

Java ile Android uygulaması nasıl oluşturulur?

Java öğrenerek bir Android uygulaması oluşturmayı planlıyorsanız bu yönde daha emin adımlarla yürümeye başlamadan önce biraz daha bilgi sahibi olmanızda fayda var. Bu yazımızda Java ile Android programlama ile ilgili tüm noktaları ele alıp hepsini anlatmaya çalıştık .

Java’da nasıl kod yazılacağını öğrenebilir veya yeni ve popüler Flutter çerçevesini inceleyerek  onu kendiniz nasıl tasarlayacağınızı öğrenebilirsiniz. Sıfırdan kodlama altyapınız varsa o zaman bir ölçüm programına ihtiyacınız var, bu yöntem muhtemelen size göre değil. Ayrıca projenizi bitirmeyi başarsanız bile işiniz o kadar profesyonel olmayacaktır.

 

Java’nın yardımıyla bir Android uygulaması oluşturmak için, popüler Java uygulama oluşturucularının herhangi birinde önceden tanımlanmış kalıplardan ve yeteneklerden bazılarını test etmeniz gerekir.Sizin için hızlı bir pazar testi yapmak paradır. Aynı işletim sistemi veya benzer yerel Android uygulamaları üzerinde düzinelerce vasat çözüm gibi görünen bir MVP ile rekabet etmeye çalışmamayı unutmayın.

Java ile bir uygulama geliştirmek için uzman bir Android yazılım geliştirme ajansına gidebilirsiniz. Size geliştirme, tasarım ve kalite güvencesi alanında eksiksiz bir hizmet yelpazesi sunuyorlar. Bu muhtemelen Java tasarımlı bir uygulama edinmenin en pahalı yoludur.

Harika bir kullanıcı arayüzüne, gelişmiş özelliklere ve çekici tasarıma sahip bağımsız bir Android uygulaması, o uygulamayı öne çıkarmanın en etkili yollarından biridir.

Tüm işi sizin için yapacak bir serbest çalışan veya profesyonellerden oluşan bir ekip bulun. Bu yöntem daha hızlı ve daha ucuzdur ancak bu yöntem aynı zamanda zamanlama hatası ve program kalitesi gibi riskleri de taşır.

Artık bunu anladığımıza göre Java yardımıyla nasıl program oluşturabiliriz? Bu soruyu cevaplamak için bizimle kalın.

Java ile Android nasıl programlanır

Android Yazılım Geliştirme Kiti (Android), geliştiricilerin Java ile Android programlama geliştirmek için kullandıkları ana araçtır.

Öncelikle Android Studio’yu kurun. Android için resmi IDE geliştirme ortamıdır ve Windows, macOS ve Linux için kullanılabilir. Ancak Java ile Android programlarken Android Studio dışında başka ortamları da kullanabilirsiniz.

Bilgisayarınızda Android SDK ve diğer bileşenler yüklü değilse Android Studio bunları otomatik olarak indirecektir. Android SDK, Java ile Android uygulamaları yapmak için uygun bir programlama ortamı olduğundan IDE ile birlikte yüklenmesi gerekir.

SDK, kitaplıklar, yürütülebilir dosyalar, komut dosyaları, belgeler vb. gibi şeyleri içerir.

APK’ları daha sonra çalıştırabilmeniz için bilgisayarınıza bir Android emülatörü yüklemek de iyi bir fikirdir. Emülatör Android Studio uygulamasıyla birlikte gelir.

Artık bilgisayarınızda gerekli tüm araçlar kurulu olduğuna göre ilk projenizi oluşturabilirsiniz. Android’i Java ile programlamak için bir uygulamayı neyin oluşturduğuna dair temel kavramları bilmeniz ve anlamanız gerekir.

Java kullanarak bir Android uygulaması nasıl tasarlanır

Bir kullanıcı arayüzü tasarlamak için XML kaynak dosyalarını kullanmanın, Java kodu yazmaya kıyasla çok sayıda önemli avantajı vardır. Aslına bakılırsa Google, XML kaynaklarının avantajlarını Java kodu üzerinden öne çıkarmak için Android dokümantasyonunda önemli mesafeler kat ediyor. XML yaklaşımının önemli avantajlarından biri, XML kaynaklarını otomatik olarak üreten Grafik Düzeni aracını kullanma olanağını içerir.

Uygulama tasarımının güçlü yönleri açısından, mizanpajlar oluşturmak için Java programlamayı kullanmak belki de Java’nın kaynak dosyalara göre sahip olduğu en önemli avantajdır.

 

Java kodu, kullanıcı arayüzleri oluşturmak ve uygulamaları çalışma zamanında dinamik olarak tasarlamak için idealdir. Bu nedenle bazı geliştiriciler, farklı yaklaşımların sunduğu avantajlara bakılmaksızın, düzen araçlarını ve XML’i kullanmak için yalnızca Java kodu yazmayı tercih eder.

Artık Java’nın avantajlarını ve kullanıcı arayüzlerini anladığımıza göre, Java kullanarak bir Android uygulaması tasarlamaya şu şekilde başlayabiliriz:

Eclipse’i başlatın ve uygun paket adı ve SDK seçimiyle JavaLayout adlı bir Android uygulama projesi oluşturun. Boş bir etkinlik oluşturma ve varsayılan başlatıcı simgelerini kullanma isteği. JavaLayoutActivity etkinliğini ve javalayout etkinliğinin düzenini parça düzeniyle fragment_java_layout olarak adlandırın.

Projeyi oluşturduktan sonra Paket Gezgini panelinde <ad adı> seçeneğine gidin ve onu seçin, ardından düzenleme paneline yüklemek için JavaLayoutActivity.java dosyasına tıklayın. Beklendiği gibi Eclipse, şablon etkinliğini oluşturur ve onCreate yöntemini geçersiz kılarak, bir kullanıcı arayüzü oluşturmak ve uygulamayı tasarlamak amacıyla Java kodunu eklemek için ideal bir yer sağlar.

onCreate yöntemi şu anda kullanıcı arayüzü için bir kaynak düzeni dosyası ve bir parça kullanacak şekilde tasarlanmıştır. Bu şekilde okumak için aşağıdaki yöntemden bu öğeleri ve satırları kaldırarak başlayın:

@Geçersiz kıl
korumalı void onCreate(Bundle saveInstanceState) {
super.onCreate(savedInstanceState);
}

OnCreate yönteminin bir sonraki adımı, tek düğme görünümüyle RelativeLayout teması eklemek için bazı Java kodlarıdır. Bu eylem RelativeLayout sınıfları gibi yenilerini oluşturur.

Daha sonra, RelativeLayout görünümüne düğme görünümü (Düğme görünümü) eklenmelidir; bu görünüm, etkinlik örneklerinden setContentView yöntemi çağrılarak görüntülenir.

com.example.javalayout paketi;

android.app.Activity'yi içe aktar;
android.app.ActionBar'ı içe aktarın;
android.app.Fragment'i içe aktarın;
android.os.Bundle'ı içe aktarın;
android.view.LayoutInflater'ı içe aktarın;
android.view.Menu'yu içe aktar;
android.view.MenuItem'i içe aktarın;
android.view.View'ı içe aktar;
android.view.ViewGroup'u içe aktarın;
android.os.Build'ı içe aktarın;
android.widget.Button'u içe aktar;
android.widget.RelativeLayout'u içe aktarın;

genel sınıf MainActivity, Aktiviteyi genişletir {

@Geçersiz kıl
korumalı void onCreate(Bundle saveInstanceState) {
super.onCreate(savedInstanceState);
Düğme myButton = yeni Düğme(bu);
RelativeLayout myLayout = new RelativeLayout(bu);
myLayout.addView(myButton);
setContentView(myLayout);
}
.
.
.
}

Yukarıdakileri tamamladıktan sonra programı veya uygulamayı (fiziksel bir cihazda veya simülatörde) derleyin ve çalıştırın. Başlatıldığında görünür sonuç, RelativeLayout görünümünün sol üst köşesinde metin içermeyen bir düğme olacaktır.

Şimdi bu bölümde RelativeLayout görünümünün arka planının mavi olmasını ve düğme görünümünün Press me yazan metni göstermesini istediğimiz görüntüleme özelliklerini ayarlamak istiyoruz. Bu görevlerin her ikisi de, aşağıdaki kod parçacığında gösterildiği gibi görünümlerdeki özelliklerin ayarlanmasıyla gerçekleştirilebilir:

com.example.javalayout paketi;

android.app.Activity'yi içe aktar;
android.app.ActionBar'ı içe aktarın;
android.app.Fragment'i içe aktarın;
android.os.Bundle'ı içe aktarın;
android.view.LayoutInflater'ı içe aktarın;
android.view.Menu'yu içe aktar;
android.view.MenuItem'i içe aktarın;
android.view.View'ı içe aktar;
android.view.ViewGroup'u içe aktarın;
android.os.Build'ı içe aktarın;
android.widget.Button'u içe aktar;
android.widget.RelativeLayout'u içe aktarın;
android.graphics.Color'ı içe aktar;

genel sınıf MainActivity, Aktiviteyi genişletir {

@Geçersiz kıl
korumalı void onCreate(Bundle saveInstanceState) {
super.onCreate(savedInstanceState);
Düğme myButton = yeni Düğme(bu);
myButton.setText("Bana basın");
myButton.setBackgroundColor(Color.YELLOW);

RelativeLayout myLayout = new RelativeLayout(bu);
myLayout.setBackgroundColor(Color.BLUE);

myLayout.addView(myButton);
setContentView(myLayout);
}
.
.
.
}

Android uygulaması artık derlendi ve çalışıyor. Düzen, özellik ayarlarını, düzenin mavi bir arka planla ve atanmış metin düğmesinin sarı bir arka plan üzerinde görünmesini sağlayacak şekilde gösterir.

Java yardımıyla masaüstü uygulaması nasıl yapılır

Bu bölümde, Java GUI’ye genel bir bakışın yanı sıra çok basit adımlarla İngilizce metni Mors koduna ve tam tersini çeviren basit bir masaüstü uygulaması oluşturacağız. Bu, Java programlama dili ile Grafik Kullanıcı Arayüzü (GUI) dünyasına giriş niteliğinde bir eğitim olacaktır.

İlk olarak, grafik kısmına dalmadan önce, sürüş mantığını gözden geçirelim: İngilizce sözlüğünü ve ilgili Mors kodunu oluşturmak için aşağıdaki HashMap (Map sınıfı bir Anahtar-Değer deposudur) kullanılır. Yani şöyle bir şeyimiz var:

özel HashMap<String, String> englishToMorseLib = new HashMap<>();
englishToMorseLib.put("A", ".-");
englishToMorseLib.put("B", "-...");
englishToMorseLib.put("C", "-.-.");
.
.
.
.
// github'daki tam kaynak koduna bağlantı makalenin sonunda verilmiştir

Daha sonra bu durumda iki yöntem oluşturuldu: Biri İngilizce metni Mors alfabesine çevirmek, diğeri ise tam tersini yapmak. Her iki durumda da metin, boşluk ve yeni satır karakterleriyle eşleşen bir Regex kullanılarak bölünür. Ortaya çıkan dizilerin her biri, daha iyi verimlilik için Java Akışları kullanılarak işlenir.

//bu yöntem İngilizce Kelimeleri Mors Koduna dönüştürecektir
public String englishWordToMorseWord(String englishWord) {
StringBuffer arabelleği = yeni StringBuffer();
Stream.of(englishWord.split("[\\s\\n]"))
.forEach( s -> {
for(char c: s.toCharArray()) {
buffer.append(englishToMorseLib.containsKey(String.valueOf(c).toUpperCase()) ? englishToMorseLib.get(String.valueOf(c).toUpperCase()) + " " : "?? ");
}
buffer.append(" / ");
});
return buffer.toString();
}
//bu yöntem Mors kodunu İngilizce Word'e dönüştürecektir
public String morseWordToEnglishWord(String morseWord) {
StringBuffer arabelleği = yeni StringBuffer();
Stream.of(morseWord.split("[\\s\\n]"))
.filter((s) -> s != null && !s.isEmpty())
.forEach( s -> {
if(s.equalsIgnoreCase("/") || s.equalsIgnoreCase("|")) {
buffer.append(" ");
} başka {
buffer.append((morseToEnglishLib.containsKey(s) ? morseToEnglishLib.get(s) : "?? ").toLowerCase());
}
});
return buffer.toString();
}

Şimdi uygulamayı masaüstüne tasarlamak için Java’nın unsurlarına gitmek istiyoruz.

Java’daki GUI öğeleri

Java, eksiksiz bir masaüstü uygulamasının yapı taşları olarak GUI’yi kullanan zengin bir dizi grafik kullanıcı arayüzü öğesine sahiptir.

JFrame öğesi

Java GUI’nin en üst katmanı JFrame’dir. Öğeleri veya diğer öğeleri içeren en dıştaki kaptır. Aşağıdaki kod satırları bir JFrame nesnesi oluşturur.

//JFrame Örneği oluştur
JFrame çerçevesi = yeni JFrame();
Frame.setTitle("Mors Kodu Çevirmeni: Seun Matt (@SeunMatt2)");
Frame.setLayout(new BorderLayout());

//JFrame'e diğer kapsayıcıları ve öğeleri ekliyoruz
çerçeve.add(mainPanel, BorderLayout.CENTER);

çerçeve.setSize(yeni Boyut(800, 650));

//bu, kapat düğmesine basıldığında uygulamayı sonlandırır
çerçeve.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//bu, uygulamanın her zaman merkezde görüntülenmesini sağlayacaktır
çerçeve.setLocationRelativeTo(null);

//pencereyi yeniden boyutlandırmanı istemiyorum
çerçeve.setResizable(false);

//ve evet bu görünür çerçeveyi/uygulamayı gösterecek
çerçeve.setVisible(true);

Yukarıdaki kodun yaptığı, düzenin başlığı, boyutu, konumu gibi parametreleri ayarlayan ve ayrıca çerçeveyi yeniden boyutlandırma ve görüntülenebilirlik gibi JFrame davranışını ayarlayan bir JFrame nesnesinin tabanını ve örneğini oluşturmaktır.

JPanel öğesi

Bir kaptır, yani diğer unsurları bir arada tutar. Aşağıdaki kod satırları, programın sağ tarafındaki Mors Metni bölümünün alt kısmındaki buton satırını oluşturmaktan sorumludur.

JPanel morseControlPanel = new JPanel();

//düzen stilini ayarladık
morseControlPanel.setLayout(new FlowLayout(FlowLayout.RIGHT));

//Morse >> İngilizce butonunu ekleyin
morseControlPanel.add(morseToEnglishBt);

//Metni Temizle >> butonunu ekliyoruz
morseControlPanel.add(clearMorseText);