Flex、AIR、Java、Androidなど

Archive for 8月, 2009

Windowsにて遭遇。
プロジェクトのプロパティ > リソース > テキスト・ファイル・エンコードが「コンテナーから継承」になっているので「その他」にチェックを入れ、UTF-8を選択。
これでOK。

コメントは受け付けていません。
Tags:

Webアプリが好きな(というかそれしかできない)私ですが、Twitterはかなり出遅れてしまい今更始めようかというところです。
まあ私は昼間は好きなこと出来るわけではないですし勤め人ですから呟きたくても呟けないこともたくさんあります。それで一度はつぶやくのやめました。なのでそんなに使うとは思えないのですが人の呟きを見るのは面白いので試しにWordpressのコメント欄にTwitterへのリンクを表示できるかやってみました。そのまとめです。
1) プラグイン(WP Twitip ID)のインストール
ここからwp-twitip-id.zipをダウンロード。いつものようにサーバーに配置。管理画面からFTPのアカウント情報入れてインストールでも多分可。
2) アクティベート。
ふつうにアクティベート。
3) 設定
設定 > WP Twitip IDをクリック。Do not use javascript to add the field にチェックを入れる。Link anchor textに画像にマウスを乗せた時にツールチップに表示されるテキストを入力。
PHPタグでリンク付きのテキストを出力させたい場合はそのテキストもここで設定したものになる。
4) 訪問者にTwitterのユーザーネームを入れてもらうフィールドを追加する
comments.phpを開く。inputタグと「名前」や「URL」、「メールアドレス」などのテキストがあるとこらへんが多分フィールド。適当なところに以下のようなタグを挿入。タグの構造やクラス名などはテーマによって全然違うので他のフィールドと同じように囲ってやること。大事なのはname=”atf_twitter_id”の部分だけ。
<p>
<label for=”comment-name”>Twitter screen name </label>
<input name=”atf_twitter_id” value=”" type=”text” style=”width: 230px;” />
</p>
これでフィールドが追加され、ユーザーIDを入力されるとTwitterへのリンクも共に表示される。
5) コメントと共にTwitterへのリンクを表示する
引き続きcomments.phpをいじってコメントと共にTwitterへのリンクを表示するを設定。これは簡単で、表示させたいところに
<?php if(function_exists(wp_twitip_id_show)) { wp_twitip_id_show(“image”); }?>
のようなコードを貼り付けるだけ。wp_twitip_id_showメソッドの引数によって表示が変わるので詳しくは管理画面のプラグインページを参照。
以上。
問題なく設定できればこんな感じになります。

Tags: ,

私が最初にAndroid用に作ってみたアプリが2chのまとめブログのまとめアプリだったのですが、これを改良したものをAndroid Marketに公開しました。
まとめたRSSを表示するだけなら他のサイトをブラウザで見るのと大して変わらないのでアプリにする必要は全くないと思っていましたが、WebViewでUserAgentが偽装できるようになったらしいのでそれと組み合わせてアプリ化して公開しました。
設定で切り替えできますが、デフォルトではURLを内部ぼブラウザで開くようにしてありますので、FC2ブログ等UserAgentのみで表示するページを振り分けているブログでしたら携帯用に最適化されたレイアウトで見ることができます。
また、このブラウザはIntentを聞くようにしてありますので、
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW).setData(Uri.parse(“http://hoge”));
startActivity(intent);
のような形でIntentが発行されるとドロイドあんてな内部ブラウザでリンクを開くこともできます。
使い道は分からないのですが、最近こういう手法が流行っているようなのでやってみました(^^)
フィードに関してですが、これまでは取得、編集、生成全てPerlで書いたのをサーバーのcronで走らせていましたが、今回Google App Engine for Java完結できるようにやってみました。
今のところ問題ありませんし、cronも含め無料でできるのはすごいですね。開発環境はeclipse使えば快適な環境を作れますし、eclipseからプロジェクトを右クリックするだけでデプロイできます。
Perlの場合は何かしようと思ってもCPANからモジュールを入れないとできなかったりするため困ることもあったのですが、App Engineを使える場合は適当なライブラリをフォルダに放り込むだけでいいので楽ですね。
他にもレンタルしているサーバーに置いているスクリプトはたくさんありますが、こちらに関しても移行を進めていこうと思います。

Javaのバージョンは未確認なのですが、Windowsで問題なく動いていたプロジェクトをMacで同じようにデバッグしようとすると以下のようなエラーが。
com.google.apphosting.utils.jetty.JettyLogger warn
警告: failed com.google.apphosting.utils.jetty.DevAppEngineWebAppContext@307ce2{/,/Hoge/hoge/war}
javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found
at javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:113)
at org.mortbay.xml.XmlParser.(XmlParser.java:69)
at org.mortbay.jetty.webapp.WebXmlConfiguration.webXmlParser(WebXmlConfiguration.java:83)
at org.mortbay.jetty.webapp.WebXmlConfiguration.(WebXmlConfiguration.java:78)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at java.lang.Class.newInstance0(Class.java:350)
at java.lang.Class.newInstance(Class.java:303)
at org.mortbay.jetty.webapp.WebAppContext.loadConfigurations(WebAppContext.java:838)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:417)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
at org.mortbay.jetty.Server.doStart(Server.java:217)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
at com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:152)
at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:116)
at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:218)
at com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java:86)
at com.google.gwt.dev.HostedMode.doStartUpServer(HostedMode.java:365)
at com.google.gwt.dev.HostedModeBase.startUp(HostedModeBase.java:590)
at com.google.gwt.dev.HostedModeBase.run(HostedModeBase.java:397)
at com.google.gwt.dev.HostedMode.main(HostedMode.java:232)
探すとありました。
- An error like this:
javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl
not found
at javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:93)
[...]

コメントは受け付けていません。

私のようにファイルシステムの同期をDropbox等で取っていると例えば自宅のMacと会社のWinで同じプロジェクトをいじりたい時、既存のファイルからプロジェクトを生成したくなる時がよくあります。
そういった時、Androidのプロジェクトだとeclipse内にソースからプロジェクトを作れますが、GAEの場合はそういう項目がありません。
また、せっかくファイルの同期を行うのですから同じディレクトリをすでにプロジェクトはワークスペースに存在しているため、そこの同じ名前でプロジェクトを作成することもできません。
結構イライラしたのですが解決したので整理しつつメモ。
1) Dropbox等で常に複数のPCでeclipseが使うワークスペース内のファイルが同期されている状態
2) 会社のWinでeclipseからGAEプロジェクトを新規に作成
3) 帰宅後、Macのeclipseが使うワークスペースにも会社のWinで編集したプロジェクトが保存されている
4) Macのeclipseでも同じディレクトリを使って作業したい、ので同ディレクトリをeclipseに認識させたい
5) メニュー > インポート > 一般 > 既存プロジェクトをワークスペースへ > ルート・ディレクトリーの選択
これで既にワークスペース内の同名のプロジェクトをeclipseに認識させることができますので、後は弄るたびに同期されうれしいです。
cronもできるようなのでこれまでに書いてきたPerlのスクリプトをGAE+Javaに移行させようとやっているのですが相変わらず色々めんどいですねえ。
まあ盆はずっと休みで何日かは時間がとれそうなのでその時にでもやろうと思います。


Categories

 

2009年8月
« 7月   9月 »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

About

Author: tachibana

  • ちょっとしたことはTwitterに書いています。こっちはアプリの公開等の時に更新されます。
  • 最近はもっぱらJavaとObjective Cです。AS3は飽きました。
  • スクリプト言語ではPerlが好きでしたが最近はGAE/Jで何でもやってます。
  • Linuxは自宅サーバー建てるのがやっとのレベルです。前の会社で何日も徹夜してやったのはいい思い出です。
  • アプリへのご要望などご意見等ありましたらお気軽にご連絡下さい。

Alternative content here