com.google.android.gms.location.LocationClientがimportできない

Android

com.google.android.gms.location.LocationClientがimportできない

Google Play Service Libraryも最新だし、ちゃんと読みこめているのに、com.google.android.gms.location.LocationClientだけが読み込めない…。

 The import com.google.android.gms.location.LocationClient cannot be resolved

こんな事態に陥りました。
下記のサイトなども見てみて、やれることはやったのですが…

http://stackoverflow.com/questions/27459519/the-import-com-google-android-gms-location-locationclient-cannot-be-resolved

Google Play Service Libraryも最新なのに!

…しかし、どうやらそれが落とし穴だったようです…

下記サイトによると、com.google.android.gms.location.LocationClientはDeprecateされてしまったので、もう使えないそうな。

http://stackoverflow.com/questions/28017931/import-com-google-android-gms-location-locationclient-cannot-be-resolved

ハァ???(・A・)
com.google.android.gms.location.LocationClientって、出てきたの比較的最近な気がするんですけど?!
確かに、最近ドキュメント見たらDeprecatedって書いてあったとは思うんですけど!!!

あまりにひどい。
Googleが暴君すぎます。
「ジョジョ~ 俺はAndroidの開発をやめるぞッ!」
と捨て台詞を残してその場を去りたくなりますね(つД`)

まぁ、とりあえずすぐに直せないので、社内にあった古いバージョンのGoogle Play Service Libraryを使いましたが…。

com.google.android.c2dm.C2DMessagingがインポートできない

Android

com.google.android.c2dm.C2DMessagingがインポートできない

Androidアプリで、簡単なメッセージを送信できる機能を
C2DM(Cloud to Device Messaging)
と言います。

その開発の際に、サンプルなどではよくcom.google.android.c2dm.C2DMessagingを利用して作ろう!となっていますが、いざ

 import com.google.android.c2dm.C2DMessaging;

とやりますと、importできません。

外部のjarファイルがないからなどという話もWeb上にはありますが、とりあえず手っ取り早い解決方法はchrometophoneというアプリのソースコードが公開されているので、これからコピーする方法です。(^_^;

  • 下記のサイトで配布されています。

http://code.google.com/p/chrometophone/source/checkout

  • 書いてあるように

http://chrometophone.googlecode.com/svn/trunk/ chrometophone-read-only
からSVNでチェックアウトしてファイルを取得
中のandroid>c3dm内を、利用したいアプリのソースコード内にコピー

ちなみにC2DMは2012年6月26日にデプリケイトされ、GCM(Google Cloud Messaging)というものに移行するそうです。(>_<) これからはGCMを勉強しましょう! http://developer.android.com/guide/google/gcm/index.html

cms

cmsとは

コンテンツマネージメントシステムの略です。

コンテンツマネジメントシステム(英: Content Management System, CMS)は、Webコンテンツを構成するテキストや画像などのデジタルコンテンツを統合・体系的に管理し、配信など必要な処理を行うシステムの総称。2005年頃より一般的に普及したといわれる。コンテンツ管理システムとも呼ばれる。

詳しくはWikipediaで。

ccApp.exe が応答しませんというメッセージ

Windows セキュリティー

電源を切る時や再起動の時、「ccApp.exe が応答しません」というメッセージが表示されてすぐに切ることができない。

これ、Norton AntiVirusのせいです。
このメッセージが表示された場合、以下のいずれかの方法で解決されるそうです。

  • コンピュータが作業を完了するまでしばらく待つ。
  • [今すぐ終了] ボタンをクリックしてプログラムを終了する。

Norton AntiVirus のメインのホストファイルである ccApp.exe が、実行中のすべてのプロセスを終了している過程で表示されるものです。
ccApp.exe ファイルは終了に時間がかかることがあります。特にコンピュータが前回の起動プロセスを完了する前にシャットダウンした場合に時間がかかります。

何かしらの問題があることを示唆するものではないようですが、頻繁に起こるようでしたら次のシマンテックのサイトを参考にして、

  1. LiveUpdate を実行する
  2. 一時フォルダ内を空にする

などの方法を試みてみましょう。

http://service1.symantec.com/SUPPORT/INTER/navjapanesekb.nsf/jp_docid/20030815092703958

case expressions must be constant expression

Android

前に作っていたAndroidプロジェクトをEclipse(ADT)で開くと、

 
 public void onClick(View v) {
        Intent i;
        switch (v.getId()) {
            case R.id.action_1:
                this.startRecord(Construct.STATUS_1);
                this.setInfoText();
 …後略

のような、case 文 + R.id の組み合わせで表題のエラーが。

 case R.id.action_1:

出てくるウィンドウの注意書きを見ると、case 文ではダメなので、if文に書き直してねーということらしい。(ちょっと端折りました)

でも、これかなりの数この表現で書いてあって、if ~ elseに直すの?絶望的[sad] と思っていたら、Stack Overflowにいいこと書いてありました![smile]

http://stackoverflow.com/questions/9092712/switch-case-statement-error-case-expressions-must-be-constant-expression

プロジェクトのプロパティ→Android→LibraryのIs Libraryのチェックを外せば行ける、と!

事実、これで動作するようになりました。
ありがとうございます!