<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9181692917364401504</id><updated>2011-09-10T16:43:55.082+09:00</updated><category term='GAE'/><category term='Slim3'/><category term='JDO'/><category term='WineStamp'/><category term='AR Quoits'/><title type='text'>NaPandaサポート</title><subtitle type='html'>NaPanda製作のiPhoneアプリ「WineStamp」「AR Quoits」「SuggestChain」のサポートページです。</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://napanda.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://napanda.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>panda</name><uri>http://www.blogger.com/profile/11896271854089511538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_z7zhqI8mCjI/SbtmUXeXqBI/AAAAAAAAAAM/V2RI5yte1lw/S220/buta1.PNG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9181692917364401504.post-3627749450783201691</id><published>2011-09-10T12:26:00.007+09:00</published><updated>2011-09-10T16:43:55.120+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JDO'/><category scheme='http://www.blogger.com/atom/ns#' term='GAE'/><category scheme='http://www.blogger.com/atom/ns#' term='Slim3'/><title type='text'>JDOで作成した単純なDataStoreをSlim3に移行してみた</title><content type='html'>GAEの値上げもあり、思い切ってSlim3に移行を試しましたのでその内容です。&lt;br /&gt;&lt;br /&gt;通常Slim3使う場合はblankプロジェクトを使って作っていくようですが、もうすでにあるプロジェクトをSlim3に移行したかったので下記を参考にさせていただきました。&lt;br /&gt;&lt;a href="http://songofcloud.gluegent.com/2009/11/slim3-datastore2.html"&gt;http://songofcloud.gluegent.com/2009/11/slim3-datastore2.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;試しに移行してみたのは２つのkindです。&lt;br /&gt;&lt;br /&gt;---- Alert ---------移行前 自動でキーのIDが振られるタイプ&lt;br /&gt;package com.hayato.dstest;&lt;br /&gt;&lt;br /&gt;import javax.jdo.annotations.*;&lt;br /&gt;&lt;br /&gt;@PersistenceCapable(identityType = IdentityType.APPLICATION, detachable="true")&lt;br /&gt;public class Alert {&lt;br /&gt; @PrimaryKey&lt;br /&gt; @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)&lt;br /&gt; private Long alertId;&lt;br /&gt; @Persistent&lt;br /&gt; private String userId;&lt;br /&gt; @Persistent&lt;br /&gt; private String message;&lt;br /&gt; &lt;br /&gt; public Alert(String userId, String message) {&lt;br /&gt;  this.userId = userId;&lt;br /&gt;  this.message= message;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public Long getAlertID() {&lt;br /&gt;  return alertId;&lt;br /&gt; }&lt;br /&gt; public String getUserId() {&lt;br /&gt;  return userId;&lt;br /&gt; }&lt;br /&gt; public void setUserId(String userId) {&lt;br /&gt;  this.userId = userId;&lt;br /&gt; }&lt;br /&gt; public String getMessage() {&lt;br /&gt;  return message;&lt;br /&gt; }&lt;br /&gt; public void setMessage(String message) {&lt;br /&gt;  this.message= message;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;---- TestUser ---------移行前 StringのIDをキーで指定するタイプ&lt;br /&gt;package com.hayato.dstest;&lt;br /&gt;&lt;br /&gt;import javax.jdo.annotations.*;&lt;br /&gt;&lt;br /&gt;@PersistenceCapable(identityType = IdentityType.APPLICATION, detachable="true")&lt;br /&gt;public class TestUser {&lt;br /&gt; @PrimaryKey&lt;br /&gt; @Persistent&lt;br /&gt; private String userId;&lt;br /&gt; @Persistent&lt;br /&gt; private String email;&lt;br /&gt; &lt;br /&gt; public TestUser(String userId, String email) {&lt;br /&gt;  this.userId = userId;&lt;br /&gt;  this.email= email;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public String getUserId() {&lt;br /&gt;  return userId;&lt;br /&gt; }&lt;br /&gt; public void setUserId(String userId) {&lt;br /&gt;  this.userId = userId;&lt;br /&gt; }&lt;br /&gt; public String getEmail() {&lt;br /&gt;  return email;&lt;br /&gt; }&lt;br /&gt; public void setEmail(String email) {&lt;br /&gt;  this.email= email;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;JDOの場合は、次のような操作でした。&lt;br /&gt;&lt;br /&gt;-----------作成&lt;br /&gt;PersistenceManager pm = PMF.createManager();&lt;br /&gt;TestUser user = new TestUser("123", "abc");&lt;br /&gt;try {&lt;br /&gt; pm.makePersistent(user);&lt;br /&gt;} catch (Exception e) {&lt;br /&gt; // error&lt;br /&gt;} finally {&lt;br /&gt; pm.close();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;-----------取得、変更&lt;br /&gt;PersistenceManager pm = PMF.createManager();&lt;br /&gt;try {&lt;br /&gt; TestUser user = pm.getObjectById(TestUser.class, "123");&lt;br /&gt; user.setEmail("upd");&lt;br /&gt;} catch (JDOObjectNotFoundException e) {&lt;br /&gt; // not found&lt;br /&gt;} finally {&lt;br /&gt; pm.close();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;-----------クエリ&lt;br /&gt;PersistenceManager pm = PMF.createManager();&lt;br /&gt;try {&lt;br /&gt; Query query = pm.newQuery(Alert.class);&lt;br /&gt; query.setFilter("userId == :pUserId");&lt;br /&gt; List&lt;Alert&gt; alerts = (List&lt;Alert&gt;)query.execute("123");&lt;br /&gt; for (Alert alert : alerts)&lt;br /&gt; // 処理&lt;br /&gt;} catch (Exception e) {&lt;br /&gt; // error&lt;br /&gt;} finally {&lt;br /&gt; pm.close();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;これを、なるべく手間をかけずに移行します。&lt;br /&gt;まずはSlim3のjar等を設定します。これは一番上で紹介したサイトに載ってます。&lt;br /&gt;で、kindを修正するわけですが、ここでプライマリキーの扱いについて注意が必要です。&lt;br /&gt;JDOの方ではオートナンバーのLongや任意指定のStringをキーにできましたが、これをKey型に変更しないといけません。このKey型ですが、DataStore上でEntityを識別するための一意のKey値と、Long型の値もしくはString型の値の２つを保持します。&lt;br /&gt;&lt;br /&gt;Key値&lt;br /&gt;　├──────┐&lt;br /&gt;Long値　String値&lt;br /&gt;&lt;br /&gt;こんな感じです。&lt;br /&gt;今回の例ですと、AlertがLong値を使い、TestUserがString値を使うようにします。&lt;br /&gt;&lt;br /&gt;これらを考慮して変更すると、&lt;br /&gt;&lt;br /&gt;---- Alert ---------移行後 自動でキーのIDが振られるタイプ&lt;br /&gt;package com.hayato.dstest;&lt;br /&gt;&lt;br /&gt;import org.slim3.datastore.Attribute;&lt;br /&gt;import org.slim3.datastore.Datastore;&lt;br /&gt;import org.slim3.datastore.Model;&lt;br /&gt;import com.google.appengine.api.datastore.Key;&lt;br /&gt;&lt;br /&gt;@Model(kind = "Alert", schemaVersion = 1)&lt;br /&gt;public class Alert {&lt;br /&gt; @Attribute(primaryKey = true)&lt;br /&gt; private Key alertId;&lt;br /&gt; private String userId;&lt;br /&gt; private String message;&lt;br /&gt; &lt;br /&gt; public static Key createKey(Long alertId) {  &lt;br /&gt;  return Datastore.createKey(Alert.class, alertId);  &lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public Alert() {&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public Alert(String userId, String message) {&lt;br /&gt;  this.userId = userId;&lt;br /&gt;  this.message= message;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public Key getAlertId() {&lt;br /&gt;  return alertId;&lt;br /&gt; }&lt;br /&gt; public void setAlertId(Key alertId) {&lt;br /&gt;  this.alertId = alertId;&lt;br /&gt; }&lt;br /&gt; public String getUserId() {&lt;br /&gt;  return userId;&lt;br /&gt; }&lt;br /&gt; public void setUserId(String userId) {&lt;br /&gt;  this.userId = userId;&lt;br /&gt; }&lt;br /&gt; public String getMessage() {&lt;br /&gt;  return message;&lt;br /&gt; }&lt;br /&gt; public void setMessage(String message) {&lt;br /&gt;  this.message= message;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;---- TestUser ---------移行後 StringのIDをキーで指定するタイプ&lt;br /&gt;package com.hayato.dstest;&lt;br /&gt;&lt;br /&gt;import org.slim3.datastore.Attribute;&lt;br /&gt;import org.slim3.datastore.Datastore;&lt;br /&gt;import org.slim3.datastore.Model;&lt;br /&gt;import com.google.appengine.api.datastore.Key;&lt;br /&gt;&lt;br /&gt;@Model(kind = "TestUser", schemaVersion = 1)&lt;br /&gt;public class TestUser{&lt;br /&gt; @Attribute(primaryKey = true)&lt;br /&gt; private Key userId;&lt;br /&gt; private String email;&lt;br /&gt; &lt;br /&gt; public static Key createKey(String userId) {  &lt;br /&gt;  return Datastore.createKey(TestUser.class, userId);  &lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public TestUser() {&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public TestUser(String userId, String email) {&lt;br /&gt;  this.userId = createKey(userId);&lt;br /&gt;  this.email= email;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public Key getUserId() {&lt;br /&gt;  return userId;&lt;br /&gt; }&lt;br /&gt; public void setUserId(Key userId) {&lt;br /&gt;  this.userId = userId;&lt;br /&gt; }&lt;br /&gt; public String getEmail() {&lt;br /&gt;  return email;&lt;br /&gt; }&lt;br /&gt; public void setEmail(String email) {&lt;br /&gt;  this.email= email;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;こうなりました。ポイントとしては、プライマリキーがKey型に変更されたこと、もともとのLong値やString値からKeyオブジェクトを生成するためのcreateKeyというメソッドを追加したことです。&lt;br /&gt;で、使い方は以下のように変わります。&lt;br /&gt;&lt;br /&gt;-----------作成&lt;br /&gt;try {&lt;br /&gt; Alert alert = new Alert("123", "test message");  // &lt;-Keyは指定してない&lt;br /&gt; Datastore.put(alert);&lt;br /&gt;&lt;br /&gt; TestUser user = new TestUser("123", "test@test.com");  // "123"がKey&lt;br /&gt; Datastore.put(user);&lt;br /&gt;} catch (Exception e) {&lt;br /&gt; // error&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;-----------取得、変更&lt;br /&gt;try {&lt;br /&gt; Alert alert = Datastore.get(Alert.class, Alert.createKey(1L));&lt;br /&gt; TestUser user = Datastore.get(TestUser.class, TestUser.createKey("123"));&lt;br /&gt;&lt;br /&gt; // alertのプライマリキーを取得するには次のコード&lt;br /&gt; Long alertId = alert.getAlertId().getId();&lt;br /&gt; // TestUserのプライマリキーを取得するには次のコード この場合は"123"だけど&lt;br /&gt; String userId = user.getUserId().getName();&lt;br /&gt;&lt;br /&gt; alert.setMessage("update message");&lt;br /&gt; Datastore.put(alert);&lt;br /&gt;} catch (EntityNotFoundRuntimeException e) {&lt;br /&gt; // not found&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;-----------クエリ&lt;br /&gt;try {&lt;br /&gt; AlertMeta alertMeta = AlertMeta.get();  // AlertMetaは、Slim3のジェネレータが自動作成したクラス&lt;br /&gt; List&lt;Alert&gt; alerts = Datastore.query(alertMeta)&lt;br /&gt;    .filter(alertMeta.userId.equal("123"))&lt;br /&gt;    .asList();&lt;br /&gt; for (Alert alert : alerts) {&lt;br /&gt;  // 処理&lt;br /&gt; }&lt;br /&gt;} catch (Exception e) {&lt;br /&gt; // error&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;これで一応動きました。まだ動いたというレベルですので何かしら問題がある可能性もあります。&lt;br /&gt;動かしてみて気づいた点&lt;br /&gt;・Key値を指定しないでputするとJDOのIdGeneratorStrategy.IDENTITYと同じ動きをするようだ。&lt;br /&gt;・JDOではgetObjectByIdで取得してデータを変更するとDataStore上も変更されたが、Slim3では変更後にputしないと反映されない。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9181692917364401504-3627749450783201691?l=napanda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://napanda.blogspot.com/feeds/3627749450783201691/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://napanda.blogspot.com/2011/09/jdodatastoreslim3.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/3627749450783201691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/3627749450783201691'/><link rel='alternate' type='text/html' href='http://napanda.blogspot.com/2011/09/jdodatastoreslim3.html' title='JDOで作成した単純なDataStoreをSlim3に移行してみた'/><author><name>panda</name><uri>http://www.blogger.com/profile/11896271854089511538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_z7zhqI8mCjI/SbtmUXeXqBI/AAAAAAAAAAM/V2RI5yte1lw/S220/buta1.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9181692917364401504.post-5125847708482078752</id><published>2010-05-01T12:06:00.003+09:00</published><updated>2010-05-01T12:09:25.271+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WineStamp'/><category scheme='http://www.blogger.com/atom/ns#' term='AR Quoits'/><title type='text'>期間限定で無料です！AR わなげ</title><content type='html'>ＤＬ数の違いをみたかったので５月いっぱいまで無料にしてみました。&lt;br /&gt;ぜひお試しください。&lt;br /&gt;&lt;br /&gt;WineStampも値段下げました。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9181692917364401504-5125847708482078752?l=napanda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://napanda.blogspot.com/feeds/5125847708482078752/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://napanda.blogspot.com/2010/05/ar.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/5125847708482078752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/5125847708482078752'/><link rel='alternate' type='text/html' href='http://napanda.blogspot.com/2010/05/ar.html' title='期間限定で無料です！AR わなげ'/><author><name>panda</name><uri>http://www.blogger.com/profile/11896271854089511538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_z7zhqI8mCjI/SbtmUXeXqBI/AAAAAAAAAAM/V2RI5yte1lw/S220/buta1.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9181692917364401504.post-8964020067627374156</id><published>2009-12-14T21:16:00.004+09:00</published><updated>2009-12-14T21:38:11.315+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AR Quoits'/><title type='text'>ようやくリリース！　ARわなげ</title><content type='html'>長かった・・・&lt;br /&gt;ようやくリリースされました。&lt;br /&gt;もともと審査通すつもりはなかったんですが、リジェクト繰り返すうちにだんだん意地になってきてしまいました（笑）。&lt;br /&gt;&lt;br /&gt;結局審査７回目でリリースでした。&lt;br /&gt;はじめの提出が４月２４日なので７ヶ月とちょっとかかりました。&lt;br /&gt;６回目のリジェクトが致命的なリジェクトだったため、お蔵入り決定していたのですが他のアプリで同じ理由でリジェクトされていたものが通り始めたようだったので、ダメ元でアップルに「ねぇ～、こっちのアプリＯＫみたいなんだけどもう一回審査出したら通ったりする？」のようなメール出したところ、「おー、審査してやるからも一回提出しなさいよ」みたいな返事がきたので早速提出したら１０日でリリースになりました。&lt;br /&gt;&lt;br /&gt;ただ、当初の予想通り作った当時よりも動きがカクカクしてます。現時点ではこのあたりが限界のようです。&lt;br /&gt;&lt;br /&gt;あと３本くらいアプリのアイデアがあるのでようやくそちらに取りかかろうと思います。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9181692917364401504-8964020067627374156?l=napanda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://napanda.blogspot.com/feeds/8964020067627374156/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://napanda.blogspot.com/2009/12/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/8964020067627374156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/8964020067627374156'/><link rel='alternate' type='text/html' href='http://napanda.blogspot.com/2009/12/blog-post.html' title='ようやくリリース！　ARわなげ'/><author><name>panda</name><uri>http://www.blogger.com/profile/11896271854089511538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_z7zhqI8mCjI/SbtmUXeXqBI/AAAAAAAAAAM/V2RI5yte1lw/S220/buta1.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9181692917364401504.post-2255925327765755062</id><published>2009-08-06T21:04:00.003+09:00</published><updated>2009-08-09T11:46:27.045+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AR Quoits'/><title type='text'>ARわなげの審査　４回目</title><content type='html'>またダメでした～（笑）&lt;br /&gt;iPhone 3.0用にしてUIImagePickerをまったくいじらないようにして作ったんですがこれまでと同じ理由でダメでした。しかし今回は「iPhone3.1でカメラAPIが増えたから見てみて」みたいなコメントが追加してあったので、それを信じてiPhone3.1用に修正して提出してみます。&lt;br /&gt;それにしても今回は６月９日に提出してようやく結果が出たので約２ヶ月近い審査期間でした。次回もこんなんだったらどうしよう・・・&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9181692917364401504-2255925327765755062?l=napanda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://napanda.blogspot.com/feeds/2255925327765755062/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://napanda.blogspot.com/2009/08/ar.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/2255925327765755062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/2255925327765755062'/><link rel='alternate' type='text/html' href='http://napanda.blogspot.com/2009/08/ar.html' title='ARわなげの審査　４回目'/><author><name>panda</name><uri>http://www.blogger.com/profile/11896271854089511538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_z7zhqI8mCjI/SbtmUXeXqBI/AAAAAAAAAAM/V2RI5yte1lw/S220/buta1.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9181692917364401504.post-8744770693700552187</id><published>2009-05-19T20:30:00.002+09:00</published><updated>2009-05-19T20:33:24.029+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AR Quoits'/><title type='text'>ARわなげの審査　３回目</title><content type='html'>またまたダメでした（笑）&lt;br /&gt;&lt;br /&gt;UIImagePickerControllerの「Take Picture」の部分を消してるだけなんですけどね。&lt;br /&gt;iPhone3.0のUIImagePickerはそういうのが無いので、OS3.0が正式リリースされてからOS3.0用アプリとして申請してみます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9181692917364401504-8744770693700552187?l=napanda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://napanda.blogspot.com/feeds/8744770693700552187/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://napanda.blogspot.com/2009/05/ar_19.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/8744770693700552187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/8744770693700552187'/><link rel='alternate' type='text/html' href='http://napanda.blogspot.com/2009/05/ar_19.html' title='ARわなげの審査　３回目'/><author><name>panda</name><uri>http://www.blogger.com/profile/11896271854089511538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_z7zhqI8mCjI/SbtmUXeXqBI/AAAAAAAAAAM/V2RI5yte1lw/S220/buta1.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9181692917364401504.post-9106065433404186853</id><published>2009-05-08T18:59:00.004+09:00</published><updated>2009-05-09T18:48:06.351+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AR Quoits'/><title type='text'>ARわなげの審査　２回目</title><content type='html'>またダメでした（笑）。&lt;br /&gt;&lt;br /&gt;なんかUIImagePickerをいじくるアプリはすべてリジェクトされているようですね。&lt;br /&gt;&lt;br /&gt;iPhoneOS3.0でUIImagePickerの内部構造が大きく変わってしまってるようなので、ほとんどのカメラアプリが動かなくなるそうです。これ以上動かなくなるアプリを増やさないようにしてるんでしょうね。&lt;br /&gt;&lt;br /&gt;う～ん、困りますね～。まぁ、いじり方をもう少しソフトにして再度審査出してみます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9181692917364401504-9106065433404186853?l=napanda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://napanda.blogspot.com/feeds/9106065433404186853/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://napanda.blogspot.com/2009/05/ar_08.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/9106065433404186853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/9106065433404186853'/><link rel='alternate' type='text/html' href='http://napanda.blogspot.com/2009/05/ar_08.html' title='ARわなげの審査　２回目'/><author><name>panda</name><uri>http://www.blogger.com/profile/11896271854089511538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_z7zhqI8mCjI/SbtmUXeXqBI/AAAAAAAAAAM/V2RI5yte1lw/S220/buta1.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9181692917364401504.post-2663131854827631845</id><published>2009-05-02T14:27:00.001+09:00</published><updated>2009-05-02T14:28:35.488+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AR Quoits'/><title type='text'>ARわなげの審査</title><content type='html'>やっぱりダメでした（笑）&lt;br /&gt;少し修正して再度出してみます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9181692917364401504-2663131854827631845?l=napanda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://napanda.blogspot.com/feeds/2663131854827631845/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://napanda.blogspot.com/2009/05/ar.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/2663131854827631845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/2663131854827631845'/><link rel='alternate' type='text/html' href='http://napanda.blogspot.com/2009/05/ar.html' title='ARわなげの審査'/><author><name>panda</name><uri>http://www.blogger.com/profile/11896271854089511538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_z7zhqI8mCjI/SbtmUXeXqBI/AAAAAAAAAAM/V2RI5yte1lw/S220/buta1.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9181692917364401504.post-8846442415951287451</id><published>2009-04-14T23:50:00.004+09:00</published><updated>2009-04-17T00:14:50.452+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AR Quoits'/><title type='text'>ARわなげ　の動画</title><content type='html'>&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-9a2724b4762051cc" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v1.nonxt5.googlevideo.com/videoplayback?id%3D9a2724b4762051cc%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330037675%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D5DC516B6BB1260305B874E78878302703FC89ABA.7DC3ECDFE307D2E53291E73C88A41479EE629999%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D9a2724b4762051cc%26offsetms%3D5000%26itag%3Dw160%26sigh%3DoDyJmxSPFiGguGvc9-xQnWgbE7s&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v1.nonxt5.googlevideo.com/videoplayback?id%3D9a2724b4762051cc%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330037675%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D5DC516B6BB1260305B874E78878302703FC89ABA.7DC3ECDFE307D2E53291E73C88A41479EE629999%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D9a2724b4762051cc%26offsetms%3D5000%26itag%3Dw160%26sigh%3DoDyJmxSPFiGguGvc9-xQnWgbE7s&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;br /&gt;AR(拡張現実)わなげの動画をアップしました。&lt;br /&gt;うまく撮れてませんが、動きは理解いただけると思います。&lt;br /&gt;フレームレートはそれなりに出てますのでスムーズです。&lt;br /&gt;とりあえずこの状態で審査出してみて、駄目だったらちょっとずつ正攻法に変えてチャレンジして行こうと思います。審査通るころには動きがカクカクになってるかもしれません（笑）。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9181692917364401504-8846442415951287451?l=napanda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=9a2724b4762051cc&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://napanda.blogspot.com/feeds/8846442415951287451/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://napanda.blogspot.com/2009/04/ar_14.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/8846442415951287451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/8846442415951287451'/><link rel='alternate' type='text/html' href='http://napanda.blogspot.com/2009/04/ar_14.html' title='ARわなげ　の動画'/><author><name>panda</name><uri>http://www.blogger.com/profile/11896271854089511538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_z7zhqI8mCjI/SbtmUXeXqBI/AAAAAAAAAAM/V2RI5yte1lw/S220/buta1.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9181692917364401504.post-1046775183863644296</id><published>2009-04-13T23:08:00.005+09:00</published><updated>2009-04-13T23:18:47.915+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AR Quoits'/><title type='text'>ARわなげ</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_z7zhqI8mCjI/SeNIXOqSy7I/AAAAAAAAABI/7QH2HDj4ztc/s1600-h/IMG_0006.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 267px; height: 400px;" src="http://4.bp.blogspot.com/_z7zhqI8mCjI/SeNIXOqSy7I/AAAAAAAAABI/7QH2HDj4ztc/s400/IMG_0006.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5324178748391738290" /&gt;&lt;/a&gt;&lt;br /&gt;現在開発中の「ARわなげ」です。ARはAugmented Reality（拡張現実）で、カメラ映像にバーチャルな輪投げセットを表示して輪投げで遊ぶゲームです。&lt;br /&gt;たいした処理は行ってないのでさながらARもどきです。&lt;br /&gt;青い丸を印刷してある紙が置いてあり、青い丸に反応して的や輪を表示してます。&lt;br /&gt;いちおう審査に出してみますが、まぁ通ることはないと思います。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9181692917364401504-1046775183863644296?l=napanda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://napanda.blogspot.com/feeds/1046775183863644296/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://napanda.blogspot.com/2009/04/ar.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/1046775183863644296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/1046775183863644296'/><link rel='alternate' type='text/html' href='http://napanda.blogspot.com/2009/04/ar.html' title='ARわなげ'/><author><name>panda</name><uri>http://www.blogger.com/profile/11896271854089511538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_z7zhqI8mCjI/SbtmUXeXqBI/AAAAAAAAAAM/V2RI5yte1lw/S220/buta1.PNG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_z7zhqI8mCjI/SeNIXOqSy7I/AAAAAAAAABI/7QH2HDj4ztc/s72-c/IMG_0006.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9181692917364401504.post-8170903283910122863</id><published>2009-04-11T18:34:00.003+09:00</published><updated>2009-04-11T18:38:55.625+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WineStamp'/><title type='text'>WineStampの設定</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_z7zhqI8mCjI/SeBkMVwWRhI/AAAAAAAAABA/aPM_xvovXtM/s1600-h/Screenshot+2009.04.11+18.33.16.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 267px; height: 400px;" src="http://2.bp.blogspot.com/_z7zhqI8mCjI/SeBkMVwWRhI/AAAAAAAAABA/aPM_xvovXtM/s400/Screenshot+2009.04.11+18.33.16.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5323364922713064978" /&gt;&lt;/a&gt;&lt;br /&gt;WineStampの設定画面です。以下の設定が変更できます。&lt;br /&gt;- 何時までをその日とするか&lt;br /&gt;　　初期設定では朝６時までの飲酒を前日の飲酒としてカウントします。&lt;br /&gt;- アルコール限度量&lt;br /&gt;　　純アルコール量で酔い具合が決まります。&lt;br /&gt;- データの削除&lt;br /&gt;　　ここをオンにすると、次回起動時にスタンプデータを削除するかどうか聞いてくるようになります。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9181692917364401504-8170903283910122863?l=napanda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://napanda.blogspot.com/feeds/8170903283910122863/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://napanda.blogspot.com/2009/04/winestamp.html#comment-form' title='1 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/8170903283910122863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/8170903283910122863'/><link rel='alternate' type='text/html' href='http://napanda.blogspot.com/2009/04/winestamp.html' title='WineStampの設定'/><author><name>panda</name><uri>http://www.blogger.com/profile/11896271854089511538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_z7zhqI8mCjI/SbtmUXeXqBI/AAAAAAAAAAM/V2RI5yte1lw/S220/buta1.PNG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_z7zhqI8mCjI/SeBkMVwWRhI/AAAAAAAAABA/aPM_xvovXtM/s72-c/Screenshot+2009.04.11+18.33.16.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9181692917364401504.post-2299369267412518006</id><published>2009-03-16T23:36:00.004+09:00</published><updated>2009-04-11T18:30:21.873+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WineStamp'/><title type='text'>スタンプ画面</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_z7zhqI8mCjI/Sb5kY7t6w5I/AAAAAAAAAAw/jmmIlNOgJ_U/s1600-h/JP.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 278px; height: 400px;" src="http://2.bp.blogspot.com/_z7zhqI8mCjI/Sb5kY7t6w5I/AAAAAAAAAAw/jmmIlNOgJ_U/s400/JP.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5313794989853688722" /&gt;&lt;/a&gt;&lt;br /&gt;ここでお酒を選択してボタンを押します。&lt;br /&gt;お酒は８種のカテゴリーに分類されています。&lt;br /&gt;上部にこれまで飲んだお酒の数と、アルコール量などの情報が表示されます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9181692917364401504-2299369267412518006?l=napanda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://napanda.blogspot.com/feeds/2299369267412518006/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://napanda.blogspot.com/2009/03/blog-post.html#comment-form' title='4 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/2299369267412518006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/2299369267412518006'/><link rel='alternate' type='text/html' href='http://napanda.blogspot.com/2009/03/blog-post.html' title='スタンプ画面'/><author><name>panda</name><uri>http://www.blogger.com/profile/11896271854089511538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_z7zhqI8mCjI/SbtmUXeXqBI/AAAAAAAAAAM/V2RI5yte1lw/S220/buta1.PNG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_z7zhqI8mCjI/Sb5kY7t6w5I/AAAAAAAAAAw/jmmIlNOgJ_U/s72-c/JP.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9181692917364401504.post-4490523498190310575</id><published>2009-03-14T17:33:00.005+09:00</published><updated>2009-04-11T18:31:06.333+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WineStamp'/><title type='text'>WineStampの説明</title><content type='html'>WineStamp はお酒を飲んだ履歴を管理し、健康的に生活するためのアプリケーションです。&lt;br /&gt;&lt;br /&gt;お酒を飲むときにお酒の一覧からお酒を選んで登録していきます。すると、以下の情報が見れるようになります。&lt;br /&gt;&lt;br /&gt;・その日の飲酒量&lt;br /&gt;　　その日何杯飲んだかわかります。&lt;br /&gt;・摂取した純アルコールの量（グラム）&lt;br /&gt;　　アルコールの量を知ることで泥酔を防ぎます。&lt;br /&gt;・摂取したカロリーの量（キロカロリー）&lt;br /&gt;　　カロリーの量を知ることでダイエットをサポートします。&lt;br /&gt;・摂取したプリン体の量（ミリグラム）&lt;br /&gt;　　プリン体の量を知ることで尿酸値の上昇を防ぎます。&lt;br /&gt;&lt;br /&gt;また、履歴情報として以下の情報が閲覧できます。&lt;br /&gt;&lt;br /&gt;・過去の飲酒履歴&lt;br /&gt;　　過去１ヶ月分の飲酒履歴が閲覧できます。&lt;br /&gt;・曜日別の平均飲酒量&lt;br /&gt;　　金曜日は平均８杯飲んでるなどの情報がわかります。&lt;br /&gt;・時間帯別の平均飲酒量&lt;br /&gt;　　夜１０時台の飲酒量が一番多いなどの情報がわかります。&lt;br /&gt;・適量飲酒時の飲み方のパターン&lt;br /&gt;　　ビールに始まり、焼酎で終わったなど適量時の飲み方のパターンがわかります。&lt;br /&gt;・泥酔してしまったときの飲み方のパターン&lt;br /&gt;　　ビールに始まり、途中で日本酒に行ってしまうと泥酔してしまうなどがわかってしまいます。&lt;br /&gt;&lt;br /&gt;どのくらい酔っ払っているのかを判定するための簡単なゲームも付いてます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9181692917364401504-4490523498190310575?l=napanda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://napanda.blogspot.com/feeds/4490523498190310575/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://napanda.blogspot.com/2009/03/winestamp.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/4490523498190310575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9181692917364401504/posts/default/4490523498190310575'/><link rel='alternate' type='text/html' href='http://napanda.blogspot.com/2009/03/winestamp.html' title='WineStampの説明'/><author><name>panda</name><uri>http://www.blogger.com/profile/11896271854089511538</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_z7zhqI8mCjI/SbtmUXeXqBI/AAAAAAAAAAM/V2RI5yte1lw/S220/buta1.PNG'/></author><thr:total>0</thr:total></entry></feed>
