そーす

福岡在住。ネイテイブアプリ(Swift, Kotlin), ReactNative, ReactSPAが仕事メイン

Android

ReactNativeでiOS, Androidに最適化したUIを構成するには

最近は仕事でも個人でもReact Nativeでの開発がメインになっており、かなり知識が溜まってきました。 で、だいぶiOSとAndroidに最適化したUIの構成ができるようになってきたのでメモ程度に残します。 OSごとのUIの分け方 ReactNativeは標準で幾つかiOS, Andr…

iOSのみ、ModalとAlertを同時に使うとModalが消えないバグがある

issue上がってます github.com 再現方法 例えば通信処理中にインジケータ(くるくるするやつ)を出して、通信終わったらインジケータ消してレスポンスに応じてダイアログでユーザに通知したいとかあるじゃないですか。 このインジケータの表示にModalを使っ…

DroidKaigiに出席した

3月9,10日に新宿で開催されたDroidKaigi2017に参加してきました。 スピーカーでは無いです。 スピーカーの皆様、スタッフの皆様、超お疲れ様でした。 あの規模のイベント回すのはとても大変だし準備も相当大変だっただろうとお察しします。 個人的にも大満足…

ReactNative製アプリをデバッグするときのTips

実機デバッグはVysorを使おう chrome.google.com 実機の画面をキャプチャしてPCに転送してくれます。 キャプチャ画面でクリックやスクロール、タイピングもできるので非常に便利です。 ReactNativeのRELOAD機能はR2回押しで実機だと出来ないのでコレを使うと…

ReactNative雑感

最近自社のアプリ(iOS,Swift/Android, Kotlin)をReactNative化しているので使ってみた雑感など。 導入のきっかけ 自社アプリのiOS(Swift)とAndroid(Kotlin)は私が一人で作って運用しています。 なんで一人かというと社内でアプリをかけるのは私しかいない…

Kotlin Android Extensionsで注意すること

とくにハマった訳ではないですがやらかしそうなミスだなぁと思ったので。 Kotlin Android ExtensinsとはViewの参照を自動で作ってくれるAndroidのためのPluginです。 kotlinlang.org findViewByIdしなくてもID名から自動で参照を作ってくれるので非常に便利…

KotlinからJavaのクラスを利用するときにAccessorが上手く生成されないことがある

Kotlin小ネタなんですが、KotlinからJavaのクラスを利用するときにjavaのSetter, GetterメソッドからKotlinのAccecorに自動で変換してくれる機能があります。 例えば、 Java側で class Text { ... public void setText(String text) {...} public String get…

基本的にCustomViewを使うメリット(全体設計編)

基本的にCustomViewってどういうことだよ、って話ですが… 例えば, Activityだと class MainActivity: AppCompatActivity(){ private view by lazy { MainView(this) } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceSt…

KotlinのInterfaceでSwiftのProtocolExtensionぽいことをやる

kotlinのInterfaceではJavaのinterfaceの機能に加え、フィールドの定義とデフォルト実装ができるようになっています。 この機能を使ってSwiftのProtocolExtensionっぽいことをやってみました。 実装内容ですが、例えば画像をギャラリーやカメラアプリをInten…

ADB idea便利

今更ですが… github.com インストール Preferences -> Browse Repositories -> ADB ideaを検索 使い方 コマンド一覧のショートカットキー Ctl + Shift + A FindActionから検索 ⌘ + Shift + A 2台以上接続してても、選択もできるしすごく楽。

Android Intent-filterのマッチングについて

RESTfulなAPIならこの仕様だと困らないか?って話。 とりあえず、AndroidのIntent-filterのパスマッチングの仕様について。 固定Uriでのマッチング http://saburesan.hatenablog.com でIntentが発行された時にMainActivityを起動したい時 <activity android:name=".MainActivity" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.VIEW" /> …</action></intent-filter></activity>

Orma Inner join バグ

v2.0.6 @Table public class Message { @PrimaryKey(auto = false, onConflict = OnConflict.IGNORE) public long id; @Column public String body; @Column public Image image; @Column public Image image2; } こういう2つ以上同じモデルをカラムとしても…

Ormaを既存プロジェクトに導入してみた

Ormaを導入してみた。 v2.0 選んだ理由 既存のプロジェクトへの導入だったので、モデルの制限が少ない方が良い Android-CleanArchitectureを意識して設計していて、データ層はRxのSingle<POJO>を返すInterfaceのみを公開しているので、POJOが使えて現状の…

Fuse Sketchからインポートする

今回はSketchからインポートしてアプリを作成します。 Fuseプロジェクト作成 先にプロジェクトを作っておく必要があります % fuse create app SketchSample Sketchのプロジェクトを作成 今回はサンプルで以下のようなアプリのデザインっぽいのを作りました。…

Fuse インストールからAndroid実機リアルタイムプレビューまで

最近知ったワンソースでiOS,Androidのアプリが作れるツール「Fuse」 なんとSketchから直接インポートでアプリが出来るというかなり良さ気なツールです!! Sketchの変更をリアルタイムで実機プレビューが出来るらしい。。。素晴らしい。 ってことで導入 イン…

言語設定をコードで切り替える

海外向けアプリを作っているんですが、 ある国だと端末に言語設定が無い場合があるのでアプリ自体に言語切替機能が付いてる事が多いようだったので 弊社もアプリ内に言語設定を変更出来る機能をつけました。 以下やりかた String lang = "in";//設定したい言…

Webから引っ張ってきた画像をRepeatさせる

String imageSource = "http://....."; Single .create(new Single.OnSubscribe<BitmapDrawable>() { @Override public void call(SingleSubscriber singleSubscriber) { try { //Webから画像読み込み URL url = new URL(imageSource); HttpURLConnection connection = (Http</bitmapdrawable>…