こんばんは、最近はAndroid JavaではなくPerlとTypeScriptを書いているid:takuji31です。 この記事は本日開催の関西モバイルアプリ研究会 #17の発表を元に作成しています。 今日はSupport Library 24.2.0でrecyclerview-v7に追加された DiffUtil を試してみたので紹介します。 DiffUtilとは 2つの List の差分を計算するユーティリティー。 List の要素ごとの変化を計算する DiffUtil.Callback を引数に取り、 DiffUtil.DiffResult を受け取る。 デフォルトでは追加と削除と更新のみ受け取れるが、オプション指定することで移動も計算できる。ただし、計算コストが上がる。 DiffUtil.Callback それぞれの要素の変化を DiffUtil に伝えるCallback。5つのメ
Libraryテストでハマったので覚書 通常のLibraryプロジェクトからテストプロジェクトを作成して実行するとエラーが発生する Could not find XXX.apk! テストプロジェクトではapkファイルが作成されないので見つかんないってエラーが起きる 調べるとdeveloperサイトにはライブラリのテスト方法が書かれていた http://developer.android.com/tools/projects/index.html#testing Testing a Library Project There are two recommended ways of setting up testing on code and resources in a library project: You can set up a test project that instrumen
Tutorial: Create your first Android applicationIn this tutorial, we will create a simple yet fully-functional Android application that counts how many times you tap a droid image. After that, we will run it on an Android virtual device. This tutorial covers a simple scenario to help you get started with Android development in IntelliJ IDEA. For comprehensive how-to guides and reference documentati
Androidで通常のアプリケーションプロジェクトではなくライブラリプロジェクトを作成する際の考慮事項が、Dev Guideに記載されている。 ざっくり意訳すると、 ライブラリプロジェクトとそれに依存するアプリケーションを開発する際に、以下のことに注意する必要がある。 Resource conflicts ライブラリプロジェクトのリソースとライブラリに依存するアプリケーションプロジェクトのリソースはツールによりマージされるので、採番されたリソースIDは両方のプロジェクトで重複して定義される可能性がある。この場合、ツールはアプリケーションかライブラリか優先順位の高い方をIDの値として判断し、もう一方のIDの値は破棄される。アプリケーションを開発する際に、共通のリソースIDは複数のプロジェクトで定義される可能性が高く、最終的に優先順位の高いアプリケーションもしくはライブラリの値がマージされるこ
引き続き外部ライブラリのすゝめ2です。 今回はAndroidの外部ライブラリの作り方です。 前回の後半でもAndroidSDKのAPIを使う外部ライブラリの作り方書きましたが 今回はリソースを使う外部ライブラリの作り方です。 完全に外部化するからには国際化なんかも済ませておきたいですね。 構成 AndroidApp Androidアプリプロジェクト AndroidLib ライブラリプロジェクト AndroidAppはAndroidLibのクラスのメソッドを呼び出します AndroidLibは自身に定義されている文字列リソースを返します AndroidAppは受け取った文字列をToastで表示します。 簡単なアプリですねー。 AndroidLib まずはAndroidLibプロジェクトを作ります。 New Project Project Name:AndroidLib Build Targe
ADT 0.9.7から追加された「Library Project」により、複数のアプリケーションから参照できるライブラリィプロジェクトを構成できるようになったのは前回書いた。 ADTによるLibrary Projects Library Perojectにより、アプリケーションはライブラリィコードを共有できるようになったので、とても便利になったのだが、副作用として困った問題が発生する。それはAndroid SDK独特のInstrumentationを利用したテスト時である。 Library Project以前は、ライブラリィプロジェクトであってもAndroidプロジェクトとして管理する限りは、Android Package(.apk)を生成することが出来た。Instrumentationによるテストはテスト用のパッケージと分離されていることを前提にしている、他のパッケージをテストすることが
Android library project with tests, step by step Published September 5, 2010 Software Engineering 11 Comments Warning! Android Tools r14 and (sadly, still) r15 seem to have completely broken the Ant build system with regard to both testing and library support. If you haven’t already upgraded, I strongly suggest that you don’t until these problems are addressed. Here are links to some of the proble
さて、Android Development Tools (ADT) 0.9.7で有効となった "Library Projects"だが、早速使ってみた。 結論としては、今まで苦労して複数のプロジェクトを関連づけしていたのが嘘のように設定が簡単で尚かつ快適だ。 設定は最新のADTドキュメント > Working with Library Projects※に書いてあるが、以下の手順で実施する。 ライブラリィプロジェクトの設定 複数のプロジェクトで共有したいリソースを集約したAndroidプロジェクトを作成する(私のように既にあればそれを使う) プロジェクトは通常のAndroidプロジェクトとして作成するが今までに無い操作を一つだけ行う。 1.プロジェクトプロパティウインドウを開ける適当なビュー(パッケージエクスプローラ等。私はナビゲータ派だが)のコンテキストメニューから"プロパティ(pro
Android Project で Is Library を使う場合、res の管理に注意 以前、Android プロジェクトを jarライブラリ化する というエントリで res以下を使用したい場合は、上記の Is Library を使用することでライブラリ化することが可能です。 と書いたのですが、最近、Is Library を使っていても res 以下の扱いは注意しなければいけないことに気づきました。 具体的には、Library と Application(使用する側)に同じ名前のリソースがあると、コンパイルエラーにはならないが、実行時におかしなことが起こるのです。 この辺の事情は、以下のサイトに詳しく書いてあります。 Android Developers の Managing Projects その和訳ページ Androidでライブラリプロジェクトを作成する際の考慮事項 このページを見
Android プロジェクトを jarライブラリ化する Android に関わらず、プログラムを書いていると、作った成果物をライブラリ化したいと思うことは多々あります。 Eclipse の Android 開発環境(ADT) には Is Library という設定があって、ソースコードのままライブラリとして利用出来ます。 ただ、この方法だと、再配布がしにくいです。 というわけで、Eclipse の Javaプロジェクトを jarライブラリ化する機能を使って、Android プロジェクトを jarライブラリ化する方法を紹介したいと思います。 2011/6/5 追記 この方法はres以下を使用するAndroidプロジェクトには使用できないようです。(いろいろ実験してみましたが無理でした。うまい方法をご存知の方は是非教えてください。) res以下を使用したい場合は、上記の Is Library
現場で使えるJavaライブラリで紹介しているライブラリはやはり海外製のものがほとんどです。国産のライブラリはAmaterasで開発している自作自演のモノを除くとJSONICとJavassist、それと国産というのか微妙な気がしますがJenkinsの川口さん作のArgs4jの3つだけです(コラムで簡単に触れているだけのものは除く)。 ただ、国産のライブラリで他にも便利なものはありますし、実際企画段階では候補としてあがっていたものもありました。今回は書籍で取り上げることのできなかった国産のJavaライブラリを紹介します。 Fisshplate ExcelにVelocityのようなコマンドを書いておきテンプレートファイルとして使用するという、Excel版テンプレートエンジンとでも呼ぶべきライブラリです。ユニークで実用性も高く、自分も個人・業務を問わずかなりお世話になっています。ただ、原稿を書き始
Groovyでゲーム作りたいなぁと思ったので早速チャレンジです。 ライブラリはJava用のゲームライブラリSlickを使います。これはLWJGLをシンプルにしてゲーム用の機能を足したようなライブラリだそうで、LWJGLを使っています。 まずは環境整備ですが、EclipseにGroovy Eclipseというプラグインを導入したときにGroovyのコンパイラも一緒にインストールすることができます。素敵( ・∀・)イイ!! あとはSlickとLWJGLをダウンロードしてきてEclipseの外部jarにslick.jarとlwjgl.jar、lwjgl_util.jarを追加します。さらにEclipseの実行の設定から実行時引数に Djava.library.path= を追加します。これで設定完了です。 早速チュートリアルを動かしてみると… やった( ・∀・)イイ!!
Igoの時と同じように、Gomoku(0.0.4)とMeCab(0.98)の形態素解析速度を比較してみた。 計時結果 テキストには青空文庫より取得の夏目漱石の『こころ』(x256. 136M. UTF-8)を、辞書にはMeCabのサイトより入手可能なmecab-ipadic-2.7.0-20070801*1を使用。 総処理時間(1)行読み込み時間(2)1 - 2 MeCab34.781s0.134s34.647s Gomoku33.313s0.989s32.324s 例によって適当な比較なので何とも云えないけど、今回測った限りではMeCabよりも速くなっている*2 *3。 計時用のプログラム MeCabの計時に用いたプログラム: /** * ファイル名: mec.cc * コンパイル: g++ -O3 -omec mec.cc `mecab-config --libs` * 計時方法: t
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く