タグ

ブックマーク / kazzz.hatenablog.com (17)

  • GALAXY Nexus (docomo SC-04D) oem unlock〜clockworkMod recoveryによるバックアップ - Kazzz's diary

    GALAXY Nexusはdocomoから発売された為、ロケールもきちんと日に対応しており日フォントもCJKタイプではなく、綺麗な日フォントがインストールされている。従って以前のNexusシリーズのようにフォントに不満はなく、rootを取る必要も無い。 とはいうもののNANDイメージ、特にdocomo版のROMは一度はバックアップをとって置きたいので、ClockworkModは一時的にでも導入したい。 では作業開始。行うことは 1. ブートローダーから起動 2. ブートローダーのアンロック 3. ClockworkMod Recoveryからブート 4. バックアップ作成 Nexus SでそうだったようにGALAXY NexusもWindows環境ではデバイスドライバが正しく認識しなかった。 なので、以前に書いたエントリで行った手順でドライバをインストールすることにした。 [An

    GALAXY Nexus (docomo SC-04D) oem unlock〜clockworkMod recoveryによるバックアップ - Kazzz's diary
  • Nexus Sのroot取得 その2 (clockworkMod Recovery導入〜root取得まで?) - Kazzz's diary

    保護シートを貼付してケースを付けてみた。Invisible Shieldと呼ばれているこの保護シートは平滑性が著しく悪く(斜めから見ると波打っている)透明度も悪く(モワレが出ている)、全く褒められたものでは無い。他に選択が無いために使っているがとっとと別なものに変えたくて仕方がない。一方Platinum Case方は中々いけてると思う。ただし、Nexus oneではずっとPDairのレザーケースを愛用していたので、Nexus Sでも同様のものを使う予定だ(発注済み) 前回ブートローダーのアンロックができたので、次はroot権限の取得を行う。Nexusシリーズ(といってもoneとSの2機種だけだが)のrootに関してGoogleは彼らのBlogで最近こんなことを書いている。 The Nexus S, like the Nexus One before it, is designed to a

    Nexus Sのroot取得 その2 (clockworkMod Recovery導入〜root取得まで?) - Kazzz's diary
  • cygwin上でrepo syncを実行する - Kazzz's diary

    私の環境(Windows 7 with service pack1, Cygwin 1.7.8)では普通にインストールしても上手く行かなかったので、備忘録のために書く。 repoのために追加インストールするパッケージ libiconv Cygwinのパッケージでは無いが、これがないとrepo init実行時に以下のエラーが発生する。 $ repo init -u git://android.git.kernel.org/platform/manifest.git gpg: error loading `iconv.dll': The specified module could not be found. DLLということで私はGnuPGの家からバイナリをダウンロードしたが(http://www.gnupg.org/download/iconv.html)、Cygwinオプションパッケー

    cygwin上でrepo syncを実行する - Kazzz's diary
  • ADT Logcatの日本語文字化け直る! - Kazzz's diary

    この日記でも以前に採りあげたが、Eclipse ADTで使用できるLogcat Viewは日語が文字化けする。それを避けるために皆コマンド(プロンプト)からUTF-8にコードページを変更してadbコマンドからlogcatを呼び出してい訳だ。 [Windows][Android]LogcatコマンドプロンプトでUTF-8を正しく表示する しかしこれを見て欲しい。 完璧だ。この例では"MSゴシック"を使用しているが、日Windows環境の場合はフォントリンクが正しく設定されていれば欧文フォントであっても日語はきちんと表示される。(Windows7Windows Vista 32bit、Eclipse 3.6.0、ADT 8.0.1にて確認) このLogcatビューはyagi氏、そして@androidzaurus氏、@zaki50氏、@15my氏、これらandroiderの方々の知恵を

    ADT Logcatの日本語文字化け直る! - Kazzz's diary
  • AndroidMock - Kazzz's diary

    Android Mock - A Mocking Framework for the Dalvik VM AndroidMockはEasyMockと同じインタフェースを持った、モック・テストの為のフレームワークだ。 実のところ、モックはあまり好きではなかったりするのだが(敢えて好きな人もいないが)、やはり環境によってはぎりぎりまでアクセスできないサービスやデータベース(Androidの場合、特に前者だろう)があったりする訳で、モックによるテストにはお世話になるのだ。

    AndroidMock - Kazzz's diary
  • Viewの階層を入れ替える - Kazzz's diary

    以下の二つのView構造が以下のような構造だったとしよう。 content.xml scrollpane.xml content.xmlはActivity生成時にsetContentViewメソッドでインフレートしており、その後何らかのタイミングで、適宜、View構造のルートより下全て(LinearLayout2以下全て)を、scrollpane.xmlから同様にインフレートした階層中のScrollView下にぶら下げ直したい。 結果としてViewの階層は以下のような構造になることを期待している。 目的としてはJFC/SwingのScrollPaneのように、LinearLayout2以下をScrollViewでスクロール可能な領域に設定したい訳だ。 これをコードで行う場合、以下のようになる。 ScrollableActivity.java //content.xml側のルートビューを取得

    Viewの階層を入れ替える - Kazzz's diary
  • ADTによるLibrary Projects - Kazzz's diary

    さて、Android Development Tools (ADT) 0.9.7で有効となった "Library Projects"だが、早速使ってみた。 結論としては、今まで苦労して複数のプロジェクトを関連づけしていたのが嘘のように設定が簡単で尚かつ快適だ。 設定は最新のADTドキュメント > Working with Library Projects※に書いてあるが、以下の手順で実施する。 ライブラリィプロジェクトの設定 複数のプロジェクトで共有したいリソースを集約したAndroidプロジェクトを作成する(私のように既にあればそれを使う) プロジェクトは通常のAndroidプロジェクトとして作成するが今までに無い操作を一つだけ行う。 1.プロジェクトプロパティウインドウを開ける適当なビュー(パッケージエクスプローラ等。私はナビゲータ派だが)のコンテキストメニューから"プロパティ(pro

    ADTによるLibrary Projects - Kazzz's diary
  • EventMultiCaster - Kazzz's diary

    以前にも書いたが、Android SDKの一般的なビューはイベントハンドラがシングルキャストであり、複数のリスナを登録することができない。 シングルキャスト 暫く放置していたのだが、やはりマルチキャストに対応しなければならない要件が出てきたのでそのためのクラスを作ってみた。 IListenerMulticaster.java public interface IListenerMulticaster { IListenerMulticaster pushListener(L l); L popListener(); void removeListener(L l); int size(); } IListenerMulticasterはEventLisatenerの代わりに使うインタフェース。 pushListenerはaddListenerの方が分かり易いかもしれない。 Abstract

    EventMultiCaster - Kazzz's diary
    pipo
    pipo 2010/04/13
  • ListViewにおける各行のフォントサイズを変更する - Kazzz's diary

    デフォルトのListViewの行はちょっとフォントサイズが大きめなので変えたい。 教科書であればAdapterクラスを拡張するということになるのだろうが、面倒だ。単にサイズを変更したいだけなら、手っ取り早いのは無名化してしまうことでも可能だ。 AdHokActivity.java @Override protected void onCreate(Bundle savedInstanceState) { 〜 ArrayAdapter adp = new ArrayAdapter(this , android.R.layout.simple_list_item_1, values ) { @Override public View getView(int position, View convertView, ViewGroup parent) { TextView view = (Text

    ListViewにおける各行のフォントサイズを変更する - Kazzz's diary
    pipo
    pipo 2010/03/09
  • AndroidのためのValidation - Kazzz's diary

    格的な開発に向けてデータバインドの戦略が決まったので、バリデーションの仕組みも考えておかなくては。 JSR 303: Bean Validation 元々バリデーションの仕組みはJava/Swing用、.NET C#/Windows Forms用と共用してきた使い慣れたものがあるので、それを再利用する予定だが、最初に設計した際にはアノテーションなどは無かったので、バリデーションの制約はは全てXMLで書いていた。 一から書き直すとかなり時間がかかりそうなので、XMLと実装はそのままに、JSR 303のアノテーションだけを取り込もうと思う。 JSR 303アノテーションの例 public class Address { @NotNull @Size(max=40) private String name; @Size(max=100) private String address; @Tel

    AndroidのためのValidation - Kazzz's diary
    pipo
    pipo 2010/03/09
  • 第3の選択 - Kazzz's diary

    Android SDK上で使うことを前提として、ビュー(レイアウト)とモデルとの間でオブジェクトを交換する処理を書かなくて済むような、なんらかのデータバインドの仕組みを書くことにした。 データバインド あまり考えすぎても仕方が無いので、取りあえず方針だけは決めることにした。 1. Windows Forms方式 2. Beansbinding方式 このどちらも使わないことにする。 常時バインド状態は便利だが、現状では処理コストがメリットを上回る可能性が高いと考える。(あくまで現状であって、アンディ・ルービン氏が言うような2GhzのCPUを持つ機器が出てきたり※1、JIT等の高速化技法によりDalvikの実行スピードが格段に速くなった場合は※2、また再考の必要がある) ではどうする? ModelBinder方式 モデルバインダはASP.NET MVCのコアコンポーネントの一つで、ここ数年来に

    第3の選択 - Kazzz's diary
    pipo
    pipo 2010/03/01
  • you git - Kazzz's diary

    昨日の続きでAndroidのJNI周りのソースを見ようと、仕事場からTortoiseGitを起動したのだが、cloneを含めて一切のコマンドが届かない。 Tortoiseだと状況が解りにくいので、コマンドで試してみよう。 >git clone git://android.git.kernel.org/platform/external/webkit.git android.git.kernel.org[0: 149.20.20.141]: errno=No error android.git.kernel.org[1: 199.6.1.176]: errno=No error android.git.kernel.org[2: 204.152.191.45]: errno=No error android.git.kernel.org[3: 130.239.17.12]: errno=No

    you git - Kazzz's diary
    pipo
    pipo 2009/12/09
  • WebViewとEmulatorとProxy - Kazzz's diary

    Android Platform 1.6 (API Level4)では問題無いのだが、2.0(API Level 5)、2.0.1(API Level 6)では相変わらずプロキシを通してインターネットに繋がらない。SDKのせいなのかエミュレータのせいなのか、さっぱりわからない。 ならばAndroidのViewであるWebViewはどうだろうとソースコードを追ったのだが、 android.webkit.WebView#loadUrl(url) -> android.webkit.WebViewCore#sendMessage(EventHub.LOAD_URL, url) -> android.webkit.BrowserFrame#loadUrl(url) -> BrowserFrame#nativeLoadUrl(url) -> とここでネィティブコードにあたった。 WebCoreFra

    WebViewとEmulatorとProxy - Kazzz's diary
    pipo
    pipo 2009/12/07
  • 鬼門 - Kazzz's diary

    Androidのエミュレータがプロキシを越せないと書いたが、よく考えたらうちのプロキシはNTLM認証なのだった。 Proxy環境下でのRubyGems - Kazzzの日記 エミュレータは直接プロキシに接続する訳ではなく、実際にはJava(又はC)からPCのネットワークインタフェースを介してプロキシに接続する訳だが、これが原因である可能性は高い。 Windowsクライアントだとパススルーにできるんで便利なんだろうが、他の機器にとっては当、鬼門だよなぁ。

    鬼門 - Kazzz's diary
    pipo
    pipo 2009/12/05
  • EclipseからAndroid SDK Frameworkのソースコードを辿る(閲覧する) - Kazzz's diary

    既に先人の方々が成功している方法だが、自身の備忘ために書いておく。 1. msysGitをインストールする ( http://code.google.com/p/msysgit/ ) 2. TortoiseGitをインストールする ( http://code.google.com/p/tortoisegit/ ) 3. Android SDK Flameworkツリーのソースを適当なDirにCloneする ( git://android.git.kernel.org/platform/frameworks/base.git ) 4. Android SDKの対象プラットホーム(現在のBase上のソースは1.6)に"sources"というDirを作成して、base/core/以下をコピー E:\android-sdk-windows \platforms \android-1.6 \sour

    EclipseからAndroid SDK Frameworkのソースコードを辿る(閲覧する) - Kazzz's diary
    pipo
    pipo 2009/12/05
  • com.android.internal.policy.impl.PhoneWindow - Kazzz's diary

    Activityをデバッグしていると、内部でViewを扱う際に頻繁にWindowクラスを取得していることが解る。 Activity.java public View findViewById(int id) { return getWindow().findViewById(id); } public void setContentView(int layoutResID) { getWindow().setContentView(layoutResID); } このWindowクラス、抽象クラスだが、ならば具象クラスはと表題のクラスを探すもソースが無い。 どうやら先日gitからcloneしてきたツリーには含まれていないらしい。 android.git.kernel.org Git - platform-frameworks-policies-base.git-summary git://

    com.android.internal.policy.impl.PhoneWindow - Kazzz's diary
    pipo
    pipo 2009/12/05
  • Android SDK Emulatorにおけるプロキシセッティング - Kazzz's diary

    Android SDKは素晴らしいが、その中でも特に素晴らしい点のは、実機が無くともかなりの部分のテストができる、リッチなエミュレータが用意されていることだろう。 Android SDK 1.6から起動したエミュレータ このエミュレータ、ネットワークに関しては現在のPCのネットワークデバイスをそのまま使うようにできており、PCのブラウザでするうように、インターネットにもそのままつながる。 Android WebViewによるフルブラウズ画面 しかし、背後にプロキシがあるような環境だとそのままではインターネットに出ることができないので、プロキシの設定が必要になる。 以下、その手順 1. APN(Access Point Name)の作成 HOME>設定>ワイヤレス設定>モバイルネットワーク>アクセスポイント名>MENU>新しいAPNから新しいAPNを作成。 2. APNの設定 プロキシ :

    Android SDK Emulatorにおけるプロキシセッティング - Kazzz's diary
    pipo
    pipo 2009/12/05
  • 1