Androidの基礎知識のまとめ

3906 ワード

Androidの基礎知識のまとめ
1、Androidの4つのコンポーネントはどれらで、それらの役割はどれらですか?
  • Activity:ActivityはAndroidプログラムがユーザーと対話するウィンドウであり、Android構築ブロックの中で最も基本的な1つであり、各インタフェースの状態を維持するために、多くの持続的なことをし、ライフサイクルを適切に管理し、いくつかのジャンプロジック
  • を必要とする.
  • service:Activityにバックグラウンドサービスし、完全な機能論理実装をカプセル化し、上位命令を受け入れ、関連するものを完成し、受け入れる必要があるIntentを定義し、同期と非同期のインタフェース
  • を提供する.
  • Content Provider:Androidが提供するサードパーティアプリケーションデータのアクセス方案であり、Content Provider類を派生させ、対外的にデータを提供することができ、データベースのように選択・ソートを行うことができ、内部データの記憶詳細を遮蔽し、外部に統一的な口実型を提供し、上層アプリケーションを大幅に簡素化し、データの統合にもっと便利な方法を提供した.
  • BroadCast Receiver:1つ以上のIntentをトリガイベントとして受け入れ、関連メッセージを受け入れ、いくつかの簡単な処理を行い、Notificationに変換し、Androidのイベントブロードキャストモデル
  • を統一した.
    2、Androidでよく使われる5つのレイアウトを紹介してください.
    一般的に使用されるレイアウトは、FrameLayout(フレームレイアウト)、LinearLayout(リニアレイアウト)、AbsoluteLayout(絶対レイアウト)、RelativeLayout(相対レイアウト)、Table Layout(テーブルレイアウト)の5つです.
  • FrameLayout:すべてのものが左上に順番に置かれ、重なります.このレイアウトは簡単ですが、簡単なものしか入れません.
  • LinearLayout:線形レイアウト、各LinearLayoutには垂直レイアウト(android rientation="vertical")と水平レイアウト(android rientation="horizontal")があります.垂直にレイアウトすると、各行に1つの要素しかなく、複数の要素が垂直に下がります.水平レイアウトでは、1行のみで、各要素が順番に右に並べられます.
  • AbsoluteLayout:絶対レイアウトはX,Y座標で要素の位置を指定します.このレイアウトも簡単ですが、画面が回転すると問題が発生し、複数の要素の場合、計算が面倒になります.
  • RelativeLayout:相対レイアウトは、ある要素が参照物であると理解され、配置されるレイアウト方式である.主なプロパティは、ある要素に対してandroid:layout_です.below android:layout_親要素に対するtoLeftOfの場所android:layout_alignParentLeft, android:layout_alignParentRigh;
  • TableLayout:テーブルレイアウト、各TableLayoutにはテーブル行TableRowがあり、TableRowには各要素を具体的に定義できます.各レイアウトには独自の方法があり、この5つのレイアウト要素は互いにネストされて応用され、美しいインタフェースを作ることができます.

  • 3、androidの中のアニメーションはどれらの种类があって、それらの特徴と区别は何です
    2種類、1つはTweenアニメーション、もう1つはFrameアニメーションです.
  • Tweenアニメーションは、ビューコンポーネントを移動、拡大、縮小し、透明度の変化を生じさせることができる.もう1つの
  • Frameアニメーションは、従来のアニメーション方法で、並べられた画像を順番に再生することで実現され、映画のようなものです.

  • 4、androidの中でxmlを解析するクラスは何種類ありますか?公式おすすめはどれですか?それらの原理と違い.
    XML解析には主に3つの方式があり,SAX,DOM,PULLである.
  • PCで開発Domを使用すると比較的楽です
  • しかし、いくつかの性能に敏感なデータベースや携帯電話では主にSAX方式を採用しており、SAX読み取りは一方向であり、
  • の利点:メモリ領域を占めず、解析属性が便利で、
  • 欠点:複数のブランチを埋め込むのに処理が不便である.

  • でDOM方式はXMLファイル全体をメモリにロードします.ここでは、この方法がXPathとよく結合できることを注意してください.データ量が大きくなければ、
  • をお勧めします.
  • PULLはよくJ 2 MEでノードに対して処理するのが比較的に良くて、SAX方式のようで、同じくメモリを節約して、J 2 MEの中で私達のよく使うKXMLライブラリは解析します.

  • 5、ListViewの最適化方案
  • カスタムアダプタの場合、getViewメソッドでメソッドが渡されたパラメータcontentViewがnullであるかどうかを考慮し、nullの場合contentViewを作成して返し、nullでない場合はそのまま使用します.この方法ではできるだけviewを作成しないでください.
  • contentViewにtag(setTag())を設定し、表示するデータをキャッシュするためのviewHolderオブジェクトを転送し、画像データの非同期ロードの効果を達成することができる.
  • listviewに表示するitemが多い場合は、ページングロードを考慮します.例えば、全部で100個以上表示する場合は、まず20個をロードし、ユーザーがリストの下部に引っ張ったときに次の20個をロードすることを考えることができます.

  • 6、Androidのデータ格納方式.SharedPreferences ; ; SQLite ; ContentProvider ; ;
    SharedPreference,File, DataBase             /data/data/Package Name/Shared_Pref, /data/data/Package Name/files, /data/data/Package Name/database 。
    

    1.SharedPreferencesを使用してデータを格納
    まずSharedPreferencesストレージ方式について説明します.これはAndroidが提供する簡単な構成情報を格納するためのメカニズムです.例えば、ログインユーザーのユーザー名とパスワードです.それはMapデータ構造を採用してデータを保存して、キー値の方式で保存して、簡単な読み取りと書き込みができて、具体的な例は以下の通りです:
    void ReadSharedPreferences(){
    String strName,strPassword;
    SharedPreferences   user = getSharedPreferences(“user_info”,0);
    strName = user.getString(“NAME”,””);
    strPassword = user getString(“PASSWORD”,””);
    }
    void WriteSharedPreferences(String strName,String strPassword){
    SharedPreferences   user = getSharedPreferences(“user_info”,0);
    uer.edit();
    user.putString(“NAME”, strName);
    user.putString(“PASSWORD” ,strPassword);
    user.commit();
    }