サーバー

Android で JUnit4 を使う方法 (Espressoなし)

はじめに Android で JUnit4 を使う方法は 続・AndroidでJUnit4を使う方法 に紹介されていますが、Espressoなしで使う方法が書かれていなかったので、やり方を記載します。 といっても build.gradle の設定が若干違うだけです。テストクラスの書き方は同じです。 build.gradle の設定 dependency と android.defaultConfig に以下のように設定を追加します。 build.gradle dependency { ... // 以下2行追加 androidTestCompile 'com.android.support.test:testing-suppor...

cocos2d-xのAndroidNdkのバージョンについて

Env cocos2d-x 3.14.1 Probrem 新しい環境を作成してビルドしたら以下のようなエラーで アプリがクラッシュした 03-22 17:05:29.447 8837-8837/org.cocos2dx.hellolua E/AndroidRuntime: FATAL EXCEPTION: main Process: org.cocos2dx.hellolua, PID: 8837 java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[...

[cocos2d-x]AndroidStudioのみでNDKビルドする

Env macOS 10.11.3 cocos2d-x 3.13 Android Studio 2.2 Android SDK Tools 25.2.2 Android SDK Platform-tools 24.0.3 Android SDK Build-tools 24.0.0 Android NDK r10e 404KC Android 4.4.4(実機) 前提条件としてすでにcocos2dプロジェクトを作成していること また、AndroidSDKやNDKもインストール済みであること SDKのインストール方法については過去記事参照 コマンドのみでAndroid SDKをインストール NDKは下記URLからダウンロード可能 https://dl.google.com/android/repository...

明日使えないAndroidTips集

これは第2のドワンゴ Advent Calendar 2017の4日目です 銀座松竹スクエアの12Fでお菓子神社やってた頃が懐かしい今日このごろ 皆様いかがお過ごしでしょうか? 私は「日頃から書くことまとめてないから、ギリギリになって慌てるんやで…」 みたいな気持ちで書いています。 相変わらずAndroidでとりあえず生活しているので、最近ハマった(忘れてた)こと特集とか… GCPやGO周りでも生活しているけど、書くこと無いし Scalaに至っては… だれか(割の良い)お仕事ください。(おい) 環境...

NativeScriptのconsole.logの出力先(Android)

NativeScriptでもconsole.logが使えるようですが、どこに出力されてるの?ってなったからメモ。Androidの場合です。Android使いの人には常識かな? コマンド. adb logcat -v time JS:V *:S 出力. C:\workspace\NativeScript\hello-world>adb logcat -v time JS:V *:S --------- beginning of /dev/log/system --------- beginning of /dev/log/main 03-26 01:43:37.342 V/JS ( 1762): ~ 03-26 01:43:37.432 V/JS ( 1762): ~ adbはandroid-sdk-windows\platform-toolsの下...

cocos2dx lua AssetsManagerEx android実験

cocos2dx 3.5での実験 やりたいこと ブラウザと同じぐらいに更新を行いやすくしたい。 アップデートなしでロジックの修正をできるようにしたい。 以上2点の検証をAssetsManagerExをつかってどこまでできるのか 検証してみました。(androidのみ) クライアント側 http://www.kawaz.org/blogs/miiojp/2014/12/24/672/ こちらの記事をみてassetmanagerexすごい!! luaコードもassetに含められるみたいなので実験してみました。 (iosは未確認) src/main.lua cc.FileUtils:getInstance(...

UnityでのOnApplicationFocus, OnApplicationPause, OnApplicationQuit関数における各端末(iOS/Android)動作まとめ

Unityで作ったアプリケーションを閉じたり開いたりするときに表題のイベントが走るのですが、忘れやすいのでメモします。 環境 Unity: 5.5.1f1 Android: 5.0.2 iOS: 10.2.1 コード 適当なMonoBehaviourを継承したクラスに以下のコードを足して実際に実機で動かして試してみます。 private void OnApplicationFocus( bool hasFocus ) { Debug.Log("OnApplicationFocus:" + hasFocus); } private void OnApplicationPause( bool pauseStatus ) { Debug.Log("OnApplicationPause:...

アプリリリース後を見据えたアプリを作る

ネクストスケープ配信事業本部AdventCalendar2017の4日目担当の坂本です。 新しいアプリを開発する場合、まずはアプリのリリースを目標にするかと思いますが 残念ながらアプリのリリースはアプリ開発の終わりではありません。 サービスが続く限りは機能追加や最新OSへの対応を行なっていく必要があります。 サービスイン後に後悔しないために、サービスイン後の作業を見据えたアプリを作りましょう。 (12/4 : 追記予定の項目は順次更新します!) ユーザーエージェント(UserAgent)...

APIを使う際にマッピングクラスを簡単に作る方法

APIの仕様が決まっているときにAndroidやiOSのマッピングクラスを作るのは面倒だったりします。 その中よく使うのが以下の2つ。 jsonschema2pojo jsonschema2pojo jsonもしくはjsonschemeからPOJO(Plain Old Java Object)を作成してくれるWEBサービス コマンドやgradleプラグインとしても使える。 joelittlejohn/jsonschema2pojo JSONExport Ahmed-Ali/JSONExport Mac専用のアプリでよければJSONExportがおすすめ。 SwiftやObjective-Cのモデルも作成できる その他 内製のAPIであれば...

Android Wearのデバッグを始める時の手順メモ

Android Wearのデバッグを始める時に忘れそうなのでメモ Handheld、Wear共に実機を使う時と、共にエミュレータの時。 WearとMacをUSB接続するやり方はやった事ないのでわかりません。 実機でAndroid Wearのデバッグをする場合 前提 [Mac] - USB - [Handheld] - Bluetooth - [Wear] のように接続済 Wear側はHandheldとBluetoothでのペアリングは済 1度はデバッグした事ある 手順 Handheld側でAndroid Wearアプリを起動。 設定のBluetooth経由のデバッグを許可 Wear側のBluetoothでデバ...

【Androidライブラリ】アニメーションしながら自動で折り返すViewを作りました - AnimationWrapLayout

概要 この記事では、Androidの自作ライブラリを紹介させていただきます ソースはAnimationWrapLayout(GitHub)で公開しています。 サンプルコードもあるので詳しくはリポジトリを確認して下さい。 何ができるか Viewを横に並べて、画面からはみ出しそうになったら自動で折り返すことができます。 LayoutにViewを追加する際にアニメーションしながら追加できます。 LayoutからViewを削除する際にアニメーションしながら削除できます。 アニメーションはカスタマイズできます。 使い方 1....

Androidで暗号化のための秘密鍵を(なるべく)安全に保持する

Androidにおける機密情報の保持 ログイン機能のあるアプリを作成すると機密情報(個人情報やアクセストークン)を端末内に保持することがよくあると思います。 その場合データの暗号化を行いますが、Androidアプリにおいて悩みの種なのがその暗号化のための秘密鍵(共通鍵)の置き場所です。 Android(Java)はリバースエンジニアリングが容易なため、アプリ内に暗号化のための鍵をハードコーディングしておくのは色々とヤバいです。 定数で持っておく以上難読化しても意味をなさない...

超安全にデータ管理! Android用ファイルマネージャアプリ「Amaze File Manager」

ファイルマネージャアプリとは 別名データ管理アプリ、ファイルアプリ、ファイルエクスプローラーアプリなどなど スマホ内のフォルダの中身を見るアプリのことです。例えばスマホにダウンロードしたPDFファイルを探すときなどに使うやつです。 ファイルマネージャアプリの危険(ウイルス)について ファイルマネージャアプリをインストールしたときに、アプリはスマホ内のフォルダにアクセスする権限を取得します。 なので、アプリはその権限を使って勝手にファイルをインターネットにア...

CircleCIでAndroidアプリをビルドする(2017年4月)

こんにちはsekitakaです。 アプリもCIしっかりまわしたいですよね。 今回はCircleCIでAndroidアプリをビルドする方法を紹介します。 CircleCIでビルドできたサンプルプロジェクトも公開しているので、初めての方はforkして試してみるとわかりやすいと思います。 特に重要なのはcircle.ymlとAndroid SDK関連の利用規約への同意をコマンドラインでやることです。 GitHubでプロジェクト作成 予めCIしたいAndroidプロジェクトをGitHubのプロジェクトにしておきます。PrivateでもPublicでも...

クール宅配便の温度湿度を計測してみた結果

どうも! Linking芸人と化してきたkojiraです。 宅配便業者でバイトしていた経験から、前々から気になっていたこともあり、クール宅配便の温度湿度を計測してみました。 前回の記事、AndroidアプリでFirebase Realtime DBにセンサーデータを保存、閲覧するで紹介したアプリを活用しています。 お手軽。 東京から大阪の友人へクール宅配便で送る食品の中にSizuku THAとSimが刺さったNexus 5Xを忍ばせて計測しました。 (Simを刺したラズパイとか、電源も面倒な上にすぐ壊れそうなので、...

DroidKaigi 2017 参加レポート

DroidKaigi 2017 DroidKaigi 2017 に参加したので、そのレポートです。 受講したセッションのレポートは追々書きます。 概要 日時:2017年3月9日(木) / 10日(金) 場所:ベルサール新宿グランド コンファレンスセンター 参加者について 今年の参加者は800人(前回600人、前々回は400人) 年代は20代45%、30代45% 経験年数は2年未満15%、2〜3年32%、4〜5年45% ドリンク・フード ドリンク・フードは無料で提供されていました。 バリスタの方もいて、本格的なコーヒーが飲めます。 フードは...

VirtualBoxで構築したUbuntu上で、adbコマンド(shell/logcat)が失敗する問題の対処法

Environment Vagrant VirtualBox ホストOS: macOS Sierra 10.12.4 ゲストOS: Ubuntu 14.04 Problem VagrantとVirtualBoxでUbuntu環境を構築し、Android端末をつないで、Ubuntu上でadbのshellやlogcatコマンドを実行すると、結果が返ってこない(hanging)する場合があった。 Solution stackoverflowで同様の問題があがっており、解決法も書いてあった。 adb can list devices but adb shell/logcat doesn't work I had the exact same problem with adb shell hanging. I am running an...

Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $ とは(備忘録)

はじめに Android開発でHTTPSのGETリクエストは必然的になってきます. HTTPSのGETリクエストを行い,それに対するレスポンスが返ってきます. 今回は返ってきた結果がJSON文字列であるときのお話です. 参考 こちらを参考にしました. http://qiita.com/furusin_oriver/items/59dd0ae6dc795737eded いざ実行! エラー terminal Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $ 原因 原因は取得したJSON文字列の書...

デザイナーに届けたい…マテリアルデザイン事始め Part.1

2017年DroidKaigi「エンジニアが武器にするMaterial Design」に感化され、わが社でもデザイナー向けマテリアルデザイン勉強会をしてみようと思います。スライド いつの日か「わぁー、イケてるね!(わくわく)」みたいなデザインができる日が来ることを祈って、説明向け資料をまとめていきます。 Part.1 : マテリアルデザインの概観 次回 Part.2 : マテリアルデザインのコンポーネント(小) マテリアルデザインってなんなのさ? 物質デザイン。デザインパーツを物質として捉え、現実...

導入してみる RxJava, RxAndroid, Lambda Expression(メモ)

既存の自作アプリに、RxJavaを一部導入した話です。 メモとして。 今回の範囲 AndroidのプロジェクトにRxJavaを導入する ラムダ式を使えるようにする とりあえずなんかやってみる(リスト操作) RxJavaを導入する RxJavaを導入すること自体は、そんなに大変ではありませんでした。 とりあえず、build.gradleに、RxJavaの依存を追加するだけです。 dependencies { compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'io.reactivex.rxjava2:rxjava:2.0.1 } これで、RxJavaの...