ブックマーク / labs.techfirm.co.jp (8)

  • 画面の解像度やdensity(ピクセル密度)の取得方法 | Techfirm Android Lab

    Androidは、マルチスクリーンに対応しています。 これはどういう事かというと、解像度の異なる端末でも、同じように表示させる事ができる仕組みです。 ピクセル指定で画像を作成したり、プログラム上でレイアウトを制御すると、 高解像度の端末では、横幅が足りなかったり、ボタンが小さくて押せない、といった現象が起きます。 その為、解像度の異なる端末でも、一つのバイナリで対応させるには、それらを考慮した 実装が必要になります。 その解決法のいくつかをご紹介します。 1.layout.xmlにて、dip指定でサイズを指定 dipというのは、device-independent pixelの略で、直訳しますと 端末に依存しないピクセル となります。 これはどういう単位か、というと、160 dpiの1ピクセルの物理的な大きさを1dipと定義しています。 つまり、320dpiのスクリーン

  • ゼロから始めるAndroid開発【サービス編】 | Techfirm Android Lab

    前回説明したアプリを作成するため、 今回はその中でも中心的存在となる「Service」の作成をしていきます。 Serviceとは、Activityと異なりバックグラウンドで動作できるアプリの形態です。 まずはServiceを登録するだけの簡単なActivityを書いてみます。 SelfStalkerActivity.java: public class SelfStalkerActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button = (Button)this.findViewById(R.id.button

  • Android開発でのパフォーマンスTips(1) | Techfirm Android Lab

    googleは公式ドキュメントとしてAndroid開発におけるパフォーマンス設計のベストプラクティスを公開しています。 Designing for Performance | Android Developers どんなに優れたUIであってもパフォーマンスの悪いアプリはユーザにとって使いにくいものになってしまいます。 アプリのパフォーマンスチューニングは重要です。 今回は公式ドキュメントをベースにパフォーマンス設計のベストプラクティスのご紹介です。 Javaの世界で当たり前だったものが、Androidの世界では通用しないものも多々あるので覚えておきたいです。 基的な考え方 Androidで良好なパフォーマンスを得るための基的な考え方は 無駄な処理はしない 無駄なメモリは使わない ことです。以降に出てくる原則はすべてこれにのっとったものです。 オブジェクト生成は避ける オブジェク

  • XcodeでのUniversalアプリケーション設定方法 | iPad Techfirm Lab

    Xcode 3.2.2からiPad用アプリとiPhone/iPod Touch用アプリの両方が作れるようになりましたが、iPhoneプロジェクト、ユニバーサルアプリ用プロジェクトiPad/iPhoneターゲット別のプロジェクトを作り分ける方法をメモ。 ユニバーサルアプリとは、一つのアプリでiPhoneでもiPadでも使えるアプリのこと。ユーザは1つ購入するだけで、iTunesを通して、iPhoneiPad両方でアプリを楽しめるようになる。 iPad/iPhoneターゲット別のプロジェクトとは、一つのXcodeプロジェクトで、iPhone用ビルド、iPad用ビルドを別々に行えるようなプロジェクト。だいたいiPhone用で作成済みのロジックやコントローラをiPadで再利用できるので、ソースは共有しつつ、ビルド時に何を含めるか選ぶという方式。 すべてNavigation-based app

  • Androidでモザイク画像を作ってみる | Techfirm Android Lab

    今日はAndroidでモザイク画像を作ってみます。 モザイク画像を作るためには Androidで画像のピクセルデータをいじる方法 画像のモザイク加工アルゴリズム この2つが分かればできそうです。 Androidで画像のピクセルデータをいじる方法 Androidで画像を扱う場合は、android.graphics.Bitmapクラスを使います。 前回にも登場しましたが、カメラから画像を受け取る時に、カメラのコールバックにJpegPictureCallBack等を呼ぶようにして、 private class JpegPictureCallBack implements PictureCallback { @Override public void onPictureTaken(byte[] data, Camera camera) { Bitmap bitmap = BitmapFacto

  • AsyncTaskでユーザビリティを向上させる | Techfirm Android Lab

    こんにちは。daichi1128です。 前回はHTTP通信をしてTwitterのタイムラインを取得、表示しました。 AndroidTwitterのタイムラインを取得する【XmlPullParser】 | Techfirm Android Lab ですが、前回までではユーザのアイコンは動的に表示しておらず、決め打ちで出しているだけでした。それではあまり意味がないので、今回は画像取得部分をやることにします。 ただし、メインスレッド上で画像取得をしてしまうと、取得中はユーザからの操作を全く受け付けない、使い勝手の悪いインターフェースになってしまいます。 そこで、ユーザ操作を受けつけつつ、画像を取得するために、別スレッドで処理を行います。 アプリケーションのユーザビリティを向上させるためには、この非同期処理は必須といえます。今回でマスターしてしまいましょう。 さらに、ついでなので無駄なネット

  • PopupWindow を使ってみる | Techfirm Android Lab

    今回は3つの内容を紹介します。 ヒントを表示する エラーを表示する ポップアップを自分で作る 1.ヒントを表示する EditText にグレーの文字が見えると思います。「ヒント」と書いてあります。 ユーザにどのような文字を入力してもらいたいのかというヒントを EditText の中に表示する方法です。 A. xml で記述する EditText を選択してプロパティの編集をします。 Hint という欄に文字を書けば完了 直接文字を書いてしまうと国際化できなくなるので、文字は string.xml に書きましょう B. ソースから書く setHint(”文字”) を使います。 ”文字”の部分はリソースID を指定するのがいいでしょう 2.エラーを表示する ユーザが入力した文字をチェックした結果、エラーがある場合はポップアップで表示する、という使い方になると思います。 OKボタンを押したら

  • AndroidでTwitterのタイムラインを取得する【XmlPullParser】 | Techfirm Android Lab

    こんにちは。daichi1128です。 以前、ListViewのカスタマイズとしてTwitter風のListViewを作成しました。 ListViewをカスタマイズする | Techfirm Android Lab せっかくなので、今回は続きとしてネットワーク通信をしてTwitterのタイムラインを取得する部分を作ってみます。 今回必要な作業は Twitter APIの理解 AndroidでHTTP通信 XMLデータのパース です。 Twitter APIの理解 Twitterのタイムラインを取得するにはTwitter APIを利用します。 Twitter API Wiki / Twitter API Documentation 今回はアカウントの認証が不要なpublicなタイムラインを取得することにします。 Twitter API Wiki / Twitter REST API

  • 1