Android で Bitcoin(ビットコイン) とかやってみる?

最近良く聞く「Bitcoin(ビットコイン)」。

インターネットを利用した仮想通貨とか言われてるけど。

Bitcoin (ビットコイン)は公共トランザクションログを利用しているオープンソースプロトコルに基づくピアツーピア型の決済網及び暗号通貨である。
Bitcoinは極めて低いコストでの決済(およびマイクロペイメント)を権力機関や発行者無しで平均10分程度の待機によって可能にする。ノードから別のノードへの貨幣の移動は電子署名された取引で行われ、P2Pネットワーク内の全てのノードにブロードキャストされる。初期の通貨流通や、二重支払いの検知のためプルーフ・オブ・ワーク(英語版)システムが用いられている。
Bitcoinは中本哲史[7] (Satoshi Nakamoto, サトシ・ナカモト)[8] を名乗る人物によって投稿された論文[9]に基づき、2009年に運用が開始された[10]。 支払いの際に売買間の電子的な記録や履歴は存在しない代わりに、 買い手は公式トランザクションログ、blockchainの更新を要求する。[11] 全トランザクションリストには所有履歴が記載されており、分散ネットワークにより検証されている。 ネットワーク運営者達は採掘者として知られ、取引手数料や造幣収益を得ている。[12]
実在する硬貨の購入も可能であり、(電子通貨と異なり)硬貨を分解することで秘密鍵を明らかにできる。 [13]
同様の仕組みを利用した通貨は2014年現在多く発行されており、特にen:LitecoinがBitcoinに次ぐ第2の暗号通貨としてよく知られている。

Bitcoin - Wikipedia

Bitcoin は初めてのデジタル通貨です。
インターネットを通し、送信できるデジタルコインです。
他の代替通貨に比べていくつかの利点があります。

・インターネットを通じて個人同士で直接取引でき銀行や手形交換所を通す必要がありません。
・これにより手数料が非常に低く抑えられどの国でも使用できます。
・口座を凍結される心配もありません。
・どの国でも使用できます。
・使用においての必須条件や制限もありません。

ではどのようなしくみか見てみましょう。

Bitcoin はインターネット上のあらゆる場所で、Bitcoin を採掘できる無料のアプリケーションを使用しているすべてのユーザーによって生成されています。
各ブロックのコインを採掘するにはそれなりの作業量が必要です。
この作業量は自動的にネットワークにより調整されています。
これによりBitcoinは常に一定で適切な量が生成されます。
あなたのbitcoinはオンライン銀行口座のようなデジタル財布に蓄えられます。
Bitcoinを送信すると電子署名が添付されます。
数分後、採掘アプリケーションによって取引が認証されます。
そしてネットワークで匿名で永久に保存されます。
Bitcoinソフトウェアはオープンソースのためだれでもコードを見ることができます。
Bitcoinはネットが書物の発行を変えたように金融も変えています。
多くの人がアクセスできるグローバル市場では様々な良質のアイデアが発展します。
ではBitcoinがどのように使用されているかいくつかの例をみてみましょう。

ゲームを購入したり、プレゼント、本、サーバー、アルパカ用の靴下だって。
Bitcoinにはいくつかの通貨へ交換できます。ドル、ユーロ、他にもいろいろあります。
小規模ビジネスやフリーランスなどに注目されるのに最適です。
Bitcoinを受け付けるのに費用はかかりません。
引き落としや費用はなくBitcoin経済により新たなビジネスを得られます。

Bitcoin - Open source P2P money Bitcoin - Open source P2P money

オープンソースということでさまざまなOSプラットフォームで利用できるようです。

Bitcoin_P2Pベースの仮想通貨_-_ビットコイン

Bitcoin P2Pベースの仮想通貨 - ビットコイン

株式投資のようなリアルタイムなチャートなどもあったり。

Bitcoinx__ 2

Bitcoinx__

Bitcoinx |

Bitcoin_Block_Explorer_-_Blockchain_info

Bitcoin Block Explorer - Blockchain.info

Androidアプリをみてみると、

続きを読む >>


View Holder Pattern を使わない 高速 ListView だと!?

CursorAdapter だよな、これって。

...
public View newView(Context context, Cursor cursor, ViewGroup parent) {
 
    View view = LayoutInflater.from(context).inflate(R.layout_my_view, null);
 
    TextView tv = (TextView) view.findViewById(R.id.text1);
    ImageView iv = (ImageView) view.findViewById(R.id.image1);
 
    view.setTag(R.id.text1, tv);
    view.setTag(R.id.image1, iv);
 
    return view;
}
 
public void bindView(View view, Context context, Cursor cursor) {
 
    ((TextView) view.getTag(R.id.text1)).setText(cursor.getString(cursor.getColumnIndex(COL_TEXT_1)));
    ((ImageView) view.getTag(R.id.image1)).setImageResource(R.drawable.image);

}
...

タグってやつは、便利だなあ。

[Java] Fast ListView scroll without ViewHolder Pattern - Pastebin.com

android - What bindView() and newView() do in CursorAdapter - Stack Overflow


Android端末の音量(ボリューム)が小さいので大きくする

なんか音小さいような。

全開にしても小さいマイクやスピーカー。

20140127-125310

大きくする方法が。要 root ですが。

まとめると以下手順となるようです。

続きを読む >>