korechi’s diary

とあるVR/ARエンジニアのブログ

Android Studioでの開発

BackspaceキーをCtl+hで

ここを読めば解決する。 takatoshiono.hatenablog.com

コールバック関数とは

呼び出し先の関数に対してコールバック関数(の)引数として送ることで、呼び出し先から任意のコールバック関数を実行させてコールバック関数に実行制御を移すことができる。

電話を相手に一度かけ、電話番号だけ伝えて相手にかけなおしてもらうことからこの名前がついている。

exceptionを受け取る際はtry, catchで囲む

上の通り

string->int変換

String str = "124";
int i = Integer.parseInt(str);

if文を1行で書く

Android開発関係ないけど、忘れがちなので

int a;
(a == 1 ) ? 1 : 0; 

aが1なら1, そうじゃないなら0

Android開発で使われるXMLファイルとは

ビューの定義に使用される。場所は/res/layout/main_activity.xmlのように置かれる。
これをダブルクリックするとビューが表示され、グラフィカルに操作できる。下のタブを操作するとテキスト入力もできる。
アクティビティに配置できるビューは1つだが、ビューグループを使って複数記述出来る。

<?xml version="1.0" encoding="utf-8"?>
<ViewGroup>
    <View />
    <ViewGroup>
        <View />
    </ViewGroup>
</ViewGroup>

しかし、実際にビューを作るには幅や高さ、その中にいれる文字などを指定する必要がある。

ルート要素(LinerLayout)

XMLファイルの中でXML宣言の次に記述され、他の要素は全てルート要素の中に記述される。
お約束としてxmlns:android="http://schemas.android.com/apk/res/android"を記載する。
これはパラメータがandroidで定義されているというタグつけのためにある。そこで、名前空間としてこのように宣言される。
これを書くことで、textを宣言したい場合に、Androidで定義されたということを明示するため

{http://schemas.android.com/apk/res/android}text=...

と書かなきゃいけないところを

xmlns:android="http://schemas.android.com/apk/res/android"
android:text=...

と簡略化することができる。便利!

細かいパラメータ

  • 幅:「android:layout_width」
  • 高さ:「android:layout_height」を表すパラメータを使った例を以下に示す。
<TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

「fill_parent」は最大横幅、「wrap_content」表示に必要なサイズ

  • 文字をどう並べるか:「android:orientation」

ビューの配置

Androidクラスの中では、Activityクラスに用意されているsetContentViewメソッドを使ってビューを表示する。

public class MainActivity extends WearableActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);
    }
}

引数には、引数にはアクティビティに設定するビューが定義されたXMLファイルを表すIDを指定する。
決められた場所に置かれてビルドされたリソースはIDが自動的に「R」クラスに記述される。
たとえば「main.xml」ファイルに対しては「R.layout.main」という変数が自動的に定義される。