osmbonuspack Error Error converting bytecode to dex

Android

osmbonuspackのバージョンを6.1から6.3に変更したところ

 dependencies {
 
    compile fileTree(dir: 'libs', include: '*.jar')
    compile 'com.google.android.gms:play-services:6.1.+'
    compile project(':ratethisapp')
 
    compile 'com.github.MKergall:osmbonuspack:6.3'
 
 }

Error:Error converting bytecode to dex: Cause: com.android.dex.DexException: Multiple dex files define Lorg/osmdroid/tileprovider/tilesource/bing/BingMapTileSource

ってエラーが出て、ビルドできなくなってしまいました(>_<) ググっても全然情報なく… ハタと気づいたことは、libsの中に

 osmdroid-third-party-4.2.jar

ってのがあって、これを消したら無事ビルドできるようになりました(^_^)

officeを不正でなく無料で使う方法

Microsoft Office

無料で使うマイクロソフトOffice

ここでは、あまり知られていないマイクロソフト office製品を無料で使う方法
と無料でインストールできる代替ソフトを紹介します。
※注意 ここで紹介する内容は不正ライセンスでのOfficeインストール方法などではありません

  • 今すぐマイクロソフト Officeを使いたい>#k45ad899
  • マイクロソフトOfficeで作られたファイルの閲覧だけ無料でしたい。>#c4c01363
  • 継続的にOffice製品を使いたいが無料でなんとかしたい。>#n00817aa

●今すぐマイクロソフト Officeを使いたい

インストールする場合

マイクロソフトでは試用期間60日間の間は、無料でOfficeをインストールできます。
※マイクロソフトも昨今では代替となるツールが出始めているので対応策として必死なんでしょうね。。。

是非、買う前に試してみましょう

Microsoft Office Online(体験版のダウンロードページ)

体験版が提供されている製品は、「Word」「Excel」「Outlook」「PowerPoint」「Access」「Publisher」を含む「Microsoft Office Professional 2007」。
また、Professional版に含まれない「OneNote」「Visio」などは、単体での体験版が提供されている。
なお、同一製品のパッケージ版を購入したときは、パッケージ同梱のプロダクトキーを体験版へ入力すれば、製品版としてそのまま継続利用することが可能。
※ 他のoffice製品(各バージョン)もマイクロソフトは体験版を配布しています。

⇒以下のような希望を持っている方にはうってつけではないでしょうか

  • -会社のPCで作ったプレゼン資料を編集したいが、自宅PCにはPowerPointがインストールされていない。編集ができなくて困っている
  • -今すぐに必要ないが、とりあえずoffice製品で試してみたいソフトがある。
  • -プレゼンテーションをPowerPointで行いたい。たぶん今後は使わないと予想しているので短期間だけ無料で使えるようにならないか

インストールしない場合

インストールしない場合でもネットサービスがある 互換ネットサービス>#u5b540f5]] [[Microsoft社のネットサービス>http://www.guava4.me/entry/office-online-microsoft-free※MicrosoftIDが必要です

●マイクロソフトOfficeで作られたファイルの閲覧だけ無料でしたい。

マイクロソフトは、閲覧だけであれば各Officeで作成された内容を閲覧できるビューワーを配布しています。
特に編集の必要がない場合にはご利用してみては如何でしょうか
こちらのページから、タブ[ダウンロード]を選択して、ページ中ほどにある[製品別ダウンロードの参照]
から閲覧したいoffice製品を選択していってください。

※多くのOffice製品はビューワーを用意していますが、Accessなどは用意されていません。
Accessは、アプリケーション特性としてDBなので閲覧だけするというニーズをサポートするようなプログラムを作りずらいのかもしれません。

⇒以下のような希望を持っている方にはうってつけではないでしょうか

  • -得意先・友人から送られてくるofficeで作られたファイルを閲覧だけしたい。
  • -PowerPointで作ったファイルをメール添付して送信したいが、相手がPowerPointをインストールしているか不安がある。

●継続的にOffice製品を使いたいが無料でなんとかしたい。

Microsoftオフイスを無料で継続して使う>#noinstallas1s21

Office互換ソフトをPCにインストールして対応する

Officeの代替製品として、OpenOfficeという製品があります。
無料で使える代替officeとして、地位を確立しつつありますので
ぜひどうしてもofficeを無料でインストールしたいと考えている方は試してみてはどうでしょうか

詳細はこちらを参照>OpenOffice

⇒以下のような希望を持っている方にはうってつけではないでしょうか

  • -うちは中小企業で設備投資にお金をかけたくない。使うかどうか分からないOffice製品を買うのはためらう
  • -友達から不正ライセンスであると知りながらofficeをインストールし続けている。最近は、不正ライセンスの摘発もあるのでなんとかしたい
  • -とにかくマイクロソフト製品が嫌い

ネット上でoffice関連の閲覧・加工・作成を行う

ネット上にofficeファイルをアップロードして閲覧・加工・作成ができるサービスがいくつかありますのでこちらで紹介します。
どちらも無料で使用可能です。

ワード、エクセルに対応しており、Google IDが登録済みであればスグに利用可能

ワード、エクセル、パワーポイントに対応しており、が登録済みであればスグに作成可能。同サービス専用のID登録が必要。2007年8月現在はベータ版でのサービス公開となっており、2007年11月に正式版リリース予定

コメント

objective-cにおける空文字・nilチェック

iPhone
objective-cにおける空文字+nilチェックは
if ([value length])
{

    // 文字が存在する場合

}
else
{

    // 空文字またはnilの場合

}

というような感じで行ける。valueにnilが入ってきた場合は0が戻り値になる言語仕様です。
またif文に0が入ってきた場合はfalse扱いになります。

nullでJSON Exceptionになるのを避ける

Android
Java

APIなどを作っているときに、やたらとJSON Exceptionが起こるので、イヤになっちゃう人もいるはず…

たとえば、intが返ってくるはずだったAPIがnullだったりすると、

json.JSONException: Value null at weight of type org.json.JSONObject$1 cannot be converted to int

となって、JSONExceptionがおこっちゃいます。

次のようにしてもムダです。

 JSONObject row = delivery_array.getJSONObject(i);
 if(row.getInt("weight")!=null) {
        weight = row.getInt("weight");
 }
 row.getInt("weight")

の時点でweightがnullだとJSONExceptionになっちゃうからです。

この値はnullになりそうだ、という場合は先にisNullでnullじゃないかを判定しておきましょう。

 JSONObject row = delivery_array.getJSONObject(i);
 if(!row.isNull("weight")) {
        weight = row.getInt("weight");
 }

追記(2016/11/15)というよりこっから先のほうが参考になるかも

実は、JSONObjectにoptStringとかoptIntという関数があるようです!

https://developer.android.com/reference/org/json/JSONObject.html#optString(java.lang.String)

知らなかったー!!
これを使えば、このキーのJSON自体が存在しない場合、nullなどを返してくれるので、JSONExceptionでブチ落ちて即死という事態を防げます。

(参考)JSON: the difference between getString() and optString()
http://stackoverflow.com/questions/13790726/json-the-difference-between-getstring-and-optstring/13790789

Googleのサンプルコード見てて、この関数の存在に気づきました。