ページ

2013年11月30日土曜日

AndroidのUIの勉強 その1(レイアウトの種類)

AndroidのUIについて、調べました。

AndroidのUIは、ViewとViewGroupから構成されています。
Viewは、画面上に配置される単一のオブジェクト

要素意味
View画面上に描画される単一のオブジェクト。
TextViewやButtonなど。
ViewGroup他のViewやViewGroupなどの子要素をひとまとめにしたもの。
LinearLayoutやRelativeLayoutなどのレイアウト


実際にUIを作成するには、ActivityやFragmentにベースとなるレイアウトをおいて、
その中にレイアウトやビューなどの子要素を配置していきます。

レイアウト

よく使うレイアウトは、LinearLayoutとRelativeLayoutです。

種類説明
LinearLayout子要素を縦または横一列に配置するレイアウト。

縦に並べるときには、android:orientationにverticalを設定。
横に並べるときには、android:orientationにhorizontalを設定。
デフォルトは、horizontal。
RelativeLayout相対的に子要素を配置するレイアウト。

要素のサイズ

要素のサイズは、android:layout_heightとandroid:layout_widthで指定します。
設定値は下記の通りです。

設定値意味
wrap_content幅を自動調整
match_parent(fill_parent)画面いっぱいに表示
数値(単位:dp,sp,psなど)指定サイズで表示



2013年11月20日水曜日

Androidアプリで画面をスリープ状態にさせない

Androidアプリでは、操作をしないとスリープ状態になり、画面が暗くなったり、画面が消えます。
画面を消えなくする方法は、以下のとおりです。


Activivtyの場合、Windowを取得して、FLAG_KEEP_SCREEN_ONフラグを追加してやります。


Fragmentでは、Activityを取得して、設定を行います。


設定を解除するには、追加したフラグを消すだけです。


2013年11月13日水曜日

Android エミュレータで縦横を切り替えるときに使うCtrlキーは、左Ctrlキー

変なところではまったのでメモ。

Androidエミュレータの表示を回転させて、縦横を切り替えるのは、左Ctrl+F12です。
左のコントロールキーというのがポイントで、最初は右Ctrlキーでやっていて、なぜ回転しないのか悩んでしまった…
ちなみに左Ctrl+F11やテンキーの9でも回転します。

エミュレータのキー割り当ては、公式サイトの以下にまとまってます。
Android Emulator | Android Developers

調べてないけど、他のCtrlキーを使うキー割り当てでも左Ctrlキーしか効かないのかな。

2013年11月12日火曜日

Android Studioで作成したプロジェクトをBitbucket(Git)で管理する

※ Android Studio(I/O Preview) 0.3.4を使用しています。

今回は、無料でPrivate Repositoryが作れるBitbucketとAndroid Studioを組み合わせてみました。

Android StudioにはBitbucket用のプラグイン(JetBrains Plugin Repository :: Bitbucket)がありますが、これでBitbucketへshareしようとするとエラーが発生してできませんでした。

そこで、既存のAndroid StudioのプロジェクトをBitbucketで管理する手順をまとめました。

Git自体のインストールは、こちらです。

Bitbucketでの新規リポジトリの作成

まず、Bitbucketで新しいリポジトリを作成します。名前を入れて、【リポジトリの作成】を押せばOKです。



Bitbucket(Git)へのpush

次にAndroid StudioのプロジェクトをGitへpushします。
まず、必要のないファイルが登録されないようにプロジェクトフォルダー直下の.gitignoreを変更します。.gitignoreの設定内容は、こちら

次にプロジェクトウィンドウでプロジェクト(ここではTestProject)を選択して、メニューの VCS > Import into Version Control > Create Git Repository... を選択します。


そのまま、【OK】を押します。



次にメニューの VCS > Git > Add to VCS を選択します。


次にメニューの VCS > Git > Commit Directory...を選択します。


Commit Messageにコミットログを書いて、【Commt】を押すと、Commit前のコード解析が行われます。ワーニングが出ますが、気にせずCommitします。


次にGit bashを開き、作ったプロジェクトのディレクトリへ移動します。


そして、 BitbucketのGitへ追加を行います。https://~は、Bitbucketで作成したプロジェクトを選択し、概要 > はじめに > 私はゼロからスタートします。 を選択した時に表示されます。
最後にpushします。これで、今後はAndroid Studioからpushできるようになります。

2013年11月5日火曜日

Windows版Android StudioでのAuthor(Created by xxxxx)の変更

※ Android Studio(I/O Preview) 0.3.2を使用しています。

Android StudioでのAuthorの変更方法について調べました。


Android Studioでクラスを追加した場合などにコメントにCreated by xxxxとAuthorが入ります。
このAuthorは、デフォルトでは、Windowsのユーザー名になっているようです。

Authorを変更するには、<AS_INSTALL>/bin/studio.exe.vmoptions(64bit版の場合はstudio64.exe.vmoptions)に設定を記述します。

※<AS_INSTALL>は、Android Studioをインストールしたフォルダーに読み替えてください。

Authorは、studio.exe.vmoptionsに以下の項目を追加してください。
設定後、Android Studioを再起動すると、Authorの設定が反映されます。


参考:Changing author name in IntelliJ IDEA | The Developer's Info

2013年11月3日日曜日

Framentを切り替えて画面遷移する

※ Android Studio(I/O Preview) 0.3.2を使用しています。

今回は、Fragment上のボタンを押すと、新しいFragment切り替えて画面遷移をします。
また、戻るボタンを押した場合に元のFragmentに戻るようにします。

プロジェクトの作成

まずは、新しいプロジェクトを作成します。




そのままBlank Activityで【Next】を押します。


【Finish】でプロジェクトが新規作成されます。



新しいFragmentの追加

プロジェクトの作成が終わると、まずパッケージ名を選択して、右クリックから、Android Componentを追加します。




名前をSubFragmentとしたFragmentを追加します。
ここでlayout fileも作成するようにしておき、【OK】を押します。



Layoutは、ファイル名をfragment_sub、Root elementをLinearLayoutにして、【OK】を押します。






リソースファイルの修正

まずは、画面遷移の契機となるボタンをfragment_main.xmlに追加します。


次に、sub_fragment.xmlにText Viewを追加します。


Fragmentの切り替え処理の実装

SubFragment.javaには、android.app.Fragmentがインポートされているため、SubFragmentクラスは、android.app.Fragmentから派生されていますが、サポートライブラリをしているので、これをandroid.support.v4.app.Fragmentから派生するように修正します。

次に、MainActivity.javaにfragment_main.xmlの次へボタンを押した場合のイベントハンドラonClickNextを実装します。

Fragmentの操作は、トランザクションという単位で管理されています。これは、FragmentTransactionのbeginTransaction()からcommitを1つの単位として、管理しています。 まず、FragmentTransactionを使用して、トランザクションを開始し、現在表示しているFragmentを新しく生成したSubFragmentにreplaceします。

このままでは、戻るボタンを押すとアプリが終了してしまうので、addToBackStackを使用して現在のトランザクションの状態をBackStackに追加しておきます。

こうすると、戻るボタンを押した場合やpopBackStackを実行すると、commit前のFragmentの状態に戻すことができます。 そして、commitを行うと、Fragmentの切り替えが実行されます。

これで、Fragmentの切り替えができるようになりました。

実行

4.3のエミュレータで実行したら、このようになります。

【次へ】ボタンを押すと、SubFragmentが表示されます。
戻るボタンを押すと、上の画面に戻ります。


2013年11月1日金曜日

Android Studioで作成したプロジェクトをGitHubで管理する (GitHubとの連携)

※ Android Studio(I/O Preview) 0.3.1を使用しています。

前回、Gitをインストールしたので、これでAndroid StudioとGitHubを連携させることができます。

その前に、プロジェクトフォルダーの直下にある.gitignoreを変更してGitHubで管理しないファイルを設定します。


What should be in my .gitignore for an Android Studio project? - Stack Overflowを参考にして、
以下のように変更しました。

そして、Android Studioからプロジェクトを開きます。
メニューから、VCS > Import into Version Control  > Share project on GitHubを選択します。



Login to GitHub画面が出てくるので、ログインします。



新しいRepositoryを作る画面が出てくるので、作成するRepositoryの名前と説明を書いて、【Share】を押します。この時点でGitHubにRepositoryができます。



最初のCommit用の画面がでてくるので、ファイルの選択はそのままでコメントを入力して【OK】を押します。




Repositoryへのファイルのpushが終了すると、画面の右上に成功メッセージが表示されます。
これで、ファイルがGitHubで管理されるようになりました。