2019-06-01から1ヶ月間の記事一覧
開発中のビルドは問題なく通ってたのですが、ストア公開用の署名付きビルド作成時にこういったエラーが発生し、ビルドが失敗しました。 Error: null, Cannot fit requested classes in a single dex file (# methods: 71451 > 65536) The number of method r…
FFXIVのブログアンテナアプリ、FF14タイムズをリリースしました。Android端末をお持ちのFF14プレイヤー様は攻略やプレイヤーの交流に是非、お役立て頂ければ幸いです。 play.google.com 同様のアンテナアプリはいくつかあって、電車の中等でよく利用するので…
floatingActionButtonを floatingActionButton.visibility = View.INVISIBLE のようなことをすると、 VisibilityAwareImageButton.setVisibility can only be called from within the same library group (groupId=com.android.support) less... (⌘F1) Inspe…
インターネット上に置かれている画像ファイルをダウンロードして表示するにはGlideが便利。 簡単な記述で接続からファイルダウンロード、描画、キャッシュの管理まで行ってくれます。 github.com 導入 app/build.gradle implementation 'com.github.bumptech…
覚える気もなくいつもググって手間がかかるのでここに記録しておく。 not null & default 大体いつも2つセットで使うことになる。 class ChangeColumnNameToTables < ActiveRecord::Migration[5.2] def change change_column_null :テーブル名, :カラム名, n…
昨日、RecyclerViewのクリックイベントがどうしても取得できずハマってしまったのでメモしておきます。 RecyclerView onClickイベントの基本系 Layout RecyclerViewの中のitemを以下のようなレイアウトにした場合、
RecyclerView & CardViewの上にprogressBarを表示しようとした時、CardViewが最前面に表示されprogressBarがCardViewの下に潜ってしまうケースがある。 ViewのZ軸高さの設定 android:elevationでZ軸の高さを設定する。他Viewにandroid:elevationの設定がない…
ローカルのDBで予めworkspace/にpg_dumpを取っておく。 $ heroku pg:psql < workspace/dump.sql
例えばActivity側で定義されたActionBarやToolBarのUIで操作が行われた時、ViewPager側のFragmentを操作する必要がある時等に。 Activity側 FragmentPagerAdapter.getItem(position)でFragmentを取得すればよい。positionはViewPager.currentItemで取得でき…
軽量なJsonデータなどの文字列情報はSharedPreferencesを使って保存するのが便利 SharedPreferencesにアクセス fun getCache(context: Context, key:String):String{ val cache = PreferenceManager.getDefaultSharedPreferences(context).getString(key, ""…
オフラインであるかの判定は前回の記事、 www.letitride.jp のisNetworkAvailable()を使用して取得しています。 WebViewキャッシュまわりの設定 状態によりcacheModeを切り替えればよい。 val webView = findViewById<WebView>(R.id.webView) webView.settings.setApp</webview>…
端末がオンライン / オフラインであるかの確認 AndroidManifestのパーミッション追加 AndroidManifest.xml <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> ネットワーク状態のオンオフ判定 fun isNetworkAvailable(context: Context): Boolean { val connectivityM…</uses-permission></uses-permission>
KotlinでSerializableをimplementしようとした時、タイトルのエラーCannot access 'Serializable': it is internal in 'kotlin.io'と出てインターフェースを参照できないことがある。 なぜかパッケージが自動でimportされない時があるので、java.io.Serializ…
ストアに上げる際のアイコンの作成手順をいつも面倒くさいなあと忘れてしまうので次の為に残しておく。 特にAppStoreは解像度がきっちり合ってないとダメ。 ベースとなるアイコンの調達 iconionから背景が透過のアイコンをダウンロード iconion.com なぜ透過…
Rails Taskの記述 Railsを通してコマンド実行したい処理は/lib/tasks/に配置したファイルに記述する ファイル作成例 /lib/tasks/crawler.rb class Tasks::Crawler def self.execute #サイト巡回処理 #サイトの登録処理 Modelが利用できる Site.save() end en…
よくあるこういったUIのやつ コンテンツ部分を横スワイプでタブが左右に切り替わる 使用するコンポーネント ViewPager スワイプに応じてページングされたFragmentを生成し、自動でアタッチする。 TabLayout TabのUI表現及び、リスナーを管理する。また、生成…
APIで取得したJsonデータをパース、Modelメンバにパースした値をセットしてオブジェクトを返す。という処理をtemplate method的な固有実装のみサブクラスに実装したかったので勉強しました。 クラス関係 //ジェネリクスは継承先のクラスが指定する open abst…
導入 ProgressDialogはdeprecatedになったので、ProgressBarを使用する <ProgressBar style="?android:attr/progressBarStyle" android:id="@+id/progressBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:visibility="invisible" /> style="?android:attr/progressBarStyle"でくるくる回るインジゲーターや横棒の進捗バ…</progressbar>
導入 android.support.v4.widget.SwipeRefreshLayoutを使用する。 サポートライブラリを指定せず、<SwipeRefreshLayout></SwipeRefreshLayout>と記述すると、Error inflating class SwipeRefreshLayoutとなり、ビルドは通るがXMLパースでコケる。
Androidアプリ開発自体、Apache License 2.0 のOSSを使用して開発を行う為、インクルージョン表記や帰属表記が必要。 こちらを使うと簡単に使用ライブラリがリスト化されたActivityを生成できます。 github.com 導入 Add the Gradle plugin project/build.gr…
いつも、あれ?どうやって書くんだっけ?と都度ググっているので整理したことをメモ。 無名関数 基本 宣言と同時に関数オブジェクトに val func1 = fun(data:Int):Int{ return data } func1( 1 ) 宣言済みメソッドを関数オブジェクトに fun returnInt(data:I…
Androidアプリにadmobの広告を入れようとして、build.gradleに implementation 'com.android.support:appcompat-v7:27.+' implementation 'com.google.android.gms:play-services-ads:17.2.0' と記述したら、ライブラリの中に27.1.1と26.1.0が混在していて、…
View自体のプロパティにradiusの設定はないので、shapeタグを使ってbackgroundに当て込みを行います。 shapeタグとは? 画像ファイルを使わずにマークアップでグラフィック表現が行える記述方式。 strokeでViewに枠線を入れたりpaddingでView内側の余白管理…
var と val の違いとは? var : 再代入可能な変数(読み書き可能な変数) val : 読み込み専用の変数 以下のような操作を行った時、valではbuild errorとなります。 class Foo{} val foo = Foo() foo = Foo() //変数fooに再度Foo()インスタンス valについて い…
タイトルは釣りです。ごめんなさい。 昨日、ハマってしまったのでRecyclerViewについて整理したことをメモ。 RecyclerViewの最小構成 layoutファイル activiity_main.xml 画面幅一杯のRecyclerViewを配置
WebViewに対して、さらっと書き捨てのHTML等を直接記述出来ます。 val webView = findViewById<WebView>(R.id.web_view) webView.loadData("<a href=\"https://www.google.com\">グーグル検索</a>", "text/html", "utf-8") 何が便利か? クッションページが必要だけど、敢えてHTMLファイルとして作成するほど</webview>…
タイトルは釣りです。すいません。 AsyncTaskLoaderを気軽に使えるように整理したのでメモとして残しておきます。 基本形 別スレッドでの処理はAsyncTaskLoaderのloadInBackgroundに記述 loadInBackgroundで完了した処理データをUIスレッドで操作するにはLoa…
Javaで記述したDialogFragmentをKotlinに自動変換行った時、 method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter savedInstanceState とエラーが出ることがあります。これはエラーメッセージの通りsavedInstanceStateにnullが渡され…
Androidにはデフォルトで用意されているアイコンとして利用可能な豊富なdrawable プラットフォームリソースがあります。 プラットフォームリソースを確認する Layout EditorのAll attributeから確認するのが簡単です。 のアイコンを押下し、Drawable -> andr…
結構な人が困っているようなので、自分が解決した時の対処を記載しておきます。 前提として ドメインはお名前ドットコムで取得 はてなブログはhttps対応としてしている です。 そもそもの問題 はてなブログPROの独自ドメイン機能はURLの独自ドメインの頭にww…