
#iOS | #Android ファショ通 Swift を身に付けていく過程の記録、最新ニュースや使い方、iPhone、Mac、Android、Python なども。 いつも興味深く読ませていただいております. これでAndroidStyleを使えるようになる。XMLのインデントがAndroid Studio標準より深かったり、コードの幅が狭かったりして個人的にはそんなに好きなスタイルではないものの、まあこれも時代の趨勢かと思って使うことにした。 Android StudioでのコーディングにAndroidStyle.xmlを適用する - Islands in the byte stream で, これって Android なりのコーディング規約を, そのコーディングに使う IDE である Android Studio に適用しておく.ということか. セットする XMLファイルは, URL
This document provides examples of refactoring Java code to use Guava libraries and utilities. It shows code snippets before and after refactoring to use Guava's Objects, Preconditions, Collections, Splitter, Joiner, Ranges and other utilities to clean up code and make it more readable and robust. Refactoring includes using Guava to validate arguments, create immutable collections, handle nulls sa
いいかげんあんどろでも勉強するかと 6 年遅れくらいで重い腰を上げかけている。気が重い。スマホとか知らないっすよ・・・。 あんどろ、というかスマホ固有の話題は色々あれど、その一つがタッチベースの UI なのは間違いない。そういえばタッチというのはどうやって実装されているんだろうか。それを一通り眺めれば、少しは気の重さが晴れるかもしれない。ということで今日はタッチイベントの実装を眺めてみたい。実装といっても静電容量だの電磁誘導だのではなくユーザー空間の話です。そして老人の勉強記録であり目新しい話はありません。間違ってたら教えてください。 参照するコードは何も考えず repo sync で降ってくる AOSP master。たぶんだいたい 4.4.x 相当(だよね?) View#onTouchEvent() あんどろプログラマからみたタッチイベントはふつう View#onTouchEvent(
libGDXはマルチプラットフォーム対応のゲーム開発フレームワークです。 似たようなコンセプトのゲーム開発フレームワークとしてUnityやCocos2d-xなどがありますが、libGDXは Javaで開発ができる というのが大きな特徴になっています。そのため、「スマホゲームを開発したいけれど、AndroidはともかくiOSはObjective-Cなのでハードルが高くて…」とお嘆きのJavaエンジニアにもってこいのフレームワークなのです。 このドキュメントではlibGDXを使ってJavaでAndroidとiOSの両方のプラットフォーム向けのゲームを作るための基本をお伝えしたいと思います。 お話の前提 このドキュメントは以下の環境で実際に試した結果に基づいて記載されています。 プラットフォーム:Android、iOS 開発用PC:Mac (OS X Mountain Lion) IDE:Ecl
Annotations Support Library の概要 ちゃんとしたドキュメントが見当たらないのですが、 *1 Android Support library のリビジョン 19.1.0 から、新たに Annotations Support Library が追加されました。 このライブラリは、その名のとおり Android アプリ開発時に用いることができるアノテーションの集まりです。 例えば、@NonNull や @Nullable といったアノテーションが含まれています。 さらに、Android Studio ではバージョン 0.5.5 からこれらのアノテーションをサポートしており、アノテーションを使うことでいろいろと警告を出してくれるようになっています。 Support for the new annotations which shipped with the most r
JNI関連の話が続きます。 今日は短いですが、JNIとC++例外について。 最近ではAndroid NDKもC++の例外(やRTTI)に対応していて、そのおかげで例外が必要なSTLなどのライブラリを自由に使えるようになっています。しかし、Java側はC++の例外を理解してくれないので、もしJNIを介した関数がネイティブ領域で例外をキャッチし損ねると、すぐにSegmentation Faultで落ちます。 解決策としては、JNIから呼び出されたC++側の内部処理を、noexceptな関数に閉じ込めてしまえばよいわけです。もちろんエラーが発見できないのもまずいので、JNIを使ってJava側の例外に変換してしまいます。 JNIEXPORT void JNICALL Java_Foo_bar (JNIEnv* env, jobject thisj) { jni_util::convertExcep
ADTが22.6.0になり、Java7に対応したらしいです。 http://developer.android.com/tools/sdk/eclipse-adt.html ADTのアップデートはEclipseならヘルプ→更新の確認をすれば行えます。 Java7でコードを書くにはプロジェクトのプロパティからJavaコンパイラを1.6から1.7に変更するだけです。 もしくはJava7の構文を書いてエラーにカーソルを合わせればワンクリックで設定を変更してくれます。 というわけでJava7で追加された機能をおさらいメモ。 といってもJava7の全てに対応しているわけじゃないようなので、実際にAndroidで使えたもののみ。 switch文にStringが使えるようになった 今まではbyte、char、short、intもしくはenumのみが使えたswitch文でStringが使えるようになりまし
最近、スマートフォンアプリ開発をやる人増えてきてオススメの本ある?って聞かれること多くなってきたのですが、その人のバックグラウンドによるところも大きいと思うので、自分がAndroidアプリ開発を始めたときに読んでて役に立った、あるいは読んでおきたかったという目線で、良かった本をいくつか挙げようと思います。 Effective Java Java界隈では多くの人が読んでいると思いますが、AndroidからJavaに入った人だと読んだことがない人もいると思います。 Javaを書く上でのエッセンスが詰め込まれているので、まだ読んでいない方は読むことをおすすめします。 JUnit実践入門 Androidだとテストが書かれないことが多いです。しかし、書いた方がデバッグの時間が短くなる上に保守もしやすくなりますし、テストを書きやすい構造を意識するようになって、上達が早くなりますし、設計も綺麗になります
2014-02-16 Android開発を始める上でおすすめの4冊 Android開発を始めたばかりの僕が読みたかった本 - Rejasupoemと丸被ってますが、あまりにこの内容に共感しすぎてこれを書いた、というのが実際の話です。 Effective Java Java SE6の名著。都合のいいことに、Androidの推奨開発環境も未だにJDK 1.6です。 中級者以上向けとされていますが、実体験としてJava初心者でも読めました。 当然、初読では分からない部分が多かったので、不明点を理解できるまで読み直し、調べながら、章ごとに内容をノートに要約しました。肝要なのは、それでも現時点の理解では突き詰められなかった点が出てくるかと思うので、それを洗い出して「何が分からないのか」を明確にしておくことです。 そうすれば実際にプログラミングしていくなかで、「あの時理解できなかったことはこのことか!
最近、スマートフォンアプリ開発をやる人増えてきてオススメの本ある?って聞かれること多くなってきたのですが、その人のバックグラウンドによるところも大きいと思うので、自分がAndroidアプリ開発を始めたときに読んでて役に立った、あるいは読んでおきたかったという目線で、良かった本をいくつか挙げようと思います。 Effective Java Java界隈では多くの人が読んでいると思いますが、AndroidからJavaに入った人だと読んだことがない人もいると思います。 Javaを書く上でのエッセンスが詰め込まれているので、まだ読んでいない方は読むことをおすすめします。 JUnit実践入門 Androidだとテストが書かれないことが多いです。しかし、書いた方がデバッグの時間が短くなる上に保守もしやすくなりますし、テストを書きやすい構造を意識するようになって、上達が早くなりますし、設計も綺麗になります
java-for-android-app.markdown Android アプリ開発のための Java 入門 MEMO declaration は 「宣言」 と訳しているが、「定義」 の方が適しているような気がしなくもない。 「インスタンス」 と 「オブジェクト」 という言葉を使うことがあるが、本文書中ではどちらも同じ意味で使用している。 「String オブジェクト」 という表現は、「String クラスのインスタンス」 を意味している。 (Java に限らず一般的な表現だと思う。) はじめに この文書は Android アプリ開発をしようと思うプログラマのための Java の入門文書である。 まともに Android アプリを書くために最低限必要だと思われる知識をひととおり記述している。 また、C の流れをくむ文法であるため、C やその類似言語を知っている場合には既知であろうと考えら
ずいぶん前に画像をモザイク風に加工するエントリを書きましたが、あれを少しいじったらだいぶ早くなりましたよ、というご報告です。 こんなコードでモザイク処理に350~360msくらいかかってました @Override public void onPictureTaken(byte[] data, Camera camera) { BitmapFactory.Options options = new BitmapFactory.Options(); options.inSampleSize = 8; bitmap = BitmapFactory.decodeByteArray(data, 0, data.length, options); Bitmap b = bitmap.copy(Bitmap.Config.ARGB_8888, true); Log.d("CameraSample",St
OAuthについて前々から気になっていたので、やる夫と Python で学ぶ Twitter の OAuth - YoshioriのBlogを真似する感じでJavaで書いてみました。なお、あまり意味はないのですがJDKのライブラリのみで作成しました。 ※ 2013-08-03 に動作確認済みです。なお、その際に statuses/update API の Resource URL を 1.1 に更新しました。 OAuthの概要 要はユーザーIDとパスワードではなくトークンを利用して認証を行う仕組みです。OAuthプロトコルの中身をざっくり解説してみるよ - ゆろよろ日記がとても分かりやすいです。 実際に実装する際はAuthenticating Requests with OAuth | dev.twitter.comがマニュアルになります。あとは、用語や定義について確認したいことがあればR
Android Androidプログラミング-HelloWorld Androidプログラミング-OpenGL Androidプログラミング-NDK-HelloWorld Androidプログラミング-NDK-OpenGL Androidプログラミング-NDK-共有ライブラリ(libpng)を作る Androidプログラミング-NDK-共有ライブラリ(libpng)を使う Androidプログラミング-NDK-例外とSTL Androidプログラミング-NDK-覚え書き Google NaCl NaClプログラミング-環境構築 OpenGL OpenGLあれこれ OpenGLのバージョンの違い OpenGLプログラミング-頂点バッファーオブジェクト OpenGLプログラミング-ライティング OpenGLプログラミング-画面全体を覆う1枚の板ポリゴンの表示 OpenGLプログラミング-
ブログ等に掲載されているHttpComponentのサンプルコードは、重要なところが端折られて紹介されている(というか間違っている事を知らずに書いている疑惑すらある)ことが多いので、正しいサンプルコードを書いておく。 まぁ、ここだけでなくApache HttpComponentsのドキュメントもちゃん読みましょう。あ、Androidのリファレンスにはロクに使い方が書いてないので、あんなゴミだけ読んでてもダメですよ。 要点 ポイントは2つ。 ResponseHandlerを使ってコードを書く HttpResponseの内部リソースを自動で解放してくれるので、ミスがなくなり、コードも簡潔になる。ブログ等ではHttpResponseを使わないコードもよく掲載されているが、リソースの解放処理が記述されていないことが多いのであまりよろしくない。 なお、ResponseHandlerを使わずに自分でリ
動的クラスローディングでAndroidアプリ“裏”開発:Androidで動く携帯Javaアプリ作成入門(40)(1/3 ページ) 動的クラスローディングで何ができる? Javaでは、起動時のみでなく、実行時にユーザープログラムの制御によって、外部リソースからクラスを読み込み、メソッドを実行できます。そうです、ClassLoaderを使用して外部からクラスを読み込めばよいのです。 動的クラスローディングが行えることで、どのようなメリットがあるでしょうか。 ゲームのステージなど、必要なリソースを後から追加。必要なくなったリソースは削除 ユーザープラグインのような仕組みが導入可能 データやプログラムの配信・修正が容易になる Androidでは、動的クラスローディングはJavaのそれとは少し事情が異なります。今回は、その事情や対応方法を詳しく解説していきます。 読み終えた段階で、ほぼ満足いく形で動
以前、「iOSアプリ開発で例外の発生した場所を特定する」というブログを書きましたが、 Androidでも同じような機能があるようです。(むしろ、Javaですが。。。) Thread クラスの setDefaultUncaughtExceptionHandler メソッドというものを使いますが、 ここでオリジナルのクラスをセットすることにより、キャッチしてない例外発生によってアプリが強制終了したときの 「問題が発生したため、xxx(アプリ名)を終了します。」という、みなさんおなじみ? のダイアログが表示される前に、任意の処理を差し込むことができます。 今回はそれを利用して、例外発生時のスタックトレースを SharedPreferences に保存して、メール送信するサンプルを作ってみます。 開発時などは、アプリをデバッグ起動していればEclipseのLogCatで例外発生時のスタックトレース
答え:テストできるように作る 周りでAndroid開発してる話を聞くのですが、どうもテストがしづらかったり、修正が大変だったりする模様。ここを直してあそこがバグるみたいな。 本屋で参考になりそうな本を探すも、入門系かリファレンス系が殆どで、「どういう設計にするべきか?」とか「Android Test」とかAndroid向けフレームワークの話がさっぱり無い。そんな状況なので、入門書片手にアプリを書き始めた人は、ViewとLogicを始め、色々なものが適切に分けられてないコードを作り、テストの無いレガシーコードが量産されていくのかな、と。 そういう分けで最初の結論になります。 ちょうど、ちょっとしたAndroidアプリを書いてみようと思ってたので、ここら辺を参考に実際のアプリに先立っていくつかのフレームワークを組み合わせたAndroid-Development-Suiteを作成。 いわゆるサン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く