前人未踏の領域へ Androidアプリ開発編

Androidアプリ開発に関する調査メモ置き場。古い記事にはアプリ以外も含まれます。

2014-01-01から1年間の記事一覧

Android端末にJolla Launcherアプリをインストールする。

フィンランドのJolla OSの公式サイトからランチャーアプリが配布されてたのでAU版AQUOSに入れてみた。 http://www.thejollablog.com/jolla-launcher-gets-ported-android-4-2/ マーケットアプリではないのでapkをダウンロードして自分でインストールする必要…

Dockerを理解する

以下の公式サイトの記事を読みつつ日本語訳。全体的に理解が怪しいので日本語も怪しくなってます。 https://docs.docker.com/introduction/understanding-docker/ Dockerを理解する Dockerはアプリを開発、出荷、そして実行するためのオープンプラットフォー…

Ubuntu 12.04.4 LTSへのインストール

以下に書いてあるとおりにしたらできた。ハマりどころも得になし http://docs.docker.com/installation/ubuntulinux/#ubuntu-precise-1204-lts-64-bit sudo apt-get update sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-…

Dockerのチュートリアルをやってみる

Dockerが気になっていたので学ぶことにする。インストール前にオンラインチュートリアルでお勉強 http://www.docker.com/tryit/ ヘルプの表示 dockerコマンドを引数なしで入力するとコマンドの一覧が表示される Welcome to the interactive Docker tutorial …

ARTとDalvikの違い

Intelに関連記事が掲載されていたのでメモ https://software.intel.com/en-us/blogs/2014/06/18/art-vs-dalvik-introducing-the-new-android-x86-runtime AOT vs JIT Ahead-of-Time (AOT) ARTはAOTコンパイラによりアプリインストール時にDEXバイトコードを…

OS X Yosemite アップデート後にAndroid Studioが起動しなくなったら

何も考えずにYosemiteにアップデートしたらAndroid Studio、IntelliJともに起動しなくなった。焦らず騒がず以下をインストール。自分はこれで解決。 http://support.apple.com/kb/DL1572と思ったが副作用があるらしく、Android Studio上で"a"と入力すると"aa…

プロジェクトのGradle化

プロジェクトを作ったり、既存プロジェクトをAndroid StudioにインポートしたけどGradle関連のファイルが無いなど、そんなときに後からGradleプロジェクトに変更する方法。Gradleのインストールは完了していることを想定。まずは素直にFile → Import Project…

Localeクラスとそのメソッドの実行結果確認

java.util.Localeクラスを使用することになったのでそのメソッドが何を返却するかをチェック。 日本の場合 メソッド 出力 getCountry() JP getLanguage() ja getVariant() getDisplayCountry() 日本 getDisplayLanguage() 日本語 getDisplayName() 日本語 (…

外部アプリからの画像の取得および利用

外部アプリから画像を選択し、自分のアプリで利用する方法 対象アプリの起動。 Intent.setActionにACTION_GET_CONTENTを渡す。setTypeで画像をリクエスト。 public void onClick(View view){ if(view.getId() == R.id.selecter){ Intent intent = new Intent…

androidコマンドのヘルプ

android -h実行結果 $ANDROID_HOME/sdk/tools>android -h Usage: android [global options] action [action options] Global options: -h --help : Help on a specific command. -v --verbose : Verbose mode, shows errors, warnings and all messages. --c…

emulatorのショートカットキー一覧

確認コマンド $ANDROID_HOME/tools/emulator -help-keys実行結果 When running the emulator, use the following keypresses: HOME Home button F2, PAGEUP Menu (Soft-Left) button Shift-F2, PAGEDOWN Star (Soft-Right) button ESCAPE Back button F3 Cal…

Google+のAndroid関連Tipsを抽出する

Google+のAndroidDevelopersアカウントでは定期的にTipsが投稿されているがこまめにチェックしきれないので時間のあるときにまとめて読みたい。ユーザーとタグで絞込をする。 +AndroidDevelopers/posts #Protipそうすると下記のURLになるので https://plus.g…

harmonyソースのありか

Android Sourceにおいて、apache.hermony系のソースコードはどこにあるかについてのメモ 結論をいうとlibcoreにあった。 libcore/luni/src/main/java/org/apache/harmony

Android Wear デザイン原則

公式サイトの「Design Principles of Android Wear」の一部書き出し http://developer.android.com/intl/ja/wear/design/index.htmlAndroid Wearの体験とは以下のようなものである。 状況を認識し、スマートに これらのデバイスはコンピューティングによる認…

Logcatをコマンドラインで使う

LogcatをEclipseから使うとEclipse側のメモリを無駄に消費してしてしまうのであれかなと思ったので、コマンドラインで使うことにする。 参考 http://developer.android.com/intl/ja/tools/debugging/debugging-log.html タグ名で絞り込む adb shell logcat -…

AsyncTaskをワーカースレッドから呼ぶべからず

Androidの古いバージョンでは以下の現象が発生しうるのでメモ。 現象 あるアプリでAsyncTaskのコンストラクタ呼び出し時に以下のようなエラーが発生。 java.lang.ExceptionInInitializerError at sample.service.servicetest.SampleService$1.run(SampleServ…

抽象クラスのstaticフィールドの影響範囲について

疑問 staticフィールドはクラスと静的に結びつくが、それが抽象クラスだった 場合にはその値は具象クラスごとに変わるのだろうか、それとも共通なのだろうか。 確認 抽象クラス public abstract class AbstractGeorgia { protected static int count = 0; pu…

Lintがコマンドラインで実行できない

Android SDK Toolsを最新化したらLintコマンドがエラーになるようになった。 tools>lint --version Exception in thread "main" java.lang.NoClassDefFoundError: lombok/ast/AstVisitor at com.android.tools.lint.checks.BuiltinIssueRegistry.<clinit>(BuiltinIss</clinit>…

TextView.setTextにnullをセットするとどうなるか

答え:サイズ0の文字列に置き換わる。 //android.widget.TextViewのソース抜粋 private void setText(CharSequence text, BufferType type, boolean notifyBefore, int oldlen) { if (text == null) { text = ""; } …以下略バージョン1.6の頃からだから基本…

HttpClient for Android

AndroidのHttpClientはGoogleからはサポートされなくなってしまっていたのだけど、 ApacheのHttpcomponentsプロジェクトで4.3のAndroid版を開発してくれているようだ。http://hc.apache.org/httpcomponents-client-4.3.x/android-port.htmlまだSNAPSHOTらし…

Mac OS X Gradle設定メモ

IntelliJのv13.0.2でGradleから外部ライブラリを読み込んでも一向にIntelliJに 反映されなかったのであれこれ試した結果。参考:http://d.hatena.ne.jp/hagi44/20140221/1392916434 Gradle設定 IntelliJ IDEA → Prefrerences Use default gradle wrapperにチ…

Mac OS Xに最新バージョンのRubyをインストールする

参考: http://www.atmarkit.co.jp/ait/articles/1402/27/news042_2.html何カ所かつまづいたのでメモ。 homebrewのインストール RVMのインストール Rubyのインストール Rubyバージョンの確認 1. Homebrewのインストール http://brew.sh/index_ja.html 1-1. …

TargetApiアノテーションで1.6端末でVerifyErrorエラー

Android端末の複数バージョン対応としてTargetApiアノテーションを使って 以下のようなprivateメソッドを記述したところ 1.6端末でActivity起動時にVerifyErrorが発生した。 //呼び出し元 if (Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB) { Pic…

Context.getSystemServiceで取得可能なサービス一覧

追記 AndroidXから `ContextCompat.getSystemService(context:Context, class:Class)`が可能になった。 Castも不要なので取得可能なクラスが分かっている場合はこちらの方が楽だろう。 val am = ContextCompat.getSystemService(this, ActivityManager::clas…