Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
getimagesizefromstring という関数が、PHP5.4から追加されていたので紹介します。 http://php.net/manual/ja/function.getimagesizefromstring.php getimagesizeにはメモリ上の画像を渡せない PHPにはもともとgetimagesizeという関数があって、画像ファイルのサイズやメタ情報をお手軽に取得することができました。 list($width, $height, $type, $attr) = getimagesize("/path/to/image.jpg"); ただこの関数には1個残念なところがあって、変数に格納したメモリ上の画像(バイナリ文字列)を引数として渡すことができないのです。 私はよくAmazonS3などから取得したメモリ上の画像を処理することがあるのですが、getimagesizeに
SQLiteは追記型という形式でデータベースファイルを管理していて、データを書き込むたびにゴミデータが貯まっていきます。 なので、定期的にVACUUMをしてゴミデータを整理するのが普通です。 しかしAndroidでSQLiteを使う場合はVACUUMを実行しなくてもデータベースが肥大し続けることはありません。 これは、AndroidがSQLiteのAuto Vacuumを有効にしてデータベースを作成するためです。 以下はAndroidが作成したデータベースと、SQLiteデフォルトのデータベースのauto_vacuumの設定値を比較したものです。 auto_vacuum Pragmaが有効になっていることがわかります。 PRAGMA Android SQLiteデフォルト auto_vacuum 1 0 auto_vacuumが1に設定されていると、SQLiteはトランザクションのコミット
■ Converting from dips to pixel Android refenrece の Converting from dips to pixels に書いてある getContext().getResources().getDisplayMetrics().density で画面解像度の比率を取得して、dip, dp 単位の値に掛ければ pt, px 単位での値になる dip -> px // The gesture threshold expressed in dip private static final float GESTURE_THRESHOLD_DIP = 16.0f; // Convert the dips to pixels final float scale = getContext().getResources().getDisplayMetrics
androidで描画処理を書いているときに、Rectクラスの4点の関係が気になったので、調べてみました。1.矩形の内/外と4点の関係素朴な疑問として、Rectの要素、top / bottom / left / right はRectの中をあらわしているのか、Rectの外をあらわしているのかが気になりました。contains(int x, int y) メソッドの説明を読むと、 Returns true if (x,y) is inside the rectangle. The left and top are considered to be inside, while the right and bottom are not. This means that for a x,y to be contained: left <= x < right and top <= y < botto
Google Developer advocate の松内さんが Developer 向けに提供されている動画コンテンツの「[JP 日本語] Android アプリ タブレット端末対応 ことはじめ 」を聞いていて、15分ぐらいのところで「Tabletデバイスでは、ホーム画面では一段階大きなアイコンが利用されます。」という紹介がありました。アプリ開発者視点では、drawable-xxhdpi/ か drawable-480dpi/ に 144px * 144 px(32 bit PNG(透過含む))をホームアイコンを準備しておく必要があります。 この対応がどのADTから入っているかを調べてみると、 ADT 20.0.1 (July 2012) から対応されていました。 ADT 20.0.1 (July 2012) Bug fixes: Added support for xxhdpi den
View クラスのメソッドで位置やサイズを取得するメソッドがいくつかあるので紹介します。 ■ getLocationInWindow(int[] location) ウィンドウ上でのこの View の位置を計算します。引数は長さが2以上の int 配列で、Index 0 に x 座標、Index 1 に y 座標の値が入ります。 http://tools.oesf.biz/android-4.0.1_r1.0/xref/frameworks/base/core/java/android/view/View.java#12047 12047 public void getLocationInWindow(int[] location) { 12048 if (location == null || location.length < 2) { 12049 throw new IllegalA
[This post is by Nick Butcher, an Android engineer who notices small imperfections, and they annoy him.] We are pleased to announce that the full SDK for Android 4.1 is now available to developers and can be downloaded through your SDK Manager. You can now develop and publish applications against API level 16 using new Jelly Bean APIs. We are also releasing SDK Tools revision 20.0.1 and NDK revisi
表示領域の上部の位置を使用すると、ステータスバーの高さとなります。 [参考記事] 画面解像度などディスプレイの情報を取得する方法 [参考記事] タイトルバーやステータスバーを非表示にする方法 Rect rect= new Rect(); Window window= activity.getWindow(); window.getDecorView().getWindowVisibleDisplayFrame(rect); int statusBarHeight= rect.top; View view = (View) findViewById(R.id.view); Rect rect = new Rect(); view.getWindowVisibleDisplayFrame(rect); int statusBarHeight = rect.top; ただし端末によってはステータ
ステータスバーとタイトルバーに大きさを表示する。 現行では、ステータスバーやタイトルバーの大きさを取得する簡便な方法がありません。 従来の方法 ネットでは、下記のように計算する方法が紹介されています。 Rect rect= new Rect(); Window window = getWindow(); window.getDecorView().getWindowVisibleDisplayFrame(rect); int statusBarHeight= rect.top; int contentViewTop= window.findViewById(Window.ID_ANDROID_CONTENT).getTop(); int titleBarHeight = contentViewTop - statusBarHeight; if(titleBarHeight < 0){ t
タイトルバーの高さを何で変える必要があるのか? それは、右のような、ボタン付きのタイトルバーを作りたいときに、高さを増やさないと、ボタンが収まらないで、妙なあんばいになってしまうからです。 Android 3.0 - HoneyComb 以降であれば、タイトルは、Action Barという新しいスタイルになって、ボタンでも何でも簡単に設置できるのですが、GingerBread 以前では、タイトルバーをカスタマイズするしかないのです。 カスタムするだけなら簡単で、タイトルバーのレイアウトを記述したレイアウトを、タイトルバーに設定してやるだけです。 @Override protected void onCreate(Bundle savedInstanceState) { getWindow().requestFeature(Window.FEATURE_CUSTOM_TITLE); setC
毎回、過去に実装したアプリのコードを見るのがめんどいのでメモしておきます。 例えば、入力欄のあるオリジナルのダイアログを作るとします。 public void showOriginalDialog(Context context) { LinearLayout ll = new LinearLayout(context); ll.setOrientation(LinearLayout.VERTICAL); TextView tv = new TextView(context); tv.setText("お名前を入力してください。"); EditText et = new EditText(context); ll.addView(tv); ll.addView(et); Dialog dialog = new Dialog(context); dialog.setContentView(l
Canvasにテキストを描画する際など、思い通りの位置に描画するためにはFontMetricsを使用して座標を計算します。 Androidの場合も基本的な考え方はjava.awt.FontMetricsと同じです。 FontMetricsの基本 中心線上に文字列を描画 吹き出しを描画 サンプルのソースコード FontMetricsSampleView.java FontMetricsの基本 ポイントとなるのは下記の4つの座標でいずれもベースラインからの位置を示しています。 ・FontMetrics.top ・FontMetrics.ascent ・FontMetrics.descent ・FontMetrics.bottom 図にすると下記のようなイメージになります。 ●がテキストを描画する際に指定した座標です。 // テキスト用ペイントの生成 Paint textPaint = new
いままでも sp という単位が用意されていましたが、標準の設定アプリでシステムの文字スケールを 設定できないかったので、ほぼ dp と同じような振る舞いでした。 Android 4.0 の設定アプリではシステム全体の文字スケールが設定できるようになっています。 [Display] - [Font size] で、ここからが本題。 TextView の setTextSize() メソッドの引数は sp 単位として処理されます。 --- public void setTextSize (float size) Set the default text size to the given value, interpreted as "scaled pixel" units. This size is adjusted based on the current density and user
Android4.0(Ice Cream Sandwich)から設定でフォントサイズがユーザー側で変更できるようになっています。 spでフォントサイズを指定した箇所はコノ設定に従ってサイズが変わってしまいます。 コレを何とかしたいと思います。 とりあえず見つけた方法なので、もっと簡単な方法があれば教えて下さい。 サンプルで次のようなレイアウトを使います。 text1という上のTextViewだけに処理を入れます。 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:
wonderflは、サイト上でFlashをつくることのできるサービス。 通常Flashをつくるためには、Flash IDEやFlex、FlashDevelop等といったツールを使って、コードを書き、コンパイルする必要がありますが、wonderflでは、サイトにあるフォームにActionscript3のコードを書けば、サーバサイドでコンパイルを行えます。 つまり、ブラウザさえあれば、Flashをつくれます。コンパイル結果はサイト上に表示され、作成されたFlash(swf)はページ上に自動的に表示されるので、完成したFlashをリアルタイムに見ながらコードを書くことができます。 ※APIとして、はてな OpenIDを使用してネットにさえつながれば、誰もがFlashクリエイターになれます。世界中のFlashクリエイターがユーザーになるwonderflは、 文字通り、世界のFlash図鑑となってい
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く