Andoidと太陽光発電

Last up date 2012/1/12

Chapter03 簡単なAndroidアプリを作ろう p80〜

 この章よりサンプルファイルがあるため各LESSONにあったファイルをダウンロードしてください。ダウンロードしたファイルは作業フォルダに移動します。これらのファイルはただフォルダに入れただけではEclipseで編集することが出来ません。そこで、「インポート」を行います。以下に手順を示します。

  Eclipseの「ファイル」メニューから「インポート」を選択します。これで「インポート」ダイアログが表示されます。「インポート・ソースの選択」で「一般」→「既存のプロジェクトをワークスペースへ」を選択し、「次へ」をクリックします。



 「ルート・ディレクトリーの選択」の「参照」をクリックし、サンプルを選択することでプロジェクトが追加されます。



 後は、インポートしたファイルを用いて書籍を見ながら進めてください。そうするとこのようなプログラムが完成することが出来ます。

Chapter3で作成したプロジェクトの動作映像





・私がつまずいた点

    

 この2つのレイアウトを見てどこが違うのかは一目で分かりますね。
ボタンの配置が違います。左のようなレイアウトにしなければならないのですが、私の場合右のような配置になっていました。次におそらく、書籍の手順で作成されたレイアウトはこのような感じになっていると思います。*ViewやButtonの内容の順番が異なっている場合があります。しかし内容に影響はありません。


edit.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <TextView
        android:text=""
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:id="@+id/TextView01" ></TextView>

    <ScrollView
        android:id="@+id/ScrollView01"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:fillViewport="true" >
        <EditText
            android:id="@+id/EditText01"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="top"
            android:text=""></EditText>
    </ScrollView>
     <LinearLayout
         android:layout_height="wrap_content"
         android:layout_width="fill_parent"
         android:id="@+id/LinearLayout01">
         <Button
             android:layout_height="wrap_content"
             android:layout_width="wrap_content"
             android:id="@+id/Button01"
             android:onClick="onClickButton"
             android:text="@string/lbSave"
             android:layout_weight="1"></Button>
         <Button
             android:layout_height="wrap_content"
             android:layout_width="wrap_content"
             android:id="@+id/Button02"
             android:onClick="onClickButton"
             android:text="@string/lbCancel"
             android:layout_weight="1"></Button>
         </LinearLayout>
</LinearLayout>

 書籍と同じようにプログラムを組みました。しかし、私の場合ボタンが縦に並ぶような配置になってしまいました。この問題の原因と解決した方法が次から示します。
 
 こちらがEclipseでの編集画面になります。LinearLayoutに含まれている2つのButtonのレイアウトを変更するには右下に四角く囲っているそれぞれのButtonです。そして今回問題となってしまったのが左上にある配置に関する選択です。



 現在、右側の縦に三つ分かれたものが選択されています。この選択を左側の横に分かれたものを選択すると



 このように目標の配置にすることが出来ました。ここでレイアウトファイルを見てみると ボタンに関するLinearLayoutの中に「android:orientation="horizontal"」という文が増えている。書籍ののプログラムでも4行目に「android:orientation="vertical"」という文がある。これは縦に配置していく場合に用いる。先ほどのは横に配置する場合に用いられる。このプログラムではでは細かい配置に関しては示されていなかったためソフト側がボタンの配置を決めていた。今回、デフォルトでの配置が縦だったためこのような配置になり、このような場合ユーザー側が導いてやる必要がある。


edit.xml


     <LinearLayout
         android:layout_height="wrap_content"
         android:layout_width="fill_parent"
         android:id="@+id/LinearLayout01"
         android:orientation="horizontal">
         <Button
             android:layout_height="wrap_content"
             android:layout_width="wrap_content"
             android:id="@+id/Button01"
             android:onClick="onClickButton"
             android:text="@string/lbSave"
             android:layout_weight="1"></Button>
         <Button
             android:layout_height="wrap_content"
             android:layout_width="wrap_content"
             android:id="@+id/Button02"
             android:onClick="onClickButton"
             android:text="@string/lbCancel"
             android:layout_weight="1"></Button>
         </LinearLayout>

戻る