0

Eclipseで作ったAndroidプロジェクトをantでbuildする

ふつうに最初からEclipseで開発したプロジェクトのディレクトリ内で、

android update project --path `pwd`

してから

ant debug
adb install -r bin/YourApp.apk
でインストールできる。


android updateでantビルドに必要なbuild.xmlとlocal.propertiesが生成される。
local.propertiesにはandroid sdkの絶対pathが含まれているので、この2つはgitにcommitしない方が良いみたいだ

0

AndroidでHTTP POST

targetはAndroid2.3.4、API 10向けにビルドして試した。

参考:


<uses-permission android:name="android.permission.INTERNET" />

import java.io.*;
import java.util.*;
import org.apache.http.*;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

HttpClient client = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://localhost:8080");
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("message", "ほむ"));
try{
httppost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
HttpResponse res = client.execute(httppost);
ByteArrayOutputStream os = new ByteArrayOutputStream();
res.getEntity().writeTo(os);
Log.v("result", os.toString());
Log.v("status", res.getStatusLine().getStatusCode());
}
catch(Exception e){
e.printStackTrace();
}


リクエストができているかの確認は、EM::HttpServerで見た
gem install eventmachine_httpserver
#!/usr/bin/env ruby
require 'rubygems'
require 'eventmachine'
require 'evma_httpserver'

class Handler < EM::Connection
include EM::HttpServer

def process_http_request
res = EM::DelegatedHttpResponse.new(self)
puts "request_method : #{@http_request_method}"
puts "path_info : #{@http_path_info}"
puts "query_str : #{@http_query_string}"
puts "post_content : #{@http_post_content}"
res.status = 200
res.content = "こんにちは"
res.send_response
end
end

EM::run do
EM::start_server("0.0.0.0", 8080, Handler)
puts "http server start, prot 8080"
end

0

Nexus SのNFCでFelicaのIDを読む(2)

Nexus SのNFCでFelicaのIDを読む – 橋本詳解の時に、Android 2.3 GingerBread NFCをやってみる – TOPGATE Google関連技術サイトのTagWrapper.javaを使わせてもらってたんだけど先日のNexus Sのandroid2.3.4へのアップデートで動かなくなったので少しやり方変えた。
TagWrapper.javaの中でやってる事を参考にさせてもらった。


ただFelicaのユニークなIDだけが必要だったらこれでいい
(先に橋本詳解の方に書いたManifestとかguavaとかを設定しておく必要はある)

import java.lang.reflect.*;
import java.util.*;

import com.google.common.primitives.UnsignedBytes;

import android.app.Activity;
import android.content.Intent;
import android.nfc.NfcAdapter;
import android.os.Bundle;
import android.os.Parcelable;
import android.util.*;
たくさんのimportが必要。


    public void onCreate(Bundle savedInstanceState) {        
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
resolveIntent(this.getIntent());
}

void resolveIntent(Intent intent) {
if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) {
try{
Parcelable tag = intent.getParcelableExtra("android.nfc.extra.TAG");
Field f = tag.getClass().getDeclaredField("mId");
f.setAccessible(true);
byte[] mId = (byte[]) f.get(tag);
StringBuilder sb = new StringBuilder();
for (byte id : mId) {
String hexString = Integer.toHexString(UnsignedBytes.toInt(id));
if (hexString.length() == 1) sb.append("0");
sb.append(hexString);
}
String id = sb.toString();
Log.v("TAG", id);
}
catch(Exception e){
e.printStackTrace();
}
}
}

0

湘南台の男のらーめん500円の営業状態を調べるrubygems作った

昨日、男の店主がメルマガで、「急に三田二郎を食べたくなったから昼の営業は休みます」「今神保町で二郎食べたけど、これから用心棒も食べるから夜は19時からになります」と言っていて面白かったから作った。


■インストール

gem install otokonoramen500yen


■使う
gem installすると、otokonoramen500yenというコマンドが使えるようになる。
otokonoramen500yen
実行すると、最新のメルマガの日時と本文が表示される。


これでterminalで作業している時に、ブラウザを開かなくても今日営業しているかパッと調べられるので便利です。


■開発者向け情報
一応gemなので、本文と発行日時を取得できるようにしておいた。
例えば、センサーで取得した自身の健康状態と、男のらーめんの営業状態とを連動させた健康促進システムの開発などへの応用が期待できる。
require 'rubygems'
require 'otokonoramen500yen'
o = Otokonoramen500yen.get
puts o.date
puts o.body
puts o.url

1

男のらーめん500円

最近、湘南台民のあいだで話題になっている男のらーめんに行ってきた。



調べたら2chが面白くて気になった。

湘南台にできた二郎インスパのインスパのインスパくらいの勘違いなお店。
今藤沢で一番熱くて寒いお店だ!(ドアがないからなw)

味が安定していなくて、ここ半年ぐらいでだんだん美味しくなってきているらしい。


湘南台駅西口のダイソーの前のあたりを線路の方に路地を入る
看板があるのでここを曲がる。二郎っぽい匂いがするのでわかる。
男のラーメン


なんか緑色の何屋かわからない店がある
男のラーメン


メニュー
男のラーメン


でかい。次の日の昼になっても腹が減らない。男のらーめんで食糧問題が解決する
男のラーメン
一緒に行ったひろたは食べきれなくてスープにいろいろ隠して逃げた。

男のラーメン