Android geliştirmenin gizli özellikleri?


121

Bir süredir takip ettiğim Gizli Özellikler dizisinde henüz Android Gizli Özellikler gönderisi olmamasına şaşırdım .

Gizli Özellikler serisi, belirli bir dilde yeni olan insanlar için harikadır. İpleri ve bazı değerli püf noktalarını tek bir yerde gösterir. Bence bu harika bir fikir. Uzmanlar bile bazen hiç duymadıkları püf noktaları bulur.

Android geliştirmeye başlıyorum ve gizli özellikleri, ipuçları, püf noktaları ve tuzaklarını duymak isterim.

Yani, buraya: Bazı nelerdir gizli özellikleri arasında Android ?

Yanıtlar:


105

Umarım çok fazla gizli, gizli özellik yoktur - ancak işte Android için mevcut olan ve hayatınızı kesinlikle kolaylaştıracak ve uygulamalarınızı daha iyi hale getirecek daha az bilinen ve sezgisel olmayan özelliklerden bazıları.

  • Platformun tüm kaynak kodu ve Google dışı tüm yerel uygulamalar, Android Açık Kaynak projesine göz atmanız, indirmeniz, ödünç almanız veya buradan çalmanız için kullanılabilir .
  • Kaynaklar çerçevesini kullanarak, uygulamanızın yerelleştirilmiş sürümlerini oluşturmak, farklı bir dilde (Örn. Fransızca) dizeleri olan bir XML dosyası içeren yeni bir ek açıklamalı alt klasör (Ör. Değerler-fr) eklemek kadar basittir. Android, çalışma zamanında sizin için doğru klasörü seçecektir.
    • Aynı kaynaklar çerçevesi, farklı donanım yapılandırmaları, ekran piksel yoğunlukları ve giriş aygıtları için yalnızca adlandırılmış klasöre bırakarak alternatif düzenler kullanmanızı sağlar.
  • Android 1.6'dan beri uygulamanız, ana ekran Hızlı Arama Kutusu aramasının sonuçlarında görünecek sonuçlar üretebilir. Bu, özel arama önerileri olarak bilinir .
  • Amaçlar ve Amaç Filtrelerini kullanarak uygulamalarınız, bir eylemin tamamlanması için anonim isteklerde bulunabilir ve hizmet verebilir (Örneğin Where uygulaması, Açık Tablo uygulamasından bir masa rezervasyonu talep edebilir ).
    • Bilinmeyen bir uygulamadan, bu isteği hangi uygulamaların yerine getirebileceğini bilmelerine gerek kalmadan bir eylemi tamamlamasını isteyebilirler.
    • Uygulamanız, hangi uygulamaların istekte bulunacağını bilmesine gerek kalmadan bilinmeyen uygulamalardan eylemleri tamamlamak için istekleri yerine getirebilir. Bunu doğru oynayın ve 'varsayılan' Twitter uygulamasını veya rezervasyon uygulamasını vb. Oluşturabilirsiniz.
  • Alarmları kullanarak uygulamanızı, çalışmıyor olsa bile görevleri önceden belirlenen zamanlarda tamamlayacak şekilde ayarlayabilirsiniz.
    • Düzenli olayları planlamak için setInexactRepeating yöntemini kullanarak (sunucu yoklaması veya güncellemeler gibi) pil ömründen büyük ölçüde tasarruf edebilirsiniz . Birden fazla uygulamadan gelen alarmları anlık yerine aynı anda meydana gelecek şekilde senkronize edecektir.
  • Tercihler çerçevesini kullanarak, uygulamalarınız için sistem ayarlarıyla aynı stilde ayar ekranları oluşturabilirsiniz. Hatta sistem ayarları ekranlarını (Örn. Güvenlik ve Konum) uygulamanızın ayarlar hiyerarşisine dahil edebilirsiniz.
  • AudioTrack ve AudioRecord API'lerini kullanarak, ses verilerini doğrudan PCM ses arabelleklerinden ve bunlara aktarabilirsiniz .

35

/ Araçları dizindeki araçları SDK'nın hak bir söz:

  • tasarımcımız özellikle draw9patchgerilebilir düğmelerin tasarlanmasına yardımcı olmasından etkilendi . Bana oradan varlıklar verdi ve bir arka plan renginden 9 yama çizilebilir bir renge geçtim ve şimdi metne sığması için uzatılmış özel bir düğme, yuvarlatılmış köşeler vb. Var.
  • ddmsEclipse eklentisine de entegre edilmiştir. Son derece güçlü ama ekran görüntüsü almak için kullanıyorum.
  • adb- cihazınız veya emülatörünüzle komut satırından etkileşim kurun. Bunu, hatalı çalışan uygulamaları yüklemek ve kaldırmak için yararlı bulsam da, masaüstümdeki bir terminal penceresinde cihazımdaki günlükleri izlemek için kullanıyorum.
  • sqlite3 - yüklü bir veritabanıyla etkileşim kurmak ve sorguları denemek için harika.
  • apkbuilder, zipalign, aapt- başsız çalıştırmak için harika kurar
  • monkey uygulamanızı fuzz test etmek için.

Ayrıca Performans , Duyarlılık ve Kesintisizlik için Tasarım üçünü de seçerdim , ancak dördüncü bir (Pil) Ömrü için Kodlama eklemek istiyorum .

Javadoc zaman zaman biraz seyrek olabilse de, bakmanız için kaynağın tam orada olmasının sonu gelmez .

Google çalışanları tarafından yazılan çok sayıda örnek uygulamaya sahip olmak , bunları nasıl yaptıklarını incelemek ve görmek için çok yararlıdır .


1
Başka bir güzel aracı kaçırdın.
100rabh

Her zaman kullandığım bir diğer eksik iyi hierarchyviewer.
Artem Russakovskii

25

Sanırım o zaman başlayacağım.


Bence güzel bir gizli özellik, Android belgelerinin En İyi Uygulamaları. Duyarlı ve hızlı uygulamalar tasarlamak için birçok harika ipucu listeler.

En İyi Uygulamalar bölümleri şunlardır:

  • Birden Çok Ekranı Destekleme (birden çok boyut ve çözünürlük)
  • UI Yönergeleri
    • Simge Tasarımı
    • Uygulama Widget Tasarımı
    • Etkinlik ve Görev Tasarımı
    • Menü Tasarımı
  • Performans için Tasarım
  • Duyarlılık için Tasarım
  • Kesintisizlik için Tasarım

Diğer bir gizli özellik ise bu dokümanların SDK'nın bir parçası olarak çevrimdışı olarak kullanılabilir olmasıdır. İlk başta sabah tren yolculuğum için her gün birkaç sayfa yüklüyordum, ancak SDK dizininde bulduktan sonra artık bunu yapmam gerekmiyordu.


Eclipse kullanırsanız, XML dosyalarını çok iyi biçimlendirmediğini ve yaptığında çok tutarsız olduğunu fark edeceksiniz (bazen nitelikleri yeni satırlara böler, bazen de yapmaz). Düzeltmek için Ctrl-Shift-F (otomatik biçim) tuşlarına basabilirsiniz. Ctrl-Shift-F'nin kullandığı kurallar Window-> Preferences-> XML-> XML Files-> Editor'dedir.


1
Sonuncusu kesinlikle iş akışımın bir parçası olacak. Bu geçen hafta beni rahatsız ediyordu ... Teşekkürler !!
Mikle

14

Android, <shape>SVG benzeri çekilebilir öğeler olarak kullanılabilen XML'leri destekler. Maalesef onlar için belge yok. Bulabildiğim en iyi bilgi bu:

http://escomic.net/217


4
Ayrıca, şekiller için tüm xml özellikleriyle ilgili eksiksiz bir dokümantasyon içeren idunnolol.com/android/drawables.html de bulunmaktadır . Şekiller, tıklandığında rengini değiştiren veya özel arka plan çizimleri yerine xml tanımlı degradeler yapan yuvarlak arka planlar yapmak için çok önemli olabilir.
Janusz

bir xml belgesine birkaç şekil eklemek mümkün mü? örneğin birkaç daire ve dikdörtgen?
skyfoot

13

Ayrıca en iyi uygulamalarla ilgili olarak, Android kodlama stiline göz atmak isteyebilirsiniz:

http://source.android.com/source/code-style.html

yanı sıra, geliştirme / ide / eclipse altındaki platform kaynak kodunda bulunan tutulma kodu ve içe aktaran biçimlendiriciler (android-formatting.xml, android.importorder)


2
Yalnızca Eclipse biçimlendiricinin kodunu almak için atlanacak çok fazla çember var, bu yüzden burada bulun: google.com/codesearch/p?hl=tr#CRBM04-7BoA/ide/eclipse/…
idbrii

7

/ tools içindeki hierarchyviewer , görünüm düzeninizde hata ayıklamanıza / analiz etmenize olanak tanır: dolgu, konumlandırma, görünüm hiyerarşisi vb.

İşlerin neden olduğu gibi düzenlendiğini anlamaya çalışırken birkaç kez bana çok zaman kazandırdı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.