composer エラー Unable to get primary namespace for package

PHP
composer

最近では、PHPの何かをする際に、composerは避けて通れない存在となっていますね。
便利なのですが、よくわからない部分も実はあったりします。

composerの中に、Autoloadという機能があります。
必要なファイルに対して、requireとか書かなくてよくなるので、便利な機能です。ただ、このあたりよくわかっていないので、別の機会に時間があったらちゃんと調べて書きたいと思っています。

Autoloadを更新するために、composer.jsonを書き換えたら、

 composer dumpaotoload

とやって、オートロードを更新する必要があります。

んで、composer dumpaotoloadとやっていても、下記のエラーが出て成功しません。。。

 [RuntimeException]
  Unable to get primary namespace for package cakedc/search.
  Ensure you have added proper 'autoload' section to your plugin's config as
  stated in README on https://github.com/cakephp/plugin-installer

いろいろと考えてみたところ、同じアプリケーションの中に、package cakedc/search.をコピーしてほかの場所に入れちゃっていたのでした…(^_^;

Unable to get primary namespace for package cakedc/search. となるわけですね。

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

contact-form7と、ajaxzip3を使って郵便番号を入力したら住所が入る

WordPress
Javascript

WordPress 「contact-form7」というプラグインと、「ajaxzip3」というjavascriptを使って、郵便番号を入力したら自動で住所が入力されるように設定する

これ、約半日かけてできました。(こんな事を言ったら上司に怒られそうですが…。)

まず、2通りのパターンで、下記サイトからコピーし、テキストエディタに貼り付け、保存します。
# httpサーバの場合
http://ajaxzip3.googlecode.com/svn/trunk/ajaxzip3/ajaxzip3.js

# httpsサーバの場合
https://ajaxzip3.googlecode.com/svn/trunk/ajaxzip3/ajaxzip3-https.js

以下、コードです。

 <head>
 <script src="<?php bloginfo('template_url') ?>/js/jquery.js"></script>
 <script src="<?php bloginfo('template_url') ?>/js/ajaxzip3.js" charset="UTF-8"></script>
 <script type="text/javascript">
 //<![CDATA[
 jQuery(function(){
 AjaxZip3.JSONDATA="http://ajaxzip3.googlecode.com/svn/trunk/ajaxzip3/zipdata";
 jQuery('#zip').keyup(function(event){
 AjaxZip3.zip2addr(this,'','addr','addr');
 })
 })
 //]]>
 </script>
 </head>

後は、以下のコードになるように「contact-form」で設定して下さい。
郵便番号: 
住所  : 

ポイントは、内である「jQuery」内の、(‘#〇〇’)と、郵便番号欄の「input」内の、「id=”〇〇”」を同じにすることです。
同様に、内である「jQuery」内の「AjaxZip3.zip2addr(this,”,’△△’,’△△’);」と、住所の「input」内の、「id=”△△”」を同じにすることです。

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を使いましたが…。