Androidサンプル ローカルにファイルを保存する

Androidでローカルにファイルを保存する方法についてです。 ファイル書き込みを許可する ファイルアクセスを許可するため、AndroidManifest.xmlに以下のタグを追加します。 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> ローカルディレクトリを確認する パースペクティブをDDMSにします。右側の画面でデ…

Xcode4の使い方メモ 〜 ターゲットを作る

Xcodeではプロジェクト1つに対して複数のターゲットを追加できるみたいなので、自前makefileを使ってビルドできるようにしてみます。 まずC++のCommandLineToolプロジェクト"Multiple_targets"を作成しておきます。→//MultipleTargets.xcodeproj ターゲット…

iOSで静的ライブラリを使う

Objective-CとC++の両方を混在させてみます。※(注)環境はiOS SDK4.3, Xcode4.1, 動作確認はシミュレータのみ Static Library用プロジェクトを作成する File>New>NewProject>iOS>Framework & Libraries>CocoaTouch>StaticLib.xcodeprojを/に作成 →//StaticLib…

FreeType2をインストールして使ってみる

OSXでfreetypeを使った手順について。 ※環境はMacOSX10.7、freetype2.4.6です。他にbzip2-v1.0.6、zlib1.2.5も用意しておきます。 ※ビルドした静的ライブラリをインストールせずに持ち運んで使ってみます freetype2のビルド http://freetype.sourceforge.net…

OpenGLサンプル テクスチャ

OpenGLでテクスチャを表示する手順です。複数枚でブレンディングを有効にして表示してみます。 画像を読み込む 代表的な読み込み方は ・ライブラリを利用して直接読み込む( OpenCVのcvLoad, linpng, libjpgなど。または自作するなど) ・フレームワーク付属の…

libpng1.5.4をOSXでビルドする

zlibをビルドする http://zlib.net/からzlib source code, version 1.2.5をダウンロード、適当なディレクトリに展開、そこに移動する あとは、configure,make,make installを実行するだけです。 ./configure make make install libz.aやlibz1.2.5.dylibが作…

Cocoaアプリでライブラリを使用する方法

CocoaアプリケーションのプロジェクトにC/C++で作成しているStaticLibraryプロジェクトやCocoaFrameworkを組み込む方法についてです。開発環境はXcode 4です。 まず実行ファイルの出力先を相対パスに設定しておきます。 Xcode>Preferences>Locations>Derived…

Cocoaサンプル - ファイルダイアログ

※注意:以下紹介するサンプルはMacOSX10.6以降対応ですので注意してください。 サンプル例: # Fileメニュー>Openを選択するとファイル選択ダイアログが表示され、 Openボタンを押すと選択したファイルパスをコンソールに表示する。 Cancelを押すと何も行わな…

Androidサンプル - 音を鳴らす

AudioTrackクラスを使って正弦波を鳴らしてみます(Android SDK 2.2で作成)。手順は以下の通りです。 オーディオバッファを作成する short buffer[] = null; buffer = new short[ SAMPLES * CHANNEL ]; buffer = generateBuffer(); // 信号を生成する関数 正…

Androidサンプル - OpenGLES1による描画

GLSurfaceViewを利用します。使い方は自作RendererをGLSurfaceViewに設定して、setContentViewでActivityに渡します。 OpenGLTestActivity.java public class OpenGLTestActivity extends Activity { GLSurfaceView glSurfaceView = null; @Override public …

Cocoaサンプル - OpenGLで描画

Cocoaアプリケーションプロジェクトをプロジェクト名"CocoaOpenGL"で作成しておきます。 ライブラリの追加 TARGET>Build Phases>Link Binary With Libraries>"+">OpenGL.frameworkをプロジェクトに追加します。 OpenGLViewの作成 MainMenu.xib>Object Librar…

eclipseにsubversiveを入れる手順

IndigoにSubvresive0.7.9をインストールする手順です。2011/8/20の情報になります。 Subversiveのインストール ヘルプ>新規ソフトウェアの更新>Indigo - http://download.eclipse.org/releases/indigo を選択して、フィルターにsuvbersiveと入力する>コラボ…

Objective-C2.0文法メモ セレクタ

メッセージング Objective-Cではコンパイル時にメソッドのアドレスが確定している訳ではなく、メソッドのアドレスを各オブジェクト内のテーブルに記録しておいて、実行時にテーブル内を逐次検索して実行するべきアドレスを選択しています。メソッドを識別す…

Xcode4の使い方メモ 〜 Cocoaアプリケーション

Cocoaアプリを作成するときの操作方法についてのメモです。Interface Builderなど。 Cocoaアプリケーションのプロジェクトを作成する File>New>New Project>Cocoa Application>Next>Product Nameプロジェクト名を入力"HelloCocoa", Company Identifier:適切…

Cocoaサンプル - MVC

Xcode4を使ってMVCパターンに則った簡単なCocoaアプリーケーションのサンプルを作成します。 MVC(Model-View-Controller)パターン MVCとは以下の3つの要素からなるアーキテクチャのことです。 Model アプリケーションが利用するデータとその処理を行う部分…

Cocoaサンプル - スレッドと排他処理

スレッド NSThreadクラスを使います。 detachNewThreadSelectorメソッドで起動、exitメソッドで終了します。 別スレッドで実行する関数をセレクタで指定します。mainスレッドとは別なので、スレッドプロシージャー内では改めてNSAutoreleasePoolを準備してお…

Objective-C2.0文法メモ プロトコル

Objective-Cではあるクラスのインターフェースを定義するのにプロトコルという仕組みを利用します。Javaでいうインターフェース、C++では純粋仮想関数によるクラス定義に相当するものです。書式は以下のようになります。 プロトコルの定義 @protocol MyProto…

Objective-C2.0文法メモ カテゴリ

Objective-Cでは既存のクラスに動的にメソッドを追加することができるカテゴリという仕組みがあります。この方法を用いると派生クラスを新たに作成せずに簡単にクラスを拡張することができます。 カテゴリの定義 既存のクラスMyClassが定義されているとしま…

Opaqueポインタについて

C

Opaqueポインタ インターフェース上で未定義のデータ型をopaque data type(不透明型)と呼び、そのような型を指すポインタをOpaqueポインタと呼びます。例えばヘッダで定義されている以下のようなポインタのことを指します。 MyInterface.h #ifndef IF_H #def…

Xcode4でメモリーリークを検出する手順

メモリーリーク Xcode4でメモリーリークをチェックするには、実行中の各種状態を可視化できるinstrumentsというツールのメモリリーク画面で確認することができます。(instrumentを起動してみるにはProduct>Profileを選択してください) Xcodeの左上Runボタン…

Objective-C2.0メモ メモリ管理

Objective-Cのメモリ管理について C言語でメモリ管理をするにはmalloc, freeを使いますが、Objective-Cでは、オブジェクトの参照数を考慮したメモリ管理の仕組みが用意されています。現在いくつ参照されているのかを把握し続けるために、全てのオブジェクト…

Objective-C2.0文法メモ クラス(その2)

継承 クラス間の継承を実現するには、インターフェースの宣言に以下のように記述します。 @interface SubClass : SuperClass 基底クラスAnimalと、それを継承したCatクラスを作成してみます。 Animal.h #import <Foundation/Foundation.h> @interface Animal : NSObject { int age; } </foundation/foundation.h>…

Objective-C2.0文法メモ 〜 C言語のおさらい

Objective-Cを学ぶ前に、一通りC言語の文法を見直してみます。 C言語文法まとめ コメント // コメント /* コメント(複数行) */ 変数と変数の型・キャスト unsigned char uc; char c; unsigned short s; short us; unsigned long ul; long l; unsigned int ui…

Objective-C2.0文法メモ 基本事項いろいろ

Hello World まずはプロジェクトを作成してみます。 File>New>New Project>Command Line Tool>"Next">プロジェクト名"Hello", Type:Foundation>パスを指定して"Create" 実行するとコンソールに"Hello World!"と表示されます。 main.m #import <Foundation/Foundation.h> int main (int</foundation/foundation.h>…

Objective-C2.0文法メモ クラス(その1)

Objective-CはC言語にオブジェクト指向の概念を取り入れた言語ですので、クラスを利用することができます。 クラスの定義(インターフェース部分) interface−endで囲みます。 書式:MyClass.h @interface MyClass : NSObject { type field; // メンバ変数に相…

MacOSXでAndroid開発環境を構築する

2011/8/13の情報です。環境はMac OS X 10.7(Lion) & eclipse indigo日本語化済み android-sdk_r12-mac_x86とandroid-ndk-r6を導入してプロジェクトを作成するまでの手順になります。 自分用のメモですので手順が明らかなところは少し省略しているかもしれま…

Xcode4の使い方メモ 〜 ビルド実行 & 画面構成

※Xcode初心者向けの記事です。触ってみて分かった内容をメモしていますので、使用方法がマニュアルに対応していない可能性があります、ご注意ください。ちなみに2011/8/11時点では、Xcode4は英語のみ対応。 Hello World プロジェクト作成 例としてC++コマン…

Xcode4の使い方メモ 〜 コマンドラインアプリ & コンパイルオプションなど

いろいろ触ってみた順にメモしています。 前回と若干重複していますが、C++コマンドラインアプリを作成する手順です。 ワークスペース作成 File>New>New Workspaceで適当な場所にワークスペースを作成します。 ワークスペースには複数のプロジェクトを追加す…

Xcode4の使い方メモ 〜 ライブラリを作る

※実行ファイルの生成パスを、Xcode>Preferences>LocationsでRelativeに指定しているという前提で話を進めます。 Static Library(.a)を作る まず静的ライブラリ作成用プロジェクトを用意します。(StaticLib.xcodeproj) File>New>New Project>MacOSX>Framework…

OSXにQtをインストールする手順

Qt SDKのインストール nokiaのサイトへ行く http://qt.nokia.com/downloads-jp →Qt SDK for Macのダウンロード (12 MB)→"Qt_SDK_Mac64_online_v1_1_2_en.dmg" がダウンロードされる イメージ内のQt SDK installerを開く→"Continue"→SDKをインストールするパ…