Android開発の隠された機能?


121

私がしばらく追跡してきたHidden FeaturesシリーズにまだAndroid Hidden Featuresの投稿がないことに驚いています

非表示機能シリーズは、特定の言語を初めて使用するユーザーに最適です。ロープと特定の貴重なトリックがすべて1か所に表示されます。素晴らしいアイデアだと思います。エキスパートでさえ、聞いたことのないトリックを見つけることがあります。

私はAndroid開発を始めています。その隠れた機能、ヒント、トリック、および落とし穴について聞きたいです。

では、Androidの隠された機能は何ですか?

回答:


105

うまくいけば、隠された機能や隠された機能が多すぎないことを願っていますが、Androidで利用できるあまり知られていない直感的でない機能をいくつか紹介します。

  • プラットフォームのすべてのソースコードとGoogle以外のネイティブアプリはすべて、Androidオープンソースプロジェクトから閲覧、ダウンロード、借用、または盗むことができます。
  • リソースフレームワークを使用して、アプリのローカライズバージョンを作成するのは、別の言語(フランス語など)の文字列を含むXMLファイルを含む新しい注釈付きサブフォルダー(たとえば、values-fr)を追加するだけです。Androidは実行時に適切なフォルダーを選択します。
    • 同じリソースフレームワークを使用すると、名前付きフォルダーにドロップするだけで、ハードウェア構成、画面のピクセル密度、および入力デバイスごとに異なるレイアウトを使用できます。
  • Android 1.6以降、アプリはホーム画面のクイック検索ボックス検索の結果に表示される結果を生成できます。これは、カスタム検索候補と呼ばれます
  • インテントとインテントフィルターを使用すると、アプリはアクションを完了するための匿名リクエストを作成して処理できます(たとえば、WhereアプリはOpen Tableアプリからテーブル予約をリクエストできます)。
    • 彼らは、どのアプリケーションがその要求を満たすことができるかを知る必要なく、アクションを完了するために未知のアプリケーションを要求できます。
    • アプリは、不明なアプリからのリクエストを実行して、どのアプリがリクエストを行うかを知る必要なく、アクションを完了できます。この権利を再生すると、「デフォルト」のTwitterアプリや予約アプリなどを作成できます。
  • アラームを使用すると、アプリが実行されていなくても、所定の時間にタスクを完了するようにアプリを設定できます。
    • setInexactRepeatingメソッドを使用すると、定期的なイベント(サーバーのポーリングや更新など)をスケジュールすることで、バッテリー寿命を大幅に節約できます。アドホックではなく、同時に発生する複数のアプリからのアラームを同期します。
  • Preferencesフレームワークを使用して、システム設定と同じスタイルでアプリの設定画面を作成できます。システム設定画面(セキュリティや場所など)をアプリケーションの設定階層に組み込むこともできます。
  • AudioTrack API とAudioRecord API を使用する、PCMオーディオバッファーとの間で直接オーディオデータをストリーミングできます。

35

/ツールディレクトリ内のツール SDKのは、言及に値します:

  • 私たちのデザイナーは特にdraw9patch伸縮性のあるボタンのデザインに力を入れています。彼はそこからアセットをくれて、私は背景色から9パッチのドローアブルに変更しました。これで、カスタムボタン、丸みを帯びた角などがテキストに合わせて引き伸ばされました。
  • ddms、これもEclipseプラグインに統合されています。非常に強力ですが、スクリーンショットを撮るために使用しています。
  • adb-コマンドラインからデバイスまたはエミュレータとやり取りします。これを使用して、デスクトップのターミナルウィンドウでデバイスからのログを追跡しますが、動作に問題のあるアプリのインストールとアンインストールに役立つことがわかりました。
  • sqlite3 -インストールされているデータベースとのやり取りやクエリの試行に最適です。
  • apkbuilderzipalignaapt-ヘッドレスを実行するための偉大なビルド
  • monkey アプリのファズテスト用。

また、3つのDesigning for PerformanceResponsiveness、およびSeamlessnessを選択しますが、4番目のコーディング((バッテリー)寿命)も追加します。

Javadocの回で少しまばらなことができますが、それは助けない終わりをあなたはを見て、右そこにソースを持っています。

また、Google社員が多くのサンプルアプリを作成し、ビルド、調査、実行方法を確認することも非常に便利です。


1
あなたは別の素晴らしいツールlayoutoptを見逃しました。
100rabh

私がいつも使用しているもう1つの欠けているのは、hierarchyviewerです。
Artem Russakovskii

25

私はそれから始めると思います。


私が考える素晴らしい隠し機能は、Androidドキュメントのベストプラクティスです。レスポンシブで高速なアプリを設計するための多くの優れたヒントを示しています。

ベストプラクティスセクションは次のとおりです。

  • 複数の画面のサポート(複数のサイズと解像度)
  • UIガイドライン
    • アイコンデザイン
    • アプリウィジェットのデザイン
    • アクティビティとタスクデザイン
    • メニューデザイン
  • パフォーマンスの設計
  • 応答性のための設計
  • シームレス性の設計

別の隠し機能は、これらのドキュメントがSDKの一部としてオフラインで利用できることです。最初は、朝の電車に乗るために毎日数ページをロードしていましたが、SDKディレクトリでそれらを見つけた後は、それを実行する必要はありませんでした。


Eclipseを使用する場合、XMLファイルのフォーマットが適切ではないことに気づくでしょう。そうすると、非常に一貫性がなくなります(属性が新しい行で分割される場合もあれば、そうでない場合もあります)。これを修正するには、Ctrl-Shift-F(自動フォーマット)を押します。Ctrl-Shift-Fが使用する規則は、ウィンドウ->設定-> XML-> XMLファイル->エディターにあります。


1
最後のものは私のワークフローの一部になるでしょう。これは先週私を悩ませました...ありがとうございます!
Mikle

14

Androidは<shape>、SVGのようなドローアブルとして使用できるXMLをサポートしています。残念ながら、それらのドキュメントはありません。これは私が見つけることができる最高の情報です:

http://escomic.net/217


4
シェイプのすべてのxml機能に関する完全なドキュメントを備えたidunnolol.com/android/drawables.htmlもあります。形状は、クリックすると色が変わる丸いコーナーの背景を作成したり、カスタム背景ドローアブルの代わりにxml定義のグラデーションを作成したりするのに非常に重要です。
Janusz 2010

1つのxmlドキュメントに複数の形状を追加することは可能ですか?例えば、いくつかの円と長方形?
スカイフット

13

また、ベストプラクティスについては、Androidのコーディングスタイルを確認してください。

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

Eclipseコードとインポート/フォーマッタ(android-formatting.xml、android.importorder)は、development / ide / eclipseの下のプラットフォームソースコードにあります。


2
Eclipseフォーマッター用のコードを取得するためにジャンプするのが少し多すぎるため、ここで見つけてください:google.com/codesearch/p
hl

7

階層ビューアー/ toolsのを使用すると、ビューのレイアウト(パディング、配置、ビューの階層など)をデバッグ/分析できます。

なぜ物事がそのように配置されているのかを理解しようとするとき、それは私に多くの時間を節約しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.