2011年7月13日水曜日

CiNiiで大学別の論文数を調べたみた

このエントリーをはてなブックマークに追加
ふと気になったので,国立情報学研究所 論文情報ナビゲータCiNiiで大学別論文数を調べてみた.

調査方法としては「著者所属」ボックスに「○○大学」と日本語で大学名を記入し,その検索ヒット数を列挙した.
※英語名では調べていません

大学別上位TOP10はこのような結果になった.

東京大学 129902
京都大学 82690
大阪大学 79520
東北大学 68695
九州大学 66401
名古屋大学 58749
北海道大学 53419
東京工業大学 52128
神戸大学 51812
日本大学 46700


ちなみに「刊行物名」ボックスに「情報処理学会論文誌」を入力した場合の上位TOP10は,下記のようになった.

東京大学 749
大阪大学 552
京都大学 513
慶應義塾大学 503
筑波大学 463
電気通信大学 366
東京工業大学 316
九州大学 300
名古屋大学 286
奈良先端科学技術大学院大学 271

こちらにまとめたエクセルデータを置いておきます.
※日本の大学779校,短期大406校について調べました.
※「情報処理学会論文誌」での検索の際には,所属別で上位200位までの大学に対して調べています.

2011年7月7日木曜日

[Android] チェックボックスでパスワードの表示/非表示を切り替える

このエントリーをはてなブックマークに追加

パスワードをテキスト画面に入力する際,「******」のようにパスワードを隠ぺいして表示しますが,スマートフォンでは,入力がタップであるため,よく押し間違いをしてしまいます.
そういう時には,仕方ないのでパスワードをそのまま表示します.ここでは,パスワードの表示
・非表示をチェックボックスの状態で切り替える方法を紹介します.

main.xml










ChangeInputTypeActivity.java
import android.app.Activity;
import android.os.Bundle;
import android.text.InputType;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.CheckBox;
import android.widget.EditText;

public class ChangeInputTypeActivity extends Activity {
private EditText et;
private CheckBox cb;
private int defaultIType;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

et = (EditText) findViewById(R.id.editText);
defaultIType = et.getInputType();
et.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD | defaultIType);

cb = (CheckBox) findViewById(R.id.checkBox);
cb.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(cb. isChecked())
et.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD | defaultIType);
else
et.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD | defaultIType);
// チェックボックスをクリックするとカーソルが先頭にきてしまうので,末尾に戻す
et.setSelection(et.getText().length());
}
});
}
}


パスワードの表示・非表示は,setInputTypeメソッドを用いて変更します.ここでは,初期値のInputTypeをdefaultITypeとして保持をしておき,チェックボックスがON/OFFされた場合に,27行目から30行目で変更処理を行います.

PIRKA for Androidを開発した

このエントリーをはてなブックマークに追加



▼概要
PIRKAはスマートフォンアプリでゴミ拾いの写真を投稿してもらい、拡散し、新たなゴミ拾いを促すというシンプルなサービスです。
あなたがゴミを拾うと、PIRKAの世界地図( http://www.e-pirka.com )がピカリと光ります。

これまでにPIRKAはWebとiPhoneアプリで運営してきましたが、Androidアプリが欲しいというこうとで、開発しました。

▼使い方
1.Android Marketから無料のアプリをダウンロードしてください
2.PIRKAを起動し、email、username,passwordを登録してください。
3.PickUp画面よりゴミ拾いの写真を撮影し、投稿してください。
4.ゴミはお近くのゴミ箱に捨ててください。
5.綺麗になった場所はMapにてご確認いただけます。
6.TimeLineにて他の方が拾ったゴミにniceする事ができます。

▼現状と今後
PIRKAは、Open Network LabのSeed Acceleratorにも採択されています。
[関連]:ayakix-lablog: ONL Seed Accelerator キックオフイベントに行ってきた

現在、PIRKAは、世界中から350個以上のゴミをなくすことが出来ました。
今後は、この勢いを更に加速させるために、皆様是非Android版をお使いください!
そしてバグ報告を @ayakix までよろしくお願いします!w

2011年7月5日火曜日

Androidで位置情報を取得する=>失敗時には設定画面を開く

このエントリーをはてなブックマークに追加

現在のAndroid携帯端末の多くは,位置を特定するために,GPS(衛星利用測位システム),または基地局の情報を用いて,位置を測量します.

Androidでは,位置情報の取得手段を「ロケーション・プロバイダ」と呼びます.
携帯端末の状態や,ユーザーによる設定によって,利用できるロケーション・プロバイダは変わります.

そこで,位置情報を取得する際,先に精度の高いGPSを利用して,GPSが利用できない場合には,基地局情報を用いることとなります.

また,GPSや基地局情報を利用可能状態にない時は,設定画面を開き,ユーザに利用可能にしてもらうことも必要かと思います.

下記には,その二つの処理をするプログラムを記載します.

/* 位置情報の取得 */
// ロケーションマネージャの取得
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
// 最適な位置情報プロバイダの選択
// Criteriaを変更することで,各種設定変更可能
String bs = lm.getBestProvider(new Criteria(), true);

Location locate = lm.getLastKnownLocation(bs);
if(locate == null){
// 現在地が取得できなかった場合,GPSで取得してみる
locate = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
}
if(locate == null){
// 現在地が取得できなかった場合,無線測位で取得してみる
locate = lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
}
locate = null;
if(locate != null){ // 現在地情報取得成功
// 緯度の取得
int latitude = (int) (locate.getLatitude() * 1e6);
// 経度の取得
int longitude = (int) (locate.getLongitude() * 1e6);
Log.d("MYTAG", String.valueOf(latitude));
Log.d("MYTAG", String.valueOf(longitude));
} else {
/* 現在地情報取得失敗処理 */
}

/* 位置情報を取得できなかった場合,設定画面を開く */
if(locate != null){
/* 現在地情報取得成功処理 */
} else {
// 端末の位置情報設定画面へ遷移
try {
startActivity(new Intent("android.settings.LOCATION_SOURCE_SETTINGS"));
} catch (final ActivityNotFoundException e) {
// 位置情報設定画面がない端末の場合
}
}

2011年7月4日月曜日

Google Android Developer Lab Tokyo 2011に行ってきた

このエントリーをはてなブックマークに追加

7/3に六本木ヒルズ内のGoogle 東京オフィスで開催されたAndroid デベロッパーラボ 東京 2011に参加しました.
詳細
資料

このイベントでは,Androidアプリ開発者を対象として,今年2月にリリースしたAndroid Honeycomb を中心に,セッション,コードラボが開催されました.

セッションには,「Honeycombの紹介」「プログラミングTips」「スマートフォンとタブレット用UIデザイン」「Android Marketの新機能」等がありました.個人的に一番興味深かったのはタブレット用UIであるholographic theme "Holo" です.タブレットのUIは,スマートフォン用のUIを拡大すればよい訳でなく,やはりUIを再設計し直す必要があると思います.
セッションのいくつかは英語で行われたのですが,通訳者のレベルが素晴らしく僕みたいに英語が苦手でも全く問題ありませんでしたw

また,コードラボでは,参加者全員にOptimus Pad L-06Cが無償で配られ,資料のHoneypad Codelab Stepsに従って,実機を使ったハンズオンで開発しました.
チューターの方もついていただき,安心して取り組むことが出来ました.

今回のイベントに参加した開発者向けに3ヶ月後にフォローアップイベントがあり,そこでHoneyCombアプリを公開し,選定されたアプリは,特典として,Android Marketでフィーチャーされ,開発者にはGoogle I/O 2012のチケットがプレゼントされるみたいです.
ライバルのレベルが高すぎる訳ですが,何か開発してみようと思います!!

ONL Seed Accelerator キックオフイベントに行ってきた

このエントリーをはてなブックマークに追加

Open Network Lab Seed Accelerator 第3期生のキックオフイベントに参加してきたのでご報告.

▼Open Network Labとは
株式会社デジタルガレージ,株式会社ネットプライスドットコム,株式会社カカクコムが運営しており,

世界進出を視野に入れグローバルに活躍することを目標にインターネットを利用したビジネスでの企業を志すエンジニアや企業家を「Seed Accelerator」「Communitiy」活動を支援するプロジェクトです
via Open Network Lab(オープンネットワークラボ)

Seed Acceleratorとは
起業志向のエンジニアの短期育成を目的としたインキュベーションプログラムです。
高い技術力と有望なビジネスプランを有する個人やチーム(1チーム最大3名迄)を公募します。
選抜した個人やチームに対して、サーバー環境やオフィススペースといった施設を提供すると共に、経験豊富なエンジニアや起業家、経営者によるアドバイス(メンタリング)を行います。
3カ月間の育成期間を経てプログラムを修了したチームには、国内外のベンチャーキャピタリストや起業家に、資金調達のためのアピールを行う機会を与えます。
via Open Network Lab / Seed Accelerator

そこで何をするか?
現在,私は小嶌不二夫氏(@kojimafujio)を代表とするPIRKA(ピリカ)に開発者として参加しています.
PIRKAとは,ゴミ拾いを共有・発信し世界をきれいにするソーシャルネットワーキングサービスです.
今回,このPIRKAがSeed Acceleratorに採択されました.そこで,7月から9月までのプログラム期間中にONLを拠点として、事業アイデアのブラッシュアップやプロトタイプの開発に取り組みます.
また,それに伴いすごいメンターの方々(Open Network Lab / Mentors)と話合いを設けることができます.
PIRKA for Web
PIRKA for iPhone
PIRKA for Android


感想
と言うことで,第3期生のキックオフイベントに参加してきました.
他のチームも素晴らしいアイデアを持っており,また,とても個性的なメンバーで構成されていたため,すごい刺激を受けることができました.
がんばるぞーーー!!!!