タグ

2012年4月3日のブックマーク (17件)

  • ステータスバーの高さを取得する方法 - [Androidアプリ/Android] ぺんたん info

    表示領域の上部の位置を使用すると、ステータスバーの高さとなります。 [参考記事] 画面解像度などディスプレイの情報を取得する方法 [参考記事] タイトルバーやステータスバーを非表示にする方法 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; ただし端末によってはステータ

    barasixi
    barasixi 2012/04/03
    わかりやすい。 これで何とかなるかな……?
  • Androidアプリ開発開始/SurfaceView - BASHI_BASHI

    今週はcocos2dによる様々なActionに関する続きを書く予定だったのですが、Androidアプリを作成することになった影響で、現在絶賛Android勉強中につき、そのことについて書きます。 Androidゲームを作成する際、通常のViewでは描画回数(FPS)が物足りないということで、SurfaceViewでいろいろいじくりまわしております。Objective-Cに慣れていた影響で、Javaに違和感を覚えていましたが、ここ1週間でだいぶよくなりました。 環境構築やおすすめサイトなど ・Android SDK ・Eclipse ・プラグイン のインストール方法については、 MacAndroid SDKをインストール を、 Android Developers 公式ドキュメントの日語化バージョン(非公式)は、 Android 開発ガイド - ソフトウェア技術ドキュメントを勝手に翻訳

    Androidアプリ開発開始/SurfaceView - BASHI_BASHI
  • [Android] Androidのゲームの作り方・実践編 - minghaiの日記

    上に書いたことだけわかればAndroidゲームを作るのは難しくないと思います。 そんなわけで実践編です。 先日移植したアレを修正しました。 先日移植したアレはSurfaceViewを用いていながらThreadも使わず全てHandlerにて処理しておりました。 今回はLunar Landerに習ってThreadとlockCanvasによるループを用いています。 変更点は次のとおりです。 画面のカラー化 影の追加 回転軸の変更 回転補正の追加 Nextミノの表示 重力の採用 50ライン毎に重力アップ ゲームオーバーの追加(笑 操作はパッドとセンターボタン、エミュレータではZとXも使用可です。 Core2Duo2.4GHzのノートPCにて53fps出ています。 かなり速いですね。 AMDの結構古いAtholon 64 X2 3800+ 2GHzですと45fps程度になります。 DalvikVM

    [Android] Androidのゲームの作り方・実践編 - minghaiの日記
  • 暇人プログラマの日記

    次は画面のタッチイベントについて学習してみます。 画面をクリックしたらダイアログが出て、クリックした座標を表示するようにします。 TouchTest.java import android.app.Activity; import android.os.Bundle; public class TouchTest extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new TouchView(this)); } } TouchView.java import android.app.Al

  • Javaの道:クラス(2.クラス)

    クラスの宣言 クラスは以下のフォーマットで宣言します。クラス体には、そのクラスの状態と振る舞いを定義します。状態はメンバ変数、振る舞いはメソッドで定義します。 【例1】クラスの宣言例です。 class Example { int exValue = 100; //値100の状態を持つメンバ変数 void exShow() { //exValueを表示するメソッド System.out.println(this.exValue); } } 文法上誤りではありませんが、慣例上以下のルールで、クラス名、メンバ変数名、メソッド名を記載します。

    Javaの道:クラス(2.クラス)
  • はてなブログ | 無料ブログを作成しよう

    台湾ひとり事旅(前編) 台湾へ行ってきた。チケットと宿を予めおさえていたものの、台湾地震の発生で予約を一度はキャンセル。その後の台湾観光庁の旅行に来て大丈夫だよ、という声明を確認してやはり行くことに。 目的はシンプルで、台北周辺で美味しい事をたくさんべること。そして自宅…

    はてなブログ | 無料ブログを作成しよう
  • 内部クラスはエンクロージングインスタンスが無くてもインスタンス化できるのは仕様? - 地平線に行く

    id:backpaper0さんが内部クラスはエンクロージングインスタンスが無くてもインスタンス化できる?と書かれていました。 Inner.class.getConstructor(Outer.class).newInstance((Outer) null); 実行してみたところ、確かにインスタンス化できました。 でも、これってバグなんでしょうか?仕様なんでしょうか? id:backpaper0さんは「わからない」、これを検証したid:ryoasaiさんは「バグに近い」としています。 そこで、調べてみました。 内部クラスのコンストラクタ まず、内部クラスの挙動を確認してみました。 id:ryoasaiさんの検証コード(普通のSI会社では評価されにくいのだけど、多くのシステムは研究熱心な技術者の小さな発見と工夫の積み重ねによって支えられているのでは? - 達人プログラマーを目指して)を改良し、

    内部クラスはエンクロージングインスタンスが無くてもインスタンス化できるのは仕様? - 地平線に行く
  • そんなスレッドで大丈夫か? - Kazzz's diary

    Androidアプリケーションでバックグラウンド処理をスマートに解決することができるAsyncTaskだが、気をつけることがある。 これはテスト用に書いたURLから画像をダウンロードして表示するアプリケーションだが、ボタンを押下されると画像をWWWから読込んでプログレスバーを更新する処理をUIスレッドを邪魔しないように、バックグラウンドで実行するためにAsyncTaskを使って書いている。 AsyncTest.java public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final Button btnGo = (Button)this.findViewById(R.id.btnDownload); final

    そんなスレッドで大丈夫か? - Kazzz's diary
  • Android:Adapter.getViewでAsyncTaskは危険 | 自転車で通勤しましょ♪ブログ

    メモ書き程度に残しておこうと思います。 WebAPIと連携したアプリでListViewなどを使っていると、画像を遅延ロードすることがたくさんあると思います。そこで、ListView.getViewの動作を速くするためにViewHolderを使ったりなどのテクニックが紹介されていますが、そこでAsyncTaskを使って画像をDLする仕組みを使うのは危険です。具体的にいうと、キューを使わずに、ですが。 getViewは頻繁に呼ばれるメソッドです。リストをちょっとスクロールしても呼ばれますし、ソフトウェアキーボードの出し入れなど、画面描画に関するものが使われると怒濤の如くコールされます。今回は8行表示するところで、24回もgetViewが呼ばれ、8回しか呼ばれないと思っていたAsyncTaskが24回も呼ばれていました。スクロールしたらさらに呼ばれ続けて、スレッド数が多過ぎるというエラーでアプリ

  • SepiAndroid - Androidでアプリ開発体験 - 

    だいぶ時間があいてしまいました・・・。 転職やら引っ越しやら何やらでゴタゴタしていて、落ち着いて記事を書けませんでした。 ようやく落ち着いたので、これからまた記事を再開したいと思います。 はじめに 久々の投稿です。以前、SurfaceViewについての記事を投稿しましたが、その際はSurfaceViewを画面全体に使用しており、レイアウトにxmlファイルを使用していませんでした。しかし、androidを開発する場合は、レイアウトはxmlファイルにまとめた方が何かと便利ですので、今回はxmlファイルを使用してSurfaceViewを画面上にレイアウトしてみたいと思います。 ポイント 今回のポイントは、SurfaceViewのためのコールバックをどうやって登録するか、です。そこさえ理解できれば、後は以前の記事と同じです。 プロジェクトの新規作成 いつものようにEclipseを起動して、新規プロ

  • ゲームの実装を行う

    ゲームのためのデータ構造 第1回で「Rabbit Maze」というゲームの企画/仕様の概略を説明した。今回からはその仕様をどのように実装しているかを解説していく。「Rabbit Maze」にはゲームとして色々な画面があるのだが、連載ではメインのゲーム部分に絞って解説していく。必要な場合はサンプルコードを交えながら解説していくが、「Rabbit Maze」で実装しているそのままのコードを掲載しているわけではないということを最初にお断りしておく。必要な部分のみをピックアップして解説していきたいと思う。 第1回でも述べたように、元々はボードゲーム将棋盤と駒の動き)を作るためにボードゲームのためのクラスを作成しており、その「タイル上で駒を移動させる」という処理を元に「Rabbit Maze」を作成している。まずはこのクラスでどのように「ゲーム盤」と「駒」の移動を制御しているかを説明する。クラス

  • 札幌情報未来専門学校

    オープンキャンパスに参加しよう!■2024年度 オープンキャンパス開催日 <詳しい内容はコチラをチェック!>

  • Google Objective-Cスタイルガイド 日本語訳

    Text Drop 翻訳、プログラミング、写真、カメラなどについて書いてます。スタイルガイド/コーディング規約やチートシートなど、ちょっと便利なものを翻訳しています。 TEXTdropでは、C++プログラマーも利用できるパワフルな機能を搭載。C++のコードを書く際に行う手順や避けておきたい工程などを詳しく説明しています。コードスタイルラインの日語版では、日語訳やJ P Yへの換金もサポート。話題性があるオンラインカジノ 日円変換や入金の際のバグにも対応しています。統一性のあるコードを書くためのポイントや規約の種類を参考にする事ができます。

  • 【2012年3月人気記事】この先生きのこるエンジニアたちにおくる、菌類の叡智 - @IT自分戦略研究所

    ■さらば、きのこる先生! さようなら、きのこる先生……! 3月の1位は、エンジニアに味方する菌類、きのこる先生の最終回「転職したいITエンジニアが知るべき97のこと」でした。タイトルは「きのこ」としてエンジニアに親しまれている「~~が知るべき97のこと」シリーズへのオマージュです。 最終回では、過去の記事で紹介した「転職」にまつわるポイントを整理しつつ、「面接」で人事担当が見るポイントについて新たに解説しています。97個は多いよ! と思うかもしれませんが、1つ1つはそれほど長くないので、ゆるりと読んでいただければ幸いです。 きのこる先生のエンジニア転職指南 インデックス ■エンジニア音ぶっちゃけトーク「エンジニアなう」始めました 「エンジニアなう」は、現場を知るエンジニアならではの「ぶっちゃけトーク」レポートです。ポジティブな話、ネガティブな話ごっちゃに、エンジニアが匿名で「音」を

  • onSaveInstanceStateでインスタンスを保存する(Androidアプリの変数を一時保管する方法) | TechBooster

    onSaveInstanceStateメソッドを使ってActivityのインスタンスを保存/復帰させる方法を紹介します。onSaveInstanceState/onRestoreInstanceStateメソッドは永続的なデータ保存には利用できませんが、一時的にインスタンスを保存するケースでは威力を発揮します。 アプリケーションを起動する際、現在表示されているアプリケーションはbackgroundにまわり、新しいアプリが起動します。backgroundに回ったアプリケーションはAndroidのアプリケーション履歴の”backstack”モデルに従い、履歴としてスタックします。 Android端末のメモリが豊富に残っていれば、backgroundのActivityのインスタンスは維持されますが、メモリが少なくなった際は破棄されます。onSaveInstanceState/onRestoreI

  • Android Bundle で状態を保存

    自分のアプリから Intent で別のアプリに飛ぶと onPause() が呼ばれて別のアプリが foreground に来ます。ここから自分のアプリに戻る場合、background にいる時間が短かったり他のアプリがメモリを要求しなければ onResume() が呼ばれて、Intent が呼ばれる前の画面の状態に戻れます。 しかし、Activity が長時間表示されなかったり、別のアプリがメモリを要求したりすると、自分のアプリに戻ったときに、前の画面の状態にはなりません。この場合に前の画面の状態にするには、その状態を意識的に保存する必要があります。 では、どうやって保存するのか、 1.タイミング onSaveInstanceState(Bundle) で保存し、 onRestoreInstanceState(Bundle) で読み出します。 こんな感じ @Override protect

  • ViewFlipper によるアニメーション付き画面切り替え

    iPhoneAndroid などの新しいスマートフォンでは美しい UI も魅力の一つです。 クールなかっこいい印象を出すためには、画面を切り替えるときに、スイッチのオン・オフのように機械的に切り替わるのではなく、スライドしたり、ズームしたりという効果をいれた方が良い場合も少なくありません。 いわゆる トゥイーン・アニメーション (Tween Animation) というものです。これに対して映画のように画像を切り替えてみせるのはフレームアニメーション (Frame Animation) といいます。 ここでは Android がもつ ViewFlipper というウィジェットを利用して、画面のスライド・アニメーションを行う方法を示します。 ViewFlipper サンプルプログラムの動作 ここで作るアニメーションは次のようなものです。 まず、"Hello!" という文字とボタンがひと

    ViewFlipper によるアニメーション付き画面切り替え
    barasixi
    barasixi 2012/04/03
    これを使うとXML遷移なら楽にできる……? 今まで気づいてなかった。 どういうのか調べておこう。