サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
www.saturn.dti.ne.jp/~npaka
可能 startActivity()を呼び出したタスクに積まれる。 FLAG_ACTIVITY_NEW_TASKで 別タスクとして追加も可能
VSync 「VSync(垂直同期信号)」はディスプレイの描画タイミングを計るために定期的に通知される信号のこと。VSyncを利用し、アプリの描画速度をディスプレイの描画速度に合わせることで、より滑らかなアニメーションを実現することができる。 多くのAndroid端末のディスプレイは1/60秒で1枚の絵を描画している。「毎秒60フレーム(60Hz)」は、1フレームの処理時間として「16ms」を持っていることを意味する。 VSyncなし(ICS) 「ICS」はVSyncは利用していないため、アプリの1フレームの描画処理はVSync信号とは関係なく開始される。そのため、次のVSync信号までの時間は「16ms以下」の不定な時間になり、描画が間に合わない時は、前フレームと同じ絵を描画することになる。 VSyncあり(JB) 「JB」はVSyncを利用しているため、アプリの1フレームの
dpi ICSでは「短幅px/(dpi/160)」が 600未満の時Phone、600以上の時Tabletとなる。 JBでは「短幅px/(dpi/160)」が 720未満の時Phone、720以上の時Tabletとなる。
OpenGL ES 1.0でアクションゲームを作成する。 3Dモデルファイル 以下の8つのファイルをプロジェクトのassetsに配置。 droid_body.obj droid_hand.obj droid_leg.obj droid.mtl block.obj block.mtl block.png sprite.png ライブラリ 3Dモデルの読み込みで利用した独自ライブラリを追加。 モデル変換用のクラス Object3D Vertex3D 3Dモデル読み込み用のクラス ObjLoader GLES Figure Mesh GLObject VertexBuffer IndexBuffer Material Texture 2D描画用のクラス Graphics ソースコード GL10ActionGame.java package net.n
package net.npaka.heapex; import java.nio.ByteBuffer; import java.util.ArrayList; import android.app.Activity; import android.app.ActivityManager; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Color; import android.os.Bundle; import android.os.Debug; import android.view.View; import android.view.Window; import android.widget.Button; import android.widget.L
addJavascriptInterface(Object obj, String interfaceName)
WDDM 1.1ドライバ Windows用のディスプレイドライバ。Windows Phoneのエミュレータの動作にはWDDM 1.1ドライバが必要。 PCにインストール済みかどうかはコマンドラインでdxdiagコマンドを入力してDirectX 診断ツールを起動し、 ディスプレイタブのドライバーのドライバーモデルで確認。 ドライバはNVIDIAのサイトなどからダウンロードできる。 Windows Phone Developer Tool Windows Phoneアプリを作成するための開発キット。以下のツールが含まれている。 Visual Studio 2010 Express for Windows Phone Windows Phone Emulator Silverlight for Windows Phone Microsoft Expression Blend for
C2DMを利用するプログラムを作成する。 D2CMのアカウント登録 GoogleのサイトでD2CMを利用するためのアカウント登録を行い、コードの[登録したアカウント]に埋め込む。 バックアップのテスト手順 C2DMExを起動し、デバイス登録IDを取得。 CatLogに出力されるので、AppServerに埋め込む。 本番ではHTTP通信で通知してアプリケーションサーバで保持。 他の端末でAppServerを起動し、メッセージの送信ボタンを押す。 C2DMExをインストールした端末でトーストが表示される。 アプリのソースコード C2DMEx.java package net.npaka.c2dmex; import android.app.Activity; import android.app.PendingIntent; import android.content.Inte
FlashDevelopを利用して、"Hello World!"という文字列を表示するAndroidアプリを作成する。 FlashDevelopの実行に必要な開発ツールは以下の5つ。他の4つをインストール後にFlashDevelopをインストール。 Java 6(JRE1.6) Javaアプリの実行環境。 FlashDevelopの実行に必要。 インストーラの指示に従ってインストール。 .Net Framework 3.5 .Netアプリの開発環境。 FlashDevelopの実行に必要。 インストーラの指示に従ってインストール。 Flex 3 SDK コマンドラインベースのFlashの開発環境。 FlashDevelopのビルド実行に必要。 「Latest Milestone Release Builds」の「Adobe Flex SDK」(バージョン3.5以降)をダウ
Handler handler=new Handler(); Message msg=Message.obtain(handler,new Runnable() { public void run() { android.util.Log.e("","UI操作可能"); } }); msg.what=MESSAGE_ID;//メッセージID msg.obj=object; //任意のオブジェクト引数 msg.arg1=0; //任意のint引数 msg.arg2=0; //任意のint引数 handler.sendMessageDelayed(msg,100);
ActivityManager.MemoryInfo info; info=new ActivityManager.MemoryInfo(); ActivityManager am=((ActivityManager)context. getSystemService(Activity.ACTIVITY_SERVICE)); am.getMemoryInfo(info); //info.availMem 空きメモリ //info.lowMemory 低メモリ状態かどうか //info.threshold 低メモリ状態までの有効メモリ
スナップショットをファイルに保存するプログラムを作成する。保存先は「/data/data/net.npaka.snapshotex/files/snapshot.jpg」。 ソースコード SnapShotEx.java package net.npaka.snapshotex; import android.app.*; import android.content.*; import android.graphics.*; import android.os.*; import android.view.*; import android.widget.*; import java.io.*; //スナップショットの保存 public class SnapShotEx extends Activity implements View.OnClickListener { private
カスタマイズしたボタンとダイアログを生成して利用するプログラムを作成する。 描画リソース drawable-nodpi/box.9.png drawable-nodpi/button.9.png drawable-nodpi/button_pressed.9.png drawable-nodpi/button_focused.9.png drawable-nodpi/custombutton.xml <?xml version="1.0" encoding="UTF-8"?> <!-- カスタムボタンのセレクタ --> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/button_pressed" android:state
トゥイーンアニメーションを利用するプログラムを作成する。 リソース 「res/drawable-nodpi」に「face0.gif」を配置。 face0.gif 「res/anim」に「spin.xml」を配置。 spin.xml <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false"> <scale android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromXScale="1.0" android:toXScale="1.4" android:fromYS
インテント インテントの主な用途は「アクティビティの起動」と「インテントレシーバーへの通知」と「サービスの起動」と「サービスとの接続」の4つ。 起動したいアクティビティの情報を設定したIntentオブジェクトを、startActivity()メソッドで投げることによって、アクティビティを起動することができる。 インテントには、アクティビティのパッケージ名とクラス名を直接指定する「明示的なインテント」と、インテントフィルタの属性で指定する「暗黙的なインテント」が存在する。 明示的なインテント 起動したいアクティビティをパッケージ名とクラス名で直接指定する。
電話番号・SIM・デバイスID・サービス・通信強度・基地局・電話コールを取得するプログラムを作成する。 ソースコード TelephonyEx.java package net.npaka.telephonyex; import android.app.Activity; import android.content.Context; import android.graphics.Color; import android.os.Bundle; import android.telephony.CellLocation; import android.telephony.PhoneStateListener; import android.telephony.ServiceState; import android.telephony.TelephonyManager; import
長押し・フリック・ダブルタップなどのイベント処理を行うプログラムを作成する。 ソースコード GestureDetectorEx.java package net.npaka.gesturedetectorex; import android.app.*; import android.os.*; import android.view.*; //長押し・フリック・ダブルタップなどのイベント処理 public class GestureDetectorEx extends Activity { private GestureDetectorView gestureDetectorView; private TickHandler tickHandler; //アプリの初期化 @Override public void onCreate(Bundle icicle) { super.onC
メールを送信するプログラムを作成する。 フレームワークの準備 MessageUI.frameworkを追加。 ソースコードの記述 MailEx.h #import <UIKit/UIKit.h> #import <MessageUI/MessageUI.h> #import <MessageUI/MFMailComposeViewController.h> //MailExの宣言 @interface MailEx : UIViewController < UITextFieldDelegate, MFMailComposeViewControllerDelegate> { UITextField* _textField; } @end #import "MailEx.h" #define BTN_SEND 0 //MailExの実装 @implementation MailEx
ホームウィジェットを作成する。 リソース resフォルダの下にdrawableフォルダを作成し、以下の画像を追加。 dice1.png dice2.png dice3.png dice4.png dice5.png dice6.png resフォルダの下にxmlフォルダを作成し、以下のホームウィジェット設定xmlを追加。 appwidgetex.xml <?xml version="1.0" encoding="utf-8"?> <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:initialLayout="@layout/appwidget" android:minHeight="72dip" android:minWidth="72dip" a
//乱数シード + (void)srand { srand(time(0)); } //乱数の取得 + (int)rand:(int)num { return abs(arc4random())%num; } //現在時刻の取得 + (double)currentTimeMillis { return (double)[[NSDate date] timeIntervalSince1970]; } //年月日の取得(cal.year/month/day/hour/minute) + (NSDateComponents*)calendar { NSDate *date=[[[NSDate alloc] init] autorelease]; NSCalendar *gregorian=[[[NSCalendar alloc] initWithCalendarIdentifier:NSGreg
//アクティビティの起動 public static void startActivity(Context context, String packageName,String className) throws Exception { Intent intent=new Intent(Intent.ACTION_MAIN); intent.setClassName(packageName,className); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); } //アクティビティの起動 public static void startActivity(Context context, String packageName,String className, HashMap<St
OAuthによるTwitter通信を行うプログラムを作成する。 アプリの登録 Twitterの連携アプリの登録ページでアプリの登録を行う。 アプリケーションの種類は「ブラウザアプリ」、コールバックURLには適当なURLを記述。 インテントでWebブラウザを開いて認証を行い、証明書となるトークンを元のアクティビティに戻してもらうため。 consumerKeyとconsumerSecretを取得し、ソースコードに記述。 ライブラリの追加 オープンソースライブラリ「oauth-signpost」を使用する。 「signpost-core-1.2.1.1.jar」と「signpost-commonshttp4-1.2.1.1.jar」をダウンロードしてパスを通す。ライブラリの追加方法は「Package Explorerのプロジェクト名を右クリック→Properties→Java Bu
#import <UIKit/UIKit.h> //WebViewExの宣言 @interface WebViewEx : UIView <UIWebViewDelegate> { UIWebView* _webView; UIView* _indicator; } @end #import "WebViewEx.h" //WebViewExの実装 @implementation WebViewEx //インジケータの生成 - (UIView*)makeIndicator { //背景 UIView* view=[[[UIView alloc] initWithFrame: CGRectMake(0,0,320,480)] autorelease]; [view setBackgroundColor:[UIColor blackColor]]; [view setAlpha:0.4f];
OpenGLで三角形を描画するプログラムを作成する。 フレームワークの準備 QuartzCoreフレームワークとCoreGraphicsフレームワークとOpenGLフレームワークを追加。 ソースコードの記述 TriangleView.h #import <Foundation/Foundation.h> #import "EAGLView.h" //TriangleViewの宣言 @interface TriangleView : EAGLView { } @end #import "TriangleView.h" //頂点配列情報 const GLfloat triangleVertices[]= { 0, 100, 0, //1つ目の頂点情報(XYZ座標) 0, 0, 0, //2つ目の頂点情報(XYZ座標) 100, 0, 0, //3つ目の頂点情報(XYZ座標) }; //
次のページ
このページを最初にブックマークしてみませんか?
『http://www.saturn.dti.ne.jp/~npaka/』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く