Jiangxi University of Science and TechnologyAndroid最終レビューの質問2019

1.複数選択の質問

1. androidでRadioButtonを使用する場合、相互に排他的な選択を実現するために必要なコンポーネントは()です。

A、ButtonGroup

B、ラジオボタン

C、チェックボックス

D、RadioGroup

2.ハンドラーに関するどのステートメントが正しいか()

A.異なるスレッド間の通信メカニズムを実装しています

B.UIコンポーネントを操作する新しいスレッドを回避します

C.スタックを使用してタスクを整理します

D.新しいスレッドに属することができます

3. EditText編集ボックスのプロンプトメッセージとして使用できるのは次のうちどれですか?

A、android:inputType

B、android:text

C、android:digits

D、android:ヒント

4.アクティビティを終了して、ライフサイクルで実行できるいくつかのリソースと状態操作を保存します。()

A、onPause() 

B、onCreate() 

C、onResume() 

D、onStart()

5. Androidプロジェクトのassetsディレクトリの機能は何ですか?() 

A.適用された画像リソースRes / drawableを配置します。

B.主にいくつかのファイルリソースを配置します。これらのファイルはそのままapkにパッケージ化されます 

C.文字列、色、配列、その他の定数データの解像度/値を配置します 

D.UIに対応するいくつかのレイアウトファイルを配置します。これらはすべてxmlファイルres / layoutです。

6.インテントの役割は()  

A.インテントは、4つの主要なコンポーネントを接続し、インターフェイスを切り替えることができ、アクションとアクションデータを含めることができるリンクです。 

B.長いライフサイクルです。ユーザーインターフェイスのないプログラムは、ページの切り替えによって消えることなく、アプリケーションをバックグラウンドで実行し続けることができます。

C.アプリケーション間のデータ共有を実現します。

D.アプリケーションの全体的な作業を処理します。

7. AbsoluteLayoutの一意の属性は次のうちどれですか?()

A、android:layout_height 

 B、android:layout_x  

C、android:layout_above

  D、android:layout_toRightOf

8.携帯電話開発で一般的に使用されるデータベースは()

A、sqlLite   

B、Oracle    

C、SQL Server 

D、Db23

9. BroadcastReceiverの何が問題になっていますか()

A.ブロードキャストインテントを受信するために使用されます。

B.ブロードキャストインテントは、このブロードキャストにサブスクライブしているBroadcastReceiverのみが受信できます。

C.順序付き放送の場合、システムは、受信者によって宣言された優先順位に従って、受信者を1つずつ実行します。

D.受信者によって宣言された優先度は、<intent-filter>のandroid:priority属性で宣言されます。値が大きいほど、優先度が高くなります。

10. MediaPlayerを使用してsdcardに保存されたmp3ファイルを再生する場合()

A. MediaPlayerを作成するには、MediaPlayer.createメソッドを使用する必要があります。

B.newMediaPlayerを直接使用するだけです。

C.ファイルソースを設定するには、setDataSourceメソッドを呼び出す必要があります。

D.ファイルソースを設定せずにstartメソッドを直接呼び出します。

11.複数のアプリケーションで共有ストレージデータを読み取る場合、使用する必要があるクエリメソッドはどのオブジェクトメソッドですか。()

A、ContentResolver   

B、ContentProvider

Cカーソル               

D、SQLiteHelper

12.メモリ監視ツールDDMSのログ情報にはいくつのレベルがありますか?()

A、3       

B、4     

C、5       

D、6

13.カスタムアダプタの最適化方法については、通常3つの方法を使用しますが、以下は使用できません()

A.レイアウトビューオブジェクトを再利用する

B.写真の非同期読み込み 

C、コンポーネントの再利用  

D.内部クラスを作成する

14.入力を自動的に完了することができるコンポーネントは()です。

A、TextView   

B、EditText 

C、ImageView    

D、AutoCompleteTextView

15.ドロップダウンリストを表すコンポーネントは()です。

A、ギャラリー    

B、スピナー    

C、GridView  

D、ListView

16.アクティビティでIDがbookNameであるTextViewコンポーネントを見つける必要があります。次のステートメントのどれが正しいですか?() 

A、TextView tv = this.findViewById(R.id.bookName); 

B、TextView tv =(TextView)this.findViewById(R.id.code); 

C、TextView tv =(TextView)this.findViewById(R.id.bookName); 

D、TextView tv =(TextView)this.findViewById(R.string.bookName);

17. Android SDKは、さまざまな画面解像度に適応する問題を解決するために画像を処理するためのツールを提供します。()

A、Draw7パッチ  

B、Draw8-パッチ

C、Draw9-パッチ  

D、Draw10-パッチ

18.次の記述は間違っています()

A.ボタンは、他のボタンコンポーネントに加えて、一般的なボタンコンポーネントです。

B. TextViewはテキストを表示するコンポーネントであり、TextViewはEditTextの親クラスです。

C. EditTextはテキストを編集するためのコンポーネントであり、EditTextを使用して特定の文字を入力できます。

D. ImageViewは画像を表示するコンポーネントであり、部分的な画像を表示するように設定できます。

19. Android APIは、アドレス帳に対して一連の操作を実行できるように、コンテンツプロバイダーの形式で開発者に何を提供しますか?()

A.ファイルブラウザ  

B.データベースファイル  

C、システムアドレスブック  

D、データシート

20. Android APIは、コンテンツプロバイダー関連の機能を実装または操作するための一連のクラスを提供します。以下に記載されていないものは()です。

A、コンテンツプロバイダー  

B、コンテンツリゾルバ  

C、ContentValues  

D、コンテンツチェンジャー

21. ArrayAdapterを構築するために通常使用される構築方法は何ですか?()

A.ArrayAdapter <T>(Context context、int textViewResourceId)

B.ArrayAdapter <T>(コンテキストコンテキスト、T []オブジェクト)

C.ArrayAdapter <T>(コンテキストコンテキスト、int textViewResourceId、T []オブジェクト)

D.ArrayAdapter <T>(int textViewResourceId、T []オブジェクト)

22.次の記述は間違っています()

A.ボタンは、他のボタンコンポーネントに加えて、一般的なボタンコンポーネントです。

B. TextViewはテキストを表示するコンポーネントであり、TextViewはEditTextの親クラスです。

C. EditTextはテキストを編集するためのコンポーネントであり、EditTextを使用して特定の文字を入力できます。

D. ImageViewは画像を表示するコンポーネントであり、部分的な画像を表示するように設定できます。

23.メニュー項目のクリックイベントの処理方法には、()は含まれていません。

A. onOptionsItemSelected(MenuItem item)を使用して応答します。

B. onMenuItemSelected(int featureId、MenuItem item)を使用して応答します。

C. onMenuItemClick(MenuItem item)を使用して応答します。

D. onCreateOptionsMenu(メニューメニュー)を使用して応答します。

2つの短い答えの質問

1. Androidシステムの5つのプロセスの優先順位をリストし、詳細な紹介をします。

回答:フォアグラウンドプロセス>可視プロセス>サービスプロセス>バックグラウンドプロセス>空のプロセス。

(1)フォアグラウンドプロセス。ユーザーがプロセスを操作していることを示します。

(2)可視プロセスとは、プログラムインターフェイスの一部をユーザーが見ることができるが、フォアグラウンドでユーザーと対話しておらず、インターフェイスイベントに応答しないプロセスを指します。

(3)サービスプロセスとは、開始されたサービスを含むプロセスを指し、ユーザーインターフェイスがなく、バックグラウンドで長時間実行されます。

(4)バックグラウンドプロセスとは、開始されたサービスを含まず、ユーザーに表示されるアクティビティがないアクティビティプロセスを指します。

(5)空のプロセス、アクティブなコンポーネントを保持しないプロセス。

2.はじめにAndroidシステムには4つの重要なコンポーネントがあります。

回答:Androidシステムの4つの基本コンポーネントは、アクティビティ、サービス、ブロードケースレシーバー、コンテンツプロバイダーです。  

(1)アクティビティは、Androidプログラムのプレゼンテーション層であり、視覚的なユーザーインターフェイスを表示し、ユーザーとの対話によって生成されたインターフェイスイベントを受信して​​、プログラムが正常に開始されたことをユーザーに促します。

(2)サービスは通常、ユーザーインターフェイスはないが、バックグラウンドで長時間実行する必要があるアプリケーションに使用されます。

3 )Broadcase Receiverは、ブロードキャストメッセージの受信と応答に使用されるコンポーネントです。 

4 )コンテンツプロバイダーは、Androidシステムが提供するデータを共有するためのメカニズムであり、アプリケーションはコンテンツプロバイダーを介して他のアプリケーションのプライベートデータにアクセスできます。  

3. Androidのライフサイクルプロセスで、アクティビティが一般的に示す4つの状態はどれですか。

回答:(1)アクティブ状態。ユーザーが確認してユーザーと対話できる状態。

2 )一時停止状態では、アクティビティはユーザーインターフェイスの上部になく、フォーカスを失い、ユーザーと対話できません。

3 )停止状態では、ユーザーはアクティビティをインターフェイス上でまったく見ることができず現在のデータとUIの状態が保存されます。

4 デッド状態でアクティビティはシステムによって破棄されます

4. Androidシステムでのインテントの定義と目的は?インテントがアクティビティを開始する2つの方法は何ですか?

定義:他のコンポーネントにインタラクティブ機能を提供し、あるコンポーネントのデータとアクションを別のコンポーネントに渡します。

目的:1)活動とサービスを開始する

           2 )放送ニュースを公開する

Startメソッド:明示的な呼び出しアクティビティ呼び出すClassクラスを指定します;暗黙的な呼び出し、開始するアクティビティを指定する必要はありません選択は、Androidシステムとエンドユーザーによって同様に決定されます。

5.サービスを使用する2つの方法は何ですか?サービスのライフサイクルについて説明してください。

Context.startService()で開始

Context.bindService()から開始

6. SQLiteデータベースアーキテクチャのコア部分は何ですか? 

回答:仮想マシン/仮想データベースエンジン。データ操作に関連するすべての操作を完了し、顧客とストレージ間の情報交換の中間ユニットです。

7.アプリケーション間のContentProviderはどのようなインターフェイスメカニズムですか?ContentProviderクラスを継承することで、新しいデータプロバイダーを作成できます。プロセスについて簡単に説明してください。

回答:ContentProviderは、異なるソフトウェア間でデータを共有するための統一されたインターフェイスを提供します。

1)コンテンツプロバイダーとそのデータを一意に識別するために使用される統一リソース識別子であるURIを定義します。 

2 )MIMEデータタイプを設定します。機能は、特定のアプリケーションで開く特定の拡張ファイルを指定することです。

3 )初期化、クエリ、挿入、更新、削除、および戻りのメソッドを実装します。

onCreate():プロバイダーの初期化query():クエリデータ

insert():プロバイダーにデータを挿入しますupdate():プロバイダーのデータを更新します

delete():プロバイダー内のデータを削除しますgetType():プロバイダー内のデータのMIMEタイプを返します

8.システムとユーザー間の情報交換の媒体は何ですか?どのような情報が変換されますか?

回答:ユーザーインターフェイス。情報の内部形式と人間が受け入れられる形式との間の変換を実現します。

9.リモートサービスのウィンドウを定義するためにAndroidで使用されるインターフェイスは何ですか?サービスインターフェイスファイルの拡張子は何ですか?

回答:AIDL .aidl

10.Androidシステムの3つのメニューの特徴と使用法を簡単に説明します。

(1)オプションメニュー:アイコンメニューと拡張メニューに分けられます。アイコンメニューは最大6つのサブアイテムがあります。アイコンの表示はサポートされていますが、単一選択ボックスとチェックボックスはサポートされていません。サブアイテムが6つを超える場合は、拡張メニュー、拡張メニューのサブアイテムは垂直に配置され、単一の選択ボックスとチェックボックスをサポートし、アイコンの表示をサポートしていません。オプションメニューを初めて起動するときは、onCreateMenu関数を1回呼び出すだけで済みます。

(2)サブメニュー:より詳細な情報を表示したり、addSubMenu関数を使用してサブメニューを追加したりできますが、ネストはサポートされていません。

(3)ショートカットメニュー:インターフェース要素を2秒以上クリックすると、インターフェース要素のショートカットメニューが起動します。onCreateMenu関数は、起動するたびに1回呼び出されます。

3つ、プログラミングに関する質問

1. Androidプログラムを作成し、AsyncTaskを使用してWebページのhtmlコードを取得し、TextViewを使用してそれを表示します。

public class MainActivity extends Activity {  
    // 定义组件  
    private EditText edtURL;  
    private TextView edtHTTP;  
    private Button btnRequest;  
    private String strURL;// 用于存储网站地址  
    private MyTask myTask;  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
        // 初始化组件  
        edtURL = (EditText) findViewById(R.id.edturl);  
        edtHTTP = (EditText) findViewById(R.id.edthttp);  
        btnRequest = (Button) findViewById(R.id.requesthtml);  
        // 监听获取html代码的按钮  
        btnRequest.setOnClickListener(new View.OnClickListener() {  
            @Override  
            public void onClick(View v) {  
                if (!(strURL = edtURL.getText().toString()).equals("")) {  
                    //实例myTask对象  
                    myTask = new MyTask(edtHTTP);  
                    myTask.execute(strURL);  
                }  
            }  
        });  
    }  
  
}  

public class MyTask extends AsyncTask<String, integer, StringBuffer> {  
    private TextView edtHTTP;// 用于显示HTML代码  
    private StringBuffer sbHTML;// 用于储存HTML代码  
    public MyTask(TextView edtHTTP) {  
        this.edtHTTP = edtHTTP;  
        sbHTML = new StringBuffer();  
    }  
  
    /** 
     * doInBackground方法内部执行后台任务,不可在此方法内修改UI 
     */  
    @Override  
    protected StringBuffer doInBackground(String... params) {  
        // 初始化HTTP的客户端  
        HttpClient hc = new DefaultHttpClient();  
        // 实例化HttpGet对象  
        HttpGet hg = new HttpGet(params[0]);  
        try {  
            // 让HTTP客户端已Get的方式请求数据,并把所得的数据赋值给HttpResponse的对象  
            HttpResponse hr = hc.execute(hg);  
            // 使用缓存的方式读取所返回的数据  
            BufferedReader br = new BufferedReader(new InputStreamReader(hr  
                    .getEntity().getContent()));  
            // 读取网页所返回的HTML代码  
            String line = "";  
            sbHTML = new StringBuffer();  
            while ((line = br.readLine()) != null) {  
                sbHTML.append(line);  
            }  
            return sbHTML;  
        } catch (IOException e) {  
  
            edtHTTP.setText("获取网页HTML代码出错!!!");  
        }  
        return null;  
    }  
  
    /** 
     * onPostExecute方法用于在执行完后台任务后更新UI,显示结果 
     */  
    @Override  
    protected void onPostExecute(StringBuffer result) {  
        // 判断是否为null,若不为null,则在页面显示HTML代码  
        if (result != null) {  
            edtHTTP.setText(result);  
        }  
        super.onPostExecute(result);  
    }  
}  

2.プログラムを作成し、2つの整数値を入力し、合計ボタンをクリックして2つの数値の合計を表示します。

MainActivity.java
public class MainActivity extends AppCompatActivity {
    EditText one,two;
    Button add;
    TextView show;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        one = findViewById(R.id.one);
        two = findViewById(R.id.two);
        add = findViewById(R.id.add);
        show = findViewById(R.id.show);
        add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String first = one.getText().toString();
                String second = two.getText().toString();
                try {
                    int add = Integer.parseInt(first) + Integer.parseInt(second);
                    show.setText("两数之和:"+ add);
                } catch (Exception e) {
                    show.setText("请输入数字!");
                }
            }
        });
    }
}

<LinearLayout>
    <EditText
        android:id="@+id/one"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />
    <EditText
        android:id="@+id/two"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
       />
    <Button
        android:id="@+id/add"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="add" 
       />
    <TextView
        android:id="@+id/show"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</LinearLayout>

3.「ログインボタン」を使用してメインインターフェイスをプログラミングし、「ログイン」ボタンをクリックして2番目のアクティビティを開きます。2番目のアクティビティは、メインインターフェイスに入力されたユーザー名とパスワードを表示し、ユーザー名とパスワードをホームページに戻すためのリターンキーを定義します。表面のAcivityで。

MainActivity.java
public class MainActivity extends AppCompatActivity {
    EditText name,password;
    Button register;
    TextView show;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        name = findViewById(R.id.name);
        password = findViewById(R.id.password);
        register = findViewById(R.id.register);
        show = findViewById(R.id.show);

        register.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String message = name.getText().toString() + "\n" + password.getText().toString();

                Intent intent = new Intent(MainActivity.this, Second_Activity.class);
                intent.putExtra("message", message);
                startActivityForResult(intent,1);
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if(requestCode==1 && resultCode==2) {
            String result=data.getStringExtra("data");
            show.setText(result);
        }
        super.onActivityResult(requestCode, resultCode, data);
    }
}


Second_Activity.java
public class Second_Activity extends Activity{
    Button back;
    TextView message;
    String send;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second_view);

        back = findViewById(R.id.back);
        message = findViewById(R.id.message);

        Intent intent = getIntent();
        String result = intent.getStringExtra("message");
        send = result;
        message.setText(result);

        back.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                Intent data = new Intent();
                data.putExtra("data", send);
                setResult(2,data);
                finish();
            }
        });
    }
}
<LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="用户名:" />
        <EditText
            android:id="@+id/name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="密码:" />
        <EditText
            android:id="@+id/password"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textPassword" />
    </LinearLayout>
    <Button
        android:id="@+id/register"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="登陆" />
    <TextView
        android:id="@+id/show"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout >
    <TextView
        android:id="@+id/message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <Button
        android:id="@+id/back"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="back" />
</LinearLayout>

 

おすすめ

転載: blog.csdn.net/qq_38452951/article/details/90179139