Android

R.attr.theme

スタイルは、個々のViewのUI設定をまとめたものだが、テーマは、アプリケーションまたはアクティビティ単位でUI設定をまとめたもの・・・。Styles and Themes | Android DevelopersAndroidManifestのapplicationタグにthemeをセットすることで、統一感のある…

R.style

これまで、ButtonやTextViewなどのViewにいろいろな属性を直接指定してきたが、styles.xmlにスタイルとしてまとめて設定しておけば、Viewのstyle属性にセットするだけで、そのスタイルのViewになる・・・。スタイルとテーマ | Android DevelopersAndroidの既…

StateListDrawable.state_pressed

ステートリストを使うと、Viewの状態によって、画像や形状を変化させることができる・・・。Drawable Resources | Android DevelopersStateListDrawableのstate_pressed属性がtrueの時は押された時、falseの時は離された時なので、その状態ごとにshapeの形状…

GradientDrawable.shape

Drawableの項で、drawableフォルダにXMLでdrawable情報を定義できた・・・。Drawableリソースについては、ドローアブル リソース | Android Developersに詳細があり、shapeタグを使ったものは、ドローアブル リソース | Android Developers"シェイプ ドロー…

View.padding

マージンとパディングは混同しやすい・・・。(マージンとパディングの違いの詳細については、 Android Advent Calendar: 今さら聞けないmarginとpadding ここを参照のこと)親Viewとの境界線、またはView同士の間隔には、layout_margin~を使った・・・。 こ…

ViewGroup.MarginLayoutParams.layout_marginLeft

左側の間隔はlayout_marginLeftで調整する・・・。ViewGroup.MarginLayoutParams | Android Developers前回は、親のViewGroupとの境界線の間隔しか設定しなかったが、今回は6つのTextViewを用意し、同階層のViewとView同士の間隔も設定する・・・。strings.x…

ViewGroup.MarginLayoutParams.layout_marginTop

とあるViewから見て、同じ階層にある近くの他のViewとの間隔を決める場合や、親のViewの境界線との間隔を決める場合、layout_margin~を使う・・・。ViewGroup.MarginLayoutParams | Android Developers今回はlayout_marginTopで、上との間隔だけセットする…

Drawable

Drawableは、Viewの描画に使うリソース情報を抽象化したものといったが、なにも画像だけとは限らない・・・。Drawable | Android Developersどういった形状にするかをXMLで定義することもできる・・・。activity_main.xmlは、前と同じ2つのButton・・・。str…

Resources.getDrawable

Resources.getDrawableでDrawableリソースを取得できる・・・。Resources | Android DevelopersDrawableは、Viewの描画に使うリソース情報を抽象化したもので、例えば背景画像などもDrawableリソースとして扱える・・・。drawableの適当なフォルダに(ここで…

Resources.getColor

Resources.getColorで、リソースに定義した色情報を取得できる・・・。Resources | Android Developersactivity_main.xmlに、Buttonを3つ・・・。strings.xmlに"Button1"~"Button3"・・・。ここで、Android XML Fileを追加・・・。valuesの下にcolors.xmlを…

Color

Colorは、色を扱うクラス・・・。Color | Android Developers今回はJava側で、Buttonの背景色として、Colorクラスに定義された赤緑青の定数(int)をセットする・・・。activity_main.xmlで、Buttonを3つ配置・・・。strings.xmlには"Button1"~"Button3"を定…

Resources.getString

Resources.getStringで/res/value/strings.xmlに定義された文字列リソースを取得できる・・・。Resources | Android Developersactivity_main.xmlに、TextViewを3つ追加したが、android:textはセットしていない・・・。strings.xmlには、"TextView1"~"TextV…

Resources

これまでも使ってきたリソースについて改めて・・・。Resources | Android DevelopersResourcesはリソースを扱う大元のクラス・・・。 Resourcesオブジェクトを取得したら、さらにリソースタイプ別にオブジェクトを取得し、そこからリソースにアクセスできる…

LinearLayout.gravity

layout_gravityとは別に、gravityという属性もあって、これは子ビューが自分のビュー内のどの方向に寄っているかを決定する属性・・・。LinearLayout | Android Developersさすがに左右上下中央すべて配置するのは面倒なので、このLinearLayoutは縦に2つButt…

LinearLayout.LayoutParams.layout_gravity

layout_gravityは、親のViewGroup内のどの位置かを決定する属性・・・。LinearLayout.LayoutParams | Android Developersこれで、Buttonを左右や上下や中央に寄せる・・・。2つのLinearLayoutを用意して、どちらもlayout_weightを1にする・・・。 こちらはor…

LinearLayout.LayoutParams.layout_weight

layout_weightを使うと、ViewまたはViewGroup同士のレイアウトを比率で分けることができる・・・。LinearLayout.LayoutParams | Android Developersactivity_main.xmlで、LinearLayoutのlayout_widthをmatch_parentにして、まずはButtonにlayout_weightを付…

ViewGroup.LayoutParams.layout_width

ButtonやTextViewなどのほとんどのView、LinearLayoutやRelativeLayoutなどのほとんどのViewGroupで設定が必須となっているlayout_widthは、そのViewまたはViewGroupのレイアウト幅を決定するXML属性・・・。ViewGroup.LayoutParams | Android Developersも…

PendingIntent

PendingIntentは、作成したらすぐに起動するインテントではなく、指定した時間やタイミングに起動するようなタイプのインテント・・・。PendingIntent | Android DevelopersAlarmManager以外にもRemoteViewなので使うのだが、まあ一番わかりやすいのはAlarmM…

AlarmManager

AlarmManagerを使うと、指定した時刻に指定したIntentの処理を実行できる・・・。AlarmManager | Android DevelopersActivityを呼ぶIntentを指定することで、Activityを起動したり、Serviceを呼ぶIntentを指定することでServiceを起動したり、ブロードキャス…

Camera

Cameraはカメラを扱うクラス・・・。Camera | Android Developersまずは、カメラを起動してシャッターを押すまでに表示されるプレビュー画面をアクティビティ上に表示するところまでをやる・・・。activity_main.xmlは、プレビュー画面はSurfaceViewに表示す…

MediaStore

写真、動画、音楽なども、ContentResolverを使って取り出す・・・。 MediaStoreに、それらのメディア情報に関する定数が定義されているので、それを使う・・・。MediaStore | Android Developersまず、activity_main.xmlは、今回は写真を表示するので、GridV…

BitmapFactory

前回は、Bitmapをファイルから読み込んだが、今回はdrawableリソースから読み込む・・・。 前回同様、BitmapFactoryで読み込む・・・。BitmapFactory | Android Developersactivity_main.xmlには、imageview1・・・。MainActivity.javaは、今回は、BitmapFac…

Bitmap

ImageViewの回では、srcにdrawableに置いた画像を直接指定して画像を表示していた・・・。 今回は、アプリフォルダにある画像ファイルを読み込んで、いったんBitmapにし、それをImageViewで表示する・・・。Bitmap | Android Developersactivity_main.xmlは…

ContactsContract

ContentResolverで連絡帳から名前を取り出してリスト表示するということはできたが、 電話番号やメールアドレスは取り出し方が面倒なので避けていた・・・。今回はContactsContractに定義された定数を使って、電話番号、メールアドレスも取り出していく・・…

FragmentTabHost

ActionBar.TabもAndroid5.0で非推奨になったので、タブUIを実現する方法のひとつとしてFragmentTabHostがある・・・。FragmentTabHost | Android DevelopersFragmentTabHostはTabHostのcontent部分をFragmentにできるようにしたもの・・・。 標準のWidgetで…

ActionBar.Tab

TabHostは非推奨になったので、Android3以降はActionBarの登場とともに、ActionBar.Tabというタブの機能が付くようになった・・・。ActionBar.Tab | Android DevelopersActionBar.Tabでタブを作成、画面はそれぞれがFragmentとなる・・・。XMLで、fragment1…

TabHost

タブで画面を切り替える方法はいろいろあるが、一番基本的な方法はTabHostを使う方法・・・。TabHost | Android Developers実はもう非推奨になっているはずだが、削除はされていない模様なので使えるには使えるっぽい・・・。 これを使って、タブで画面切り…

ContentResolver

Androidアプリ上で扱う写真や、動画、音声ファイル、電話帳、ブックマークなどあらゆるデータの情報はAndroid内部のDBに登録されている・・・。 このDBにアクセスするには、ContentResolverを使う・・・。ContentResolver | Android Developers今回は、電話…

DownloadManager

ファイルのダウンロードを実現するなら、DownloadManagerを使うという方法もある・・・。DownloadManager | Android Developersactivity_main.xmlは、edittext1がURL入力用・・・。 button1でダウンロードのリクエストを投げる・・・。BroadcastReceiverの派…

HttpURLConnection

HttpURLConnectionは、Java標準のHTTP通信のためのクラス・・・。HttpURLConnection | Android Developersもともと使えるが、Android6でDefaultHttpClientが使えなくなったので、より重要度が増している・・・。 前回のDefaultHttpClientを使ったものを、Htt…