2013年4月21日日曜日

PHP 5.3でCakePHP 1.3が動作しない。

標題の通り、PHP 5.3でCakePHP 1.3を動かそうとすると下記のようなエラーが出て動きません。

PHP Fatal error:  Call to a member function cd() on a non-object

app/config/core.phpのdate_default_timezone_setを設定すると解決します。

date_default_timezone_set('Asia/Tokyo');

2012年10月11日木曜日

Androidでボリュームキーのビープ音を消す

該当Activity内でdispatchKeyEvent(KeyEvent event)をOverrideします。

調べてみるとキーがUpするときにビープ音が呼ばれているようですので、
Up時にはtrueを返して以降の処理をさせないようにします。

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
  
  switch(event.getKeyCode()) {
    
    case KeyEvent.KEYCODE_VOLUME_UP:
      if(event.getAction() == KeyEvent.ACTION_UP) {
        return true;
      }
      break;
    case KeyEvent.KEYCODE_VOLUME_DOWN:
      if(event.getAction() == KeyEvent.ACTION_UP) {
        return true;
      }
      break;
      
  }
  
  super.dispatchKeyEvent(event);
  
  return false;
}

2012年7月8日日曜日

IntentServiceでjava.lang.NullPointerExceptionが出る

IntentServiceを使用してバックエンドで動作する機能を実装していたら標題の件で、半日悩むことになった。

原因はオーバーライドしたonCreateの中で親のonCreate(super.onCreate())が呼ばれてなかったため。

まぬけだ。

基底クラスによっては呼ばなくても良い場合もあるのでついつい忘れがちになるが、IntentServiceではNullPointerExceptionになるので必ず呼ぶ必要がある。


@Override
public void onCreate()
{
 // 初期化の処理
 
 super.onCreate();
}

参照元: stackoverflow

2012年7月4日水曜日

Androidでpdfファイルを開く

開きたいpdfファイルがローカルなファイルシステム上にある場合。

File file = ("ファイルのパス"); 
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file://"+file.getPath()), "application/pdf"); 
startActivity(intent); 

開きたいpdfファイルがインターネット上にある場合。

String url = "pdfファイルのurl";
Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setDataAndType(Uri.parse("http://docs.google.com/viewer?url=" + url), "text/html");
startActivity(intent);

ちなみに、AndroidのAdobe Readerでは、urlを指定してインターネット上のpdfファイルを開くことできない、たぶん。

 参照元: stackoverflow

2012年6月18日月曜日

Android SDKとAptana+ADTをアップグレードしたらjava.lang.NoClassDefFoundErrorが出るようになった。

現象としては、projectをビルドする際に関連jarファイルへのリンクが正しく行われないために、実行時にjava.lang.NoClassDefFoundErrorが発生する。 

結論から言うと、project内のjarファイルを格納したフォルダの名前に原因あり。 

上記のフォルダ名をデフォルトのlibsという名前に変更して、再度jarファイルをプロジェクトに追加しなおすと 問題は解消される

参照元: stackoverflow