takaiwa.net

Android、Java、Web系、Linux、マラソン等の備忘録

2013/10/28

項目にアイコンを表示するAlertDialog.Builderのダイアログ

0 件のコメント
Androidアプリ中に、AlertDialog.Builderを使って、いろいろな場面でダイアログを表示させてると、処理をまとめたくなるわけですが、あと、アイコンなんかも表示したいなと、


ググってたらスマートなやり方(下記Tom Esterez氏の回答)がありました。
・android - how to add icon in alert dialog before each item? - Stack Overflow
http://stackoverflow.com/questions/3920640/how-to-add-icon-in-alert-dialog-before-each-item
itemsの中身を代えてやれば、簡単に項目の追加削除が行えますね。使い回せそうなクラスが割りと完結に書けたので、アイコンなしバージョンも合せてメモしておきます。

2013/10/09

Androidプロジェクトの実行時にDx warningやConversion to Dalvik format failedと言われてしまう件

0 件のコメント
まだちょっとよく分かってないのですが、メモを残しておきます。

AndroidプロジェクトのlibディレクトリにいくつかJarファイルを追加して、実行しようとするとEclipseのコンソールに以下のようなメッセージが表示されてしまう現象なのですが、
[2013-10-09 21:59:20 - HogePj] Dx warning: Ignoring InnerClasses attribute for an anonymous inner class
(org.htmlparser.beans.BeanyBaby$1) that doesn't come with an
associated EnclosingMethod attribute. This class was probably produced by a
compiler that did not target the modern .class file format. The recommended
solution is to recompile the class from source, using an up-to-date compiler
and without specifying any "-target" type options. The consequence of ignoring
this warning is that reflective operations on this class will incorrectly
indicate that it is *not* an inner class.
同じようなエラーが、
  • org.apache.commons.httpclient
  • org.apache.commons.logging
についても表示されています。あと、コンソールの最後に
[2013-10-09 22:06:17 - Dex Loader] Unable to execute dex: Multiple dex files define Lorg/htmlparser/util/SimpleNodeIterator;
[2013-10-09 22:06:17 - HogePj] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lorg/htmlparser/util/SimpleNodeIterator;

と表示されていました。検索してみると、プロジェクトのクリーンがうまくいってない感じの記事がヒットします。
・"Conversion to Dalvik format failed with error 1" の解決策 - 某ソフト作者の開発日記
http://d.hatena.ne.jp/halts/20120516/1337170409
こちらのやり方を試してみましたが、ダメでした。
・java - Android - Apache commons libraries & Exchange Web Service Managed API - Stack Overflow
http://stackoverflow.com/questions/8524208/android-apache-commons-libraries-exchange-web-service-managed-api
Ansdroid already contains commons-http (not sure which version is used, but it is 4 or better), so you have to ensure that your build process does not pack aleready contained jars into apk.
こちらに、commons-httpは既に入ってるという風に書かれているのをヒントに、以下の対応を行いました。
  • htmlparser.jarとhtmllexer.jar → libsから別ディレクトリへ移動させ、ビルドパスへ外部JARとして適用
  • commons-httpclient.jar → libsから削除
  • commons-logging.jar → libsから削除
この対応で、プロジェクトをクリーンしてビルドすると警告等出なくなり、起動できました(゜∀。)

2013/10/02

猫が1歳くらいになったのとこの1年を振り返って

0 件のコメント
昨年10月末に猫を拾ったときが、推定1ヶ月だったので、

拾った日

たぶん1歳くらいになりました。

最近

エサ

エサを12ヶ月までの子猫用から、


普通のエサにしました。


子ねこ用に比べ、他にも種類があったのですが、マグロと野菜味にしてみました。