android

ちょっと Kotlinっぽく書き換えてみる

自動でコンバートした状態でも問題なく動きますが、実はテンプレートのファイルが古い?為に deprecated なメソッドを呼んでいる箇所があります。 45行目の getMap() です。 今は getMap() でなく、非同期だけど返ってくる GoogleMap が null にならない、ge…

Android Studio のテンプレートにある Google Map を Kotlin で動かしてみる

環境が整ったので、Android Studio のテンプレートにある Google Map を Kotlin にコンバートして動かしてみます。まずは、Google Map のテンプレートでプロジェクトを新規作成します。 ウイザートに従って… これで Java のプロジェクトが作成されました。 …

Android Studio に kotlin のプラグインをインストール

今回は Kotlin の下記のページを参考に、Android Studio を使って Android アプリを作成します。 Getting started with Android and Kotlin まずは Android Studio に Kotlin のプラグインをインストールします。プラグインは一度インストールしてしまえば、…

LinearLayout に入れるので layout_weight で OK

ググったらいつもの stackoverflow でサクっと答えが見つかった。 SlidingTabLayout to fit the screen タブのストリップ(SlidingTabStrip)は LinearLayout を継承して作られている。 なので、その中に入れる個々のタブの layout file(上の回答では custo…

hasStableIds の返り値をセット

実際の Android 5(ロリポップ)での動作は ドラッグ中にドラッグしているセルの下にあるセルがアニメーションしてくれない。 ドロップした時に移動したセルが元あった場所にセルが表示されない。 という感じ。 最初、デバッガで動作を追いながらなんでアニ…

Error:Attribute "theme" has already been defined

前回で gradle さんからのエラーは通り抜けた。 けど、今度はビルド時にこんなエラーが…。 /Users/paraches/AndroidStudioProjects/testproject/app/build/intermediates/exploded-aar/com.google.android.gms/play-services/5.0.89/res/values/wallet_color…

ここまでのソース

というわけで、ドラッグ&ドロップできる ListView と GridView を AppCompat の ActionBar の Tab に乗せてみたサンプルは以下に置いておきます。 paraches/TabListGridTest

この後やりたいこと

ListView の Drill down ListView のセルをタップしたら、次の ListView に移動したい。 PagerView の中に入っている ListView でそれをやるには、getChildFragmentManager してその遷移用に FragmentManager をゲットすれば良いらしいけど…。 ListView と G…

ちょっとした問題と回避策

何も考えずに GridView を PagerView に乗せると、横方向の Swipe が PagerView に持ってかれる。 なので、GridView でセルを長押しして、セルの移動モードになった後で横に指を動かすとページが切り替わってしまう。 というわけで、PagerView にちょこっと…

style作るのに使ったサービス

ActionBar 周りの Style とそれに付随する drawable を自動的に作成してくれるサービスを使って、ちょこっとだけ見た目に色を付けてみた。 Android Action Bar Style Generator Chrome でないとデータをダウンロードできないってのがちょっと面倒…。

使ってるライブラリ

今回はドラッグ&ドロップ可能な ListView と GridView に以下のライブラリを使ってる。 DynamicListView DynamicListView は古い OS を考慮してなかったので、その辺りはちょっと手を入れた。 DynamicGrid オリジナルのサンプルは、セルの移動モード終了が …

zxing-android-minimal使ってみる

とりあえず、build.gradle の設定もできたので、後は README やらソースコードを見ながら使ってみた。 public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstan…

ライブラリ読み込みの設定でエラー

READMEにはライブラリ読み込みの為に以下のように build.gradle に加えろって書いてある。 repositories { mavenCentral() maven { url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/" } } dependencies { compil…

Google Cloud Console でキーを作成

もうね、キーを作成しようと思う度に何かしら前回と変更があるんだよね。 オリジナルの英語が変わっているのか、日本語訳がわかり易く変更されているのかはわからないけど、なんとも毎回ちょびっと悩むのが嫌…。 まずは Google Cloud Console にアクセス。 …

Google Play Service を設定

Google Maps Android API 2.0 を使う場合は Google Play Service が必要。 SDK マネージャーで以下の2つをインストールする。 Google Play services Google Repository で、プロジェクトを作成し終わったら、Project Structure(command+;)を開いて、[Modul…

Support Library を設定

これは無くても良いと思うけど、2.x 環境の Android 対応するなら必要になる。SDK マネージャーで以下の2つをインストールする。 Google Support Repository Google Support Library で、後はプロジェクト作成時に好きな Support Mode や Additional Feature…

理由は良くわからないのだけど消えた…

原因や修正方法が全く検討つかないのでまずは表示されるメッセージでググってみた。 結果、見つかったのはいつもの stackoverflow! Collect preferences failed, class java/lang/AutoCloseable not found in C:\Program Files (x86)\Android\android-sdk\p…

onScrollChanged()はいつ呼ぶの?

今回、一番ハマってたのはこれ。 最初、MainActivity.java の FragmentActivity の onTabSelected() で、選択されたのが WebView の Fragment だった時に呼んでいた。 でも、これだと画面をスワイプして移動した時にはちゃんと機能するのだけど、タブを選択…

Should not happen: no rect-based-test nodes foundを解決

で、このエラーメッセージで検索してサクっと見つかる情報はこれ。 Android WebView JellyBean -> Should not happen: no rect-based-test nodes found というか、このページで全て解決! ここの最初の回答の最後のコメントがこれ。 I met with John Reck, a…

問題の起きる環境というか条件

Eclipse で新しい Android Application Project を作って、その際に Minimum Required SDK を API 11 にして Navigation Type を Fixed Tabs + Swipe にする。 すると、タプが 3つあってスワイプでそれぞれを変更できるアプリケーションができあがる。 ここ…

Twitter がインストールされているかどうか確認してからツイートする

まずは Twitter がインストールされているかどうかをこんなコードで調べる。 出典はココ。 boolean appInstalledOrNot(Context context, String uri) { PackageManager pm = context.getPackageManager(); boolean app_installed = false; try { pm.getPacka…

Twitter しか反応しないじゃん!

最初、"twitter://" を使えば Android機にインストールされている "twitter://" に対応するアプリ一覧が表示されて、そこから好きなアプリを選んで起動できるんじゃないか?なんて夢を見てしまった。 でもそんな結果にはならずに、"twitter://" に反応するア…

libraryのパスってどうなってるの?

エラーメッセージはこんな感じ。 E/AndroidRuntime(28945): FATAL EXCEPTION: main E/AndroidRuntime(28945): java.lang.NoClassDefFoundError: com.google.ads.AdViewAdView のクラス定義が見つからないって、思い切りライブラリがリンクできていない感じ。…

画面幅の 80%の画像をコードで作った!

結局はコードで画像を画面幅の 80%に縮小して ImageView#setImageBitmap で表示するようにした。 layout.xml はこんな感じ。

画面の横幅より大きな画像は表示されない?

実は、入り組んだレイアウトでなく、単純にこんなレイアウトにしても画像は表示されない。 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > </relativelayout>

今まで表示に使っていたコード

今までは StackOverflowで見つけたこんなコードで動いていた。 Defining a percentage width for a LinearLayout?

compiled-sql statement cacheのワーニング

こっちはワーニング。 05-23 17:05:46.892: W/Database(6845): Reached MAX size for compiled-sql statement cache for database... Please change your sql statements to use '?' for bindargs, instead of using actual valuesで、グーグル先生に聞いて…

ImageView.setAlphaがあるよ!

というわけで、今回見つけてきたのはこのページ。 Android bits and pieces: image cross-fading なるほど、ImageView.setAlpha()を使うのね。 って、Drawableに setAlpha()って使えるの??? と、思ったら普通に使えた。 どこをどう経由して setAlpha()で…

アプリを起動するショートカットを作成する流れ

大まかなにはこんな感じ。 ショートカットでドキュメント情報付きでアプリが起動するインテントを作成 1. で作ったインテントを含んだショートカットを作成するインテントを作成 2. で作ったインテントを起動 これでホーム画面に「タップするとドキュメント…

自分のアプリに組み込んでみる

サンプルはサクっと動いたので、今度は自分のテストアプリに組み込んでみる。 テストアプリは今までリストビューにセルを加えたり削除したりしていた下記のアプリケーション。 ListViewCellAddAnimation 今回はゴミ箱アイコンでセルが削除されて、[ADD]メニ…