2014年10月31日金曜日

[android] Android Studioを0.8.14にあげる

Windows Vistaです。
Andoroid Studioのアップデートがあったのでアップデートしてみました。

でました警告。

http://tools.android.com/knownissues
を読めとおっしゃっているので読んでみました。
sdk/フォルダを移動しろとおっしゃっているようなので移動しました。
移動したらRetryです。

しばらくすると以下のようなダイアログがでました。
続けるにはProceedを押せと書いてあるようにみえたのでProceedを押しました。



Android Studioが再起動しました。
最後にこんなのがでました。


最初に移動したsdk/フォルダの場所を教えてあげました。
JDKの場所も教えてあげました。

アップデートできました!






2014年10月25日土曜日

[android] GridView(ListView)を水平スクロールする

androidで「GridView(ListView)を水平スクロール」したかったんです。
①HorizontalScrollView内にLinearLayoutかなにかを置いてさらにその中にGridViewをいれる。コードで要素数に合わせて列数を計算したり、幅を計算したりする。
two-way-gridview を使う
Galleryを使う(This class was deprecated in API level 16.)

いずれもすばらしい方法です。私には思いつきもしませんでした。
敬意を表します。

第4の選択肢がでてきました。
Designに書いてある順に自然と並ぶのもGoodです。
RecyclerViewを使う」です。
RecyclerViewには、setLayoutManager(RecyclerView.LayoutManager layout)というメソッドがあるのですが、ここの引数に、
new StaggeredGridLayoutManager(int, StaggeredGridLayoutManager.HORIZONTAL)を指定するんです。一番目の引数が行数となります。

こんなのができました。
行数=3にしています。
サムネイル画像をタップすると、大きな画像を取得して表示します。


Creating Apps with Material Designここを参考にしました。
さらにDisplaying Bitmaps Efficientlyで勉強したこともまぜこんでみました。
GitHubに置いておきます。
jp.torifuku.ui. TorifukuAdapterとそれを呼び出している
jp.torifuku.recyclerviewsample. MyFragment#onCreateView()あたりがポイントです。
ぜひ読書日記の見た目をよくしていきたいものです。
(いつのことになるのやら?)




2014年10月11日土曜日

[android]Android StudioでAdMob

自分用のメモです。

こちらに書いてありました。

Eclipseとの違いはGoogle Play Servicesの追加の仕方くらいでしょうか。
1. SDK Managerで、下のほうにあるExtras配下のGoogle Play servicesとGoogle Repositoryを最新にしておく
2. build.gradleのdependenciesのところに、「compile 'com.google.android.gms:play-services:5.+'」を追加
(Eclipseでやったときはもっと面倒だったような気がします。これがGradleの力なのでしょうか、よくわかっておりませんが)


あとの手順はEclipseで作るときと同じだとおもいます。
1. AndroidManifest.xmlに下記を追加
<uses-permission android:name="android.permission.INTERNET"/>

<meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

<activity android:name="com.google.android.gms.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
            android:theme="@android:style/Theme.Translucent" />

2. あとはxmlとコードを駆使して、com.google.android.gms.ads.AdViewが表示されるようにする
最初に紹介したページではFragmentを使っていました。
xmlで設定するときはAdViewの外側のRelativeLayout/LinearLayoutとかに、xmlns:ads="http://schemas.android.com/apk/res-auto"を忘れずに!(お恥ずかしい話ではございますが、昔これに気づくまで2時間くらいかかったことがあります……)