タグ

2011年5月10日のブックマーク (24件)

  • Android のメモリ管理は大変です

    ■理想 AndroidってJavaだからメモリ管理なんてしなくてもいいよね!! なんて思っていた時代が私にもありました・・・ ■現実 @Override protected void onDestroy() { super.onDestroy(); // 画面が回転した時など、Activityが破棄されるときに呼び出されます // すべてのメモリはここで開放します // - 特に危険なのが内部クラス(MyWebChromeClientなど)、正しく開放しないとActivityが開放されません // - セットしたbackgroundのcallbackもnullにしないと開放が行われません // - webViewのdestroy()を忘れると後からGCが走ったときにVMがクラッシュします this.webView.stopLoading(); this.webView.setWebChro

  • メニューチュートリアル

    Androidではメニューボタンを押すとメニュー、方向パッドを長押しするとコンテキストメニューを表示することができる。メニュー、コンテキストメニューもアクティビティのレイアウトと同様にxmlファイルとjavaソースどちらからも扱う事ができる。xmlファイルで作る方が手間がかからないため、ここではxmlファイルを使った方式で説明する。 実例を見てみよう。まず、res/menu/menu.xmlファイルを追加する menu.xmlファイルの中身は以下の通りで、menu要素でmenuの全体の設定をitem要素でメニューに含まれる一つ一つの項目設定を行う。 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id=

  • Content Provider について

    各レコードは、_ID という自身を識別するフィールドを持っています。 このフィールドは自身を識別すると同時に、他のテーブルとJOINする際にも利用されます。 問合せは、Cursor オブジェクトを返します。 これはJDBCで言えば ResultSet のようなものです。 ここから各行の値を取ってくることができるし、列の型を知ることもできます(ResulSetMetaDataのように)。 URI それぞれの Content Provider は、public URI を公開しています。 これが各データセットのユニークな識別子となります。 複数のデータセット(つまり複数のテーブルのデータ)は、それぞれが異なる URI によって公開されます。 URI は全て content:// から始まります。 この Scheme は、このデータが Content Provider によって提供されることを意

  • AndroidでContentProviderのモックを使ったテストを行う - 遥かへのスピードランナー

    ContentProviderからデータを取得しているアプリのテストコードを書くときに、テストデータとして端末内のデータを使わずにモックのデータを使いたいということは多いと思います。 今回は端末内の画像を一覧表示するアプリケーションを例にして、このようなテストコードの書き方を説明します。 テスト対象のActivity 以下のようなActivityをテストすることを考えます。 package com.polysfactory.mocktest; import android.app.ListActivity; import android.database.Cursor; import android.os.Bundle; import android.provider.MediaStore.Images; import android.provider.MediaStore.Images.

    AndroidでContentProviderのモックを使ったテストを行う - 遥かへのスピードランナー
  • Content Provider入門 - matabii's blog

    Androidでデータを保存するにはContent Providerを使用するのが基です。端末内のアプリ専用エリアに作成され、アクセス権限を定義すれば他のアプリからも使用可能と夢が広がる機能です。システムのデータもこれで作成されていて、電話帳などにアクセスするアプリを作ることも可能です。 メリットは上記の通りで、これで作っておけば問題無いと言いたいところなんだけど、端末の容量が数十メガバイトしかなく(少なくともdev phoneは)、あまり消費させたくないというのが実情なので、必要に応じて外部の(SDカードとか)記憶エリアを併用するのが賢いやり方だと思います。 マニュアル Content Providers | Android DevelopersやSDK付属のサンプル(NotePad)を見ればわかるんだけど、とりあえず動かしてみたい場合には事前準備が多くて大変です。自分自身、一目で理解

  • Android Android2.3 - DownloadManager を使う

    ・DownloadManager は long-running HTTP ダウンロード用のシステムサービス ・ダウンロードするファイルのURIを指定してリクエストする ・ダウンロードはバックグラウンドで行われる ・接続が変わったり、リブートしたり、ダウンロードに失敗した場合は再試行される ・getSystemService(String) メソッドの引数に DOWNLOAD_SERVICE を渡してインスタンスを取得する ・このAPIを使ってダウンロードをリクエストするアプリは、ユーザーが notification や downloads UI からダウンロードを開始したことを適切にハンドルするために、ACTION_NOTIFICATION_CLICKED に対する broadcast receiver を登録しておかなければならない # DownloadManager.Query に渡す

    Android Android2.3 - DownloadManager を使う
  • How to Use Android Downloads Provider – lytsing's Blog

  • Android開発 簡単なWEBブラウザを作ってみる その2

    こんにちは熊谷です。 前回は簡単なWEBブラウザを作ってみようということで、URLを入力してそのページを表示するだけのものを作成しました。今回はそれをベースにしてページのリロード機能とプログレスバーの表示、ファイルのダウンロード機能を付け加えたいと思います。 まずはページのリロード機能です。これはとっても簡単でreload()を使うだけです。 MyApp.javaにリロードボタンを押したときのメソッドを追加して public void onClickReloadBtn(View v) { mWebView.reload(); }

    Android開発 簡単なWEBブラウザを作ってみる その2
  • Android開発 C2DMを触ってみよう

    こんにちは熊谷です。 前回は簡単なWEBブラウザを作成しましたが、今回はそこからちょっと離れて、Android 2.2以降から使えるC2DM(Cloud to Device Messaging)でメッセージの受信を試してみたいと思います。 今現在、C2DMを使うには http://code.google.com/intl/ja/android/c2dm/signup.html ここで登録を行う必要があります。登録フォームで必要な情報を入力し送信して、しばらく待っていると登録完了したよ的なメールが送られてきます。 そのメールが来たら早速使ってみましょう。 まずはC2DMを使って端末にメッセージを送信するため、認証Tokenを取得します。 <?php $url = 'https://www.google.com/accounts/ClientLogin'; // signupページで入力したg

    Android開発 C2DMを触ってみよう
  • ZendEngine勉強会で「拡張ライブラリでなるべく簡単に構文を追加する方法」というタイトルで喋ってきました

    こんにちは、久保田です。 2/16に行われたZendEngine勉強会で、「拡張ライブラリでなるべく簡単に構文を追加する方法」というタイトルで喋ってきました。 勉強会を開催したyoyaさん、会場提供して頂いたGREEさんありがとうございます。お疲れさまでした。 ZendEngineとは、PHPの内部で利用されている仮想マシン(VirtualMachie)のことです。これを知ることは、拡張ライブラリを実装したり、PHPの内部実装に精通するためには避けては通れない道です。 この記事では、ZendEngine勉強会で喋った内容をもう少し詳しくテキストにして解説します。 はじめに PHPの拡張ライブラリには、単にC/C++言語で記述されたライブラリをPHPでも使えるようにする拡張ライブラリと、PHPそのものの振る舞いを変える拡張ライブラリの二種類があります。 前者で有名なのは、画像を加工変換合成す

    ZendEngine勉強会で「拡張ライブラリでなるべく簡単に構文を追加する方法」というタイトルで喋ってきました
  • Android開発 簡単なWEBブラウザを作ってみる

    こんにちは、熊谷です。 前回はMacAndroidアプリを開発するための準備について書きました。ということで、今回はその続き、実際に開発をしてみようと言うことで進めたいと思います。 インストールしたSDKだけで開発はできるのですが、少しでも楽に開発したいと言うことであれば現状Eclipseを使ってということになります。ということで、Eclipseをダウンロードしインストール、Android開発のためのプラグインADT Plugin for Eclipseをインストールします。 このADT PluginをインストールするとAndroidアプリケーション開発のための様々な機能がEclipseに追加されます。設定の中にSDKのPATHを指定する箇所があるので先にインストールしたSDKのPATHが設定されているかどうか、設定されていない場合は設定しておいてください。 では、早速何か作ってみましょ

    Android開発 簡単なWEBブラウザを作ってみる
  • XLIFF enables you to replacement characters(2)

    [In English] Previously on my last blog. <string name="remaining_time_message">Only %d minutes left.</string> String.format(getResources().getString(R.string.remaining_time_message, 10); In most cases this code works well except in case of singular. When minute value is singular, the message 'only 1 minutes left.' will be created. It's wrong message to be accurate. We hope the message 'only 1 minu

  • XLIFF enables you to replacement characters(1)

    [In English] Do you know XLIFF? The purpose of XLIFF is to make localization process easier. XLIFF can be used in XML. The rudimentary way to use is as follows. At first, we need to declare to use xliff. <?xml version="1.0" encoding="utf-8"?> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> And second, use xliff like this. <string name="remaining_time_message">Only <xliff:g id="minu

  • KMC Staff Blog:Androidのプロセス間のメソッド呼び出し(図解)

    2011年04月12日 Androidのプロセス間のメソッド呼び出し(図解) 先日4月9日に開催された横浜 Android プラットフォーム部の第7回勉強会でAndroidのプロセス間のメソッド呼び出しの話をしました。 その発表資料を貼っておきます。 Android ipm 20110409 View more presentations from Tetsuyuki Kobayashi 参考になるページ 横浜 Android プラットフォーム部の第3回勉強会 Android SDK WG 第1回 セッション(2008.10.25) 関連するページ AndroidのBinderによるプロセス間のメソッド呼び出し(メモ) AndroidのBinderによるプロセス間のメソッド呼び出し(メモ2:AIDL) AndroidのBinderによるプロセス間のメソッド呼び出し(メモ3:Binder T

  • KMC Staff Blog:KZM-A9-DualボードのAndroidのADBの接続

    2011年04月14日 KZM-A9-DualボードのAndroidのADBの接続 KZM-A9-DualボードのAndroidは、USB経由とネットワーク経由の2つの方法で接続することができます。 ネットワーク経由でのADBの接続 KZM-A9-Dualボードを有線LANにつなぎます。IPアドレスDHCPサーバから取得するようになっています。そのIPアドレスを確認します。 # netcfg lo UP 127.0.0.1 255.0.0.0 0x00000049 eth0 UP 192.168.1.123 255.255.255.0 0x00001043 シリアルのコンソールのshellで以下を実行します。(adb経由のshellだと stop adbdをしたら切れてしまいますので注意。) # setprop service.adb.tcp.port 5555 # stop adbd

  • KMC Staff Blog:Androidのビルドでccacheを使う(その2)

    2011年05月10日 Androidのビルドでccacheを使う(その2) ccacheの話の続きです。 (English version of this page) JBQ氏のコメント 前回の記事を英語で書いて Google groupのAndroid Buildingに投稿したところ、GoogleAndroid Open-Source ProjectにたずさわっているJBQ氏からコメントがありました。 曰く、「ccacheのデフォルトのサイズ(1GB)ではひとつのプロジェクトをビルドするにも小さすぎる。私の場合は100GBに設定している。」 「ccacheで最も効果が高いのが大量のメモリだ。(ひとつのビルドから、また次のビルドをするときにccacheのデータがメモリ上のディスクキャッシュに残るから。)自分のマシンでメモリを12GBから24GBに増やしたときにははっきり効果があらわれ

  • KMC Staff Blog:KZM-A9-DualでAndoridのGingerbreadを動かす最短の手順

    2011年05月02日 KZM-A9-DualでAndoridのGingerbreadを動かす最短の手順 Androidもくもく勉強会 #0x10 もくびーに参加して、その前日にリリースされたAndroid 2.3.4のソースをビルドして動かしてみました。 今日はそれを自分の開発マシンで復習したので、それをここで紹介します。 (English version of this page) 0. 準備 既存の2.3.3のビルドディレクトリから不要なものを削除 $ cd android-2.3 $ export ANDROID=$PWD $ repo forall -c git checkout -f $ rm -rf out out.* android-2.3.4_r1のソースを入手 $ repo init -b android-2.3.4_r1 $ repo sync -j4 まっさらなディ

  • KMC Staff Blog:Androidのブートアニメーション

    2011年04月21日 Androidのブートアニメーション Androidをパワーオンリセットをするたびに目にするブートアニメーションですが、実はよくわかっていませんでした。これはいつだれがスタートして、いつだれがストップするのでしょうか? ブートアニメーションのソースコード frameworks/base/cmds/bootanimation これを見るとANDROIDの文字のアニメーションはOpenGL ESで書かれていることがわかります。 また、/data/local か /system/media にbootanimation.zip というファイルがある場合はそれをムービーとして再生するようになっています。Nexus Oneの場合はそうなっていました。(そのファイルを取ってきてKZM-A9-Dualに入れたらNexus Oneと同じブートアニメーションになりました。) boot

  • https://www.duostack.com/

  • duostackでnode.jsアプリを動かすまで

    node.jsのインストール 何はともあれnode.jsのインストール。aptではなくgithubからリポジトリをcloneしてmakeした。最近はapt以外のものは$HOME/localに入れるルールでやってるのでnode.jsも同様に。node.jsをsudoで入れると結構ハマるみたいな話を聞くので特に理由がなければaptとかで入れるか$HOME以下に入れるのがよさそう。 $ git clone git://github.com/joyent/node.git $ cd node $ ./configure --prefix=$HOME/local $ make $ make install $ which node /home/ukstuido/local/bin/node npmのインストール duostackを使うのにnpmが必要なのでnpmもインストール。curl使う方じゃなく

  • IE9ヤバイ。IE9の文字間隔・互換モード・DOCTYPE宣言について

    IE9文字間隔確認用サンプル 文字間隔や段落の間隔をチェックする為のサンプルです。とりあえずFirefox3.6とFirefox4でズレない事を確認。文字間隔のチェック用なので意味不明な文字が並んでいます。 ※追記・注意:下記ページはスタイルシートで少しだけ調整しています。 全くの未調整の場合、段落の高さが大きく異なったり、半角英数字のフォントが 文字コードで変わったり、かなり比較し難いものになったため。 後述しますが、英数字フォントにsans-serifを指定すると問題が発生するようです。 ※サーバー引っ越し後、以下リンクは文字化けするようになりました (修正予定なし) HTML 4.01 サンプル HTML 4.01+UTF8  HTML 4.01+EUC-JP  HTML 4.01+SHIFT-JIS XHTML 1.0 サンプル XHTML 1.0+UTF8  XHTML 1.0+

    IE9ヤバイ。IE9の文字間隔・互換モード・DOCTYPE宣言について
    gom68
    gom68 2011/05/10
    まだあったんだ、IE。
  • Applying the Unix Process Model to Web Apps

    Applying the Unix Process Model to Web Apps procfile foreman unix Mon May 09 09:22:53 -0700 2011 The unix process model is a simple and powerful abstraction for running server-side programs. Applied to web apps, the process model gives us a unique way to think about dividing our workloads and scaling up over time. Process model basics Let’s begin with a simple illustration of the basics of the pro

  • Google APIs Discovery Service: one API to find them all

    By Anton Lopyrev, Monsur Hossain, and Joe Gregorio, Google Developer Team As announced at last Google I/O, the new family of Google APIs client libraries runs on top of a brand new API infrastructure, which allows Google to reduce the amount of work needed to release and maintain the client libraries. This is done through a simple API that provides machine readable descriptions of Google APIs that

    gom68
    gom68 2011/05/10
  • 質的研究と量的研究について - 社会学者の研究メモ

    とある出版企画でそういうお話を書かなければいけないので、社会学におけるいわゆる「質的研究」と「量的研究」の区別についてメモを書いておく。 結論から言うと、次のように考えるとミスリーディングである。つまり、「まずある<理論>があって、それを<実証>する手段として質的な研究と量的な研究がある」という考えである。こういう考え方は、混乱のもとであるから、避けたほうがよい。多くの社会調査論のテキストでは調査手段の選択として「質的調査」と「量的調査」を選択することがあるかのように書かれているが、少々説明不足である。そうではなく、さしあたり量的研究とその他のタイプの研究が、量的研究とどのような関係にあるのか、と考えたほうがスッキリする。 分野外の研究者からすれば見えにくいが、実際には量的研究と言っても様々である。が、現状からして、「複数のパラメータを含むモデルを構築し、それをデータに当てはめて統計学的推

    質的研究と量的研究について - 社会学者の研究メモ