Kuwapp's Blog

Android と Flutter やってます

Android

ツイキャスの視聴用のAndroidアプリ作って公開してみた。

作ったもの Casee-シンプルなツイキャス視聴アプリ - Google Play の Android アプリ シンプルなツイキャスの視聴用アプリです。 今はツイキャスを見てコメント投稿するぐらいの機能しかありません。 今後いくつか機能を追加する予定です。 YouTubeのアプリ…

ViewCompatでsetUpdateListenerを読んでも更新時に呼ばれない

調べてみた。 リファレンスでsetUpdateListenerを見るとなんと「Added in API level 19」でした。 ViewPropertyAnimator setUpdateListener とくに警告も出ていなかったので気付かなかったー。 ObjectAnimatorを使用して解決しました。 ObjectAnimator anima…

WebViewで「net::ERR_CACHE_MISS」と表示される問題 【Android】

WebViewでページ読み込み時に「net::ERR_CACHE_MISS」と表示されてページが読み込めませんでした。 AndroidManifestのパーミッションを確認するとインターネット接続のパーミッションが大文字でした。 AndroidStudioの補完で記述した気がするんだけど・・ <uses-permission android:name="ANDROID.PERMISSION.INTERNET"/> </uses-permission>…

WebViewでHtml5のvideoタグを使ったときにはまったこと【Android】

動画関連のアプリを開発しているのですが、開発中にいくつかはまったので記事にします。 動作確認端末はNexus5でOSはAndroid5.1です。 他の端末やバージョンでは試していないのでどうなるか不明・・です。 もし情報あれば教えていただけると助かります。 aut…

Retrofitを使って天気情報を取得してみる【Android】

RESTライブラリ「Retrofit」が便利そうなので実際に使ってみました。 Retrofitsquare.github.io OpenWeatherMap current weather and forecastのAPIを使用して天気情報を取ってこようと思います。 今回は緯度と経度を指定できる次のAPIを使用します。 http:/…

Youtubeアプリの動画部分をスワイプで移動させるUIを作ってみた【Android】

AndroidのYoutubeアプリの動画を見ながら別の動画を探せるUIがとても良いなーと思っていたので似たようなUIを作ってみた。 完成形はこんな感じ。 実装 既存のYoutubeアプリでは動画をリストで表示して項目をタップすると動画の再生画面へ遷移しています。再…

【Android】Toolbarの色をStyleで変更する

Theme.AppCompat.Light.NoActionBarを継承したStyleをアプリ全体で使用していたのだけど このテーマだとツールバーのタイトルやアイコンの色が黒を基調とした色になってしまいツールバーの背景を黒っぽくすると見づらくなってしまうので調べた。 実装 styles…

【Android】Viewの階層を調べてみた

getRootViewやfindViewById(android.R.id.content)で何が取れるのか良く理解していなかったので調べてみた。 以下の記事によると Activityのビュー階層とコンテンツルート(View)を取得する - Kazzzの日記 次のような階層になっているらしい。 PhoneWindow$De…

【1人でAndroidアプリ開発】財布の残高管理アプリを作ってリリースしてみた

ここ2ヶ月ほど地道にAndroidアプリを開発していました。 アプリ名は「Walleter」でシンプルなお小遣い帳アプリです。Walleter - シンプルなお小遣い帳アプリ今回の開発を通して思ったことや、やったことなどをまとめたいと思います。 ・Walleterについて ま…

【Android】AlarmManagerで登録された通知をコマンドラインで確認する

ローカル通知を実装したが、通知が届かない。 Alarmの登録でバグがあるのか、レシーバーが上手く動いていないのか。。 問題の切り分けにけっこう使えます。 adb shell dumpsys alarm端末を繋いでターミナルを起動し上記コマンドを実行します。 もちろんadbの…

【Android】PreferenceFragmentをAPI10以前で使用する

PreferenceFragment API11で新しく追加された設定画面を容易に作成できるFragmentです。 このPreferenceFragmentはsupport-v4に含まれていないためAPI10以前のバージョンで使用できません。 PreferenceActivityを使用すればAPI10以前に対応できますが、Actio…

【Android】support-v7-appcompatにスタイルを対応させる

Android2系でもActionBarを使用するためにsupport-v7ライブラリのActionBarActivityを使用してみました。 単純にActivityをActionBarActivityへ書き換えただけだと次のようなエラーが出ます。 java.lang.IllegalStateException: You need to use a Theme.App…

【Android】ActivityのonTouchEventが呼ばれない

次のActivityとレイアウトの組み合わせで試すとonTouchEventが呼ばれませんでした。 Activity public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCont…

【Android】Fragmentにオブジェクトを渡す

FragmentにStringやintを渡すだけなら 下記のようにBundleにセットするだけで簡単にできます。 Bundle bundle = new Bundle(); bundle.putString("Name", "nanasi_san"); bundle.putInt("Age", 21); Fragment fragment = new Fragment(); fragment.setArgume…

【Android】ViewPagerのページを動的に追加する

ViewPagerのページに表示するデータを最初にセットせずに逐次読み込みたかったので 一番端のページに到達したら新しくデータを追加し新規ページが追加される処理を入れてみた。 流れ ページが端に到達したか確認 ↓ データを追加しAdapterを更新 実装 MainAct…

【Android】Segmented Radio Buttonsを使ってSegmentControlを実装する

iOSではおなじみのSegmentControlを以下のライブラリで容易に実装できたので紹介します。 vinc3m1/android-segmentedradiobutton · GitHub SegmentControl SegmentControlはいくつかの選択肢から一つを選んで切り替えができるUIパターンです。 以下のスライ…

【Android】API21でエラーが出まくる不具合の解決方法

SDKManagerでAPI21(Android 5.0 Lollipop)のSDKをインストールし AndroidSupportLibraryをアップデートしてからeclipseがエラーを吐きまくる。急にビルドできなくなったり、変なエラーが出たりとストレスが溜まっていましたが解決できたのでメモ parseSdkCon…

【Android】AndroidManifest.xml file missing!

eclipseのProblemに「AndroidManifest.xml file missing!」とエラーが表示された。manifestはしっかり存在しているのに何故かビルドできない。 cleanしても駄目、eclipseを開き直してもだめ。ググるとありました。 java - error: androidmanifest.xml file m…

【Android】AsyncTaskの罠

AsyncTaskの罠……と自分が思ったところです。AsyncTaskでcancelを呼ぶとdoInBackgroundの処理を自動で切ってonCancelledが呼ばれると思っていました。 ですが、キャンセルを呼び出してもdoInBackgroundの処理は走り続けるようです。 doInBackground内でisCanc…

【Android】TargetSDKをAPI21にしたらEclipseで謎のエラーが表示された

追記: 自分の環境では次の記事の手順で完全に解決できました。 【Android】API21でエラーが出まくる不具合の解決方法 - Kuwappブログ-アプリ開発記 【Android】API21でエラーが出まくる不具合の解決方法 - Kuwappブログ-アプリ開発記 "Loading data for And…

【Android】指定時間に処理を実行する【AlarmManager】

アラームを鳴らしたり、ある時間にアプリを起動したり、ローカルのPUSH通知を表示したりと指定時間に処理を実行したいときがあると思います。開発中のアプリにローカル通知を表示するために実装したのでその方法です。 流れ ・AlarmManagerにアラームを登録 …

【JAVA】Threadは再利用できない。

Thradは再利用できないらしい。 アプリ起動時にスレッドのインスタンスを作成し、スレッドを開始。 アプリがサスペンドした場合は停止し、レジューム時に再度startで動かそうなんて考えていました。再度使用したい場合は、新しくインスタンスを生成する必要…

【Android】Stringリソースをどこからでも取得できるようにする

以前も似たような記事を書きました。 が、より使いやすい方法を考えたので再度記事にします。 【Android】stringリソースを定数クラスのように扱いたい - Kuwappブログ-アプリ開発記 Stringリソースを取得する際の問題点 string.xmlに上記の文字列を定義して…

【Android】PreferenceFragmentがsupport-v4に含まれていない??

AndroidのAPI11から追加されたPreferenceFragment。 設定画面を容易に作成することができるクラスです。そしてv4 Support LibraryはFragmentなどを下位APIで使えるようにするライブラリです。eclipseでPreferenceFragmentを実装後にいつものようにCommand+sh…

【Android】FragmentPagerAdapterでFragmentを更新する

FragmentPagerAdapterを使用している場合に 表示しているFragmentを差し替えたいことがある。FragmentPagerAdapterにはそういった機能は用意されていないようなので調べて実装してみた。以下を参考にさせて頂きました。 ViewpagerのFragmentを動的に更新 - Q…

【Android】FragmentにFragmentを追加する場合の注意!

FragmentPagerAdapterでFragmentを表示し さらにそのFragmentに次のようにHogeFragmentを追加した。FragmnetPagerAdapterに追加するFragmentは全て同一xml問題なく表示されるかのように思えたが‥ 何故か表示されたり、されなかったりする。そして気づいた。 …

【Android】stringリソースを定数クラスのように扱いたい

新しく同内容の記事を書きました。 多分こっちのが扱いやすいと思います。 【Android】Stringリソースをどこからでも取得できるようにする - Kuwappブログ-アプリ開発記 【Android】Stringリソースをどこからでも取得できるようにする - Kuwappブログ-アプリ…

【Android Wear】Android WearでHello World

開発環境を構築したので、早速Gear LiveにHello Worldを表示してみる! といっても通知を送信するだけです。 ・流れ プロジェクトの作成 ↓ コードを記述 ↓ 動かす 以上! ・プロジェクトの作成 AndroidStudioを起動し 最初に表示されるウィンドウからNewProj…

【Android Wear】誰でも分かる!Android Wearの開発環境構築!

Android Wear搭載のLG G WatchとサムスンのGear Liveが発売されました。 Gear Liveが届いたので早速開発環境を構築してみる 自分の環境はmacです。 誰でも分かるというかAndroidStudioをインストールするだけです。 ・Android Studioのインストール 1.まずは…

【Android Wear】Samusung Gear Live開封の議!

注文していたSamusung Gear Liveが届きました。 月曜日にはヤマトが配達に来ていたけど 仕事で受け取れていませんでしたが本日ようやく到着です。 MacBook Airのときも思ったけど、開けるときは妙にわくわくする。おしゃれな箱! 早速開けてみた。 本体、充…