TONY0922のブログ

学んだことを適当に記録していくブログです。主にRuby, Java, PHPで仕事してます。更新頻度はそんなに高くないので、ご了承下さい。

iOS Core Data徹底入門 を読んだ。

iOS

iOS Core Data徹底入門作者: 國居貴浩出版社/メーカー: 秀和システム発売日: 2013/11/01メディア: 単行本この商品を含むブログ (1件) を見る【対象】 中級者【感想】 もっと早く読んでおけばよかった一冊。データを永続化させるのにファイルから始まって、SQ…

Effective Objective-C 2.0 を読んだ。

iOS

Effective Objective-C 2.0作者: Matt Galloway出版社/メーカー: 翔泳社発売日: 2013/11/20メディア: Kindle版この商品を含むブログ (1件) を見る【対象】 中級者 ~ 上級者【感想】 プライベートでiOSアプリ作成してるんだけど、 そこで色々悩んだ事柄が結…

iPhone/iPad 開発ポケットリファレンス を読んだ。

iOS

iPhone/iPad 開発ポケットリファレンス作者: WINGSプロジェクト,片渕彼富,山田祥寛出版社/メーカー: 技術評論社発売日: 2013/11/23メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る【対象】 iPhone開発する人ならだれでも【感想】 iOS関…

レベルアップObjective-C を読んだ。

iOS

レベルアップ Objective-C (Software Design plus)作者: 沼田哲史出版社/メーカー: 技術評論社発売日: 2013/11/12メディア: 大型本この商品を含むブログ (1件) を見る【対象】 初心者 ~ 中級者向け対象【感想】 Xcodeの基本的な使い方やデバッグのやり方が …

Titanium MobileのAlloyでControllerで作成したViewにtssの定義を適応させる。

Titanium SDK:3.2.0 Alloy:1.3.0Controllerで作成したViewはそのままだと tssで定義したclassを当てはめることができないので、 Dynamic Styleを使うと良い。index.tss // Button全てに以下の定義が適用。 "Button" : { backgroundColor : "black" } ".but…

Titanium MobileでAlloyでアプリ名を日本語にする

Titanium SDK:3.2.0 Alloy:1.3.0・プロジェクトのappフォルダと同階層に「i18n」フォルダを作成 ・i18n/ja/app.xmlを作成。 ・app.xmlを編集 <resources> <string name="appname">日本語アプリ名</string> </resources> これで、ビルドするとiOSとAndroidの両方でアプリ名が日本語になります。

Titanium MobileのiOS用スプラッシュ画像はちゃんとしたpng拡張子を使おう

お前は何を言って(略Titanium MobileでiOS用のスプラッシュ画像を使うために gifファイル用意してたんだが、pngしか設定できないようなので、 拡張子をリネームして、下記のファイルを設定した。Default.png Default-568h@2x.png Default@2x.pngiOS Simulato…

Titanium Mobileで親Viewにイベント伝搬させない

Titanium SDK:3.2.0 Alloy:1.3.0親Viewと子Viewに同じClickイベントを設置した時、 デフォルトでは子ViewのClickイベント後、親Viewのclickイベントが発生します。 var parentView = Ti.UI.createView({ height : Ti.UI.FILL, width : Ti.UI.FILL }); pare…

Titanium MobileでBase64でエンコードされた画像を表示。(Android/iPhone)

Titanium SDK:3.2.0 Alloy:1.3.0サーバーからBase64でエンコードされた画像データを表示したかったのだが、 AndroidとiPhoneでハマったので、メモ。 // 画像取得先のURL(仮のもの) var url = "http://hogehoge.com/getImage"; var xhr = Ti.Network.crea…

Titanium MobileのSQLite3でBooleanを使用する際の注意点(Android/iOS)

Titanium SDK:3.2.0 Alloy:1.3.0SQLite3のカラム型でBoolean型は存在しないので、 代わりにInteger型を使用することになると思うのですが、 iPhoneだとtrueを設定しても、SQLiteでは自動的に「1」が登録されます。しかし、Androidでは自動的に変換は行われ…

Titanium MobileにてBackボタンを無効化する。(Android/iOS)

Titanium SDK:3.2.0 Alloy:1.3.0両OSでBackを無効化したかったので調べた。 色んな所で使用したかったため、グローバル関数にしてみた。・alloy.js Alloy.Globals.disableBack = function(windowObj) { if (OS_IOS) { // iOSはナビゲーションバーを使用し…

Titanium Mobile でOSのバージョンを取得する。(iOS/Android)

Titanium SDK:3.2.0 Alloy:1.3.0Android 2.3.3で試す場合 gist8799810OSのバージョンは「4.0.4」とか「2.3.3」と言った表記なので、 そのまま数値にすると「NaN」になってしまう。したがって、「4.0」や「2.3」などに整形する必要がある。

Titanium MobileでiPhone開発後にAndroid対応をしてハマる所

Titanium SDK:3.2.0 Alloy:1.3.0 ・requireでモジュールを読み込めない。 モジュールの定義が「exports」だと、Androidで読み込めない。 「module.exports」を使うこと。・画像ファイルの指定方法が異なる。 # 画像を/app/assets/images/background.gifに…

Titanium Mobileでrequireを使用して、モジュールを読み込む方法(Android/iOS)

Titanium SDK:3.2.0 Alloy:1.3.0定数管理したJSファイルを読み込もうとしたんだが、・constants.js (app/lib/constants.js) exports = { test : { name : "hogehoge" } } ・alloy.js Alloy.Globals.constants = require("constants"); console.log(Alloy.G…

Titanium Mobileでナビゲーションバーの半透明を無くす方法

Titanium SDK:3.2.0 Alloy:1.3.0下記で解決した!!class = "container"として、 gist8767899

Titanium Mobile で定数管理

Titanium SDK:3.2.0 Alloy:1.3.0Alloyで定数を管理するファイルを作成して、 グローバル変数で読み取る方法を考えた。■ 定数ファイル (app/lib/constants.js) module.exports = { config : { code001 : "XXXXXXXXXX", code002 : "YYYYYYYYYY" } }; ■ alloy…

Titanium Mobileでtsvファイルから初期データを入れる。

Titanium SDK:3.2.0 Alloy:1.3.0tsvファイルから初期データ読み取って、テーブルに入れる方法を考えた。■ tsvファイル 1行目 column1 column2 column3 2行目 aaa AAA 111 3行目 bbb BBB 222 4行目 ccc CCC 333 5行目 ddd DDD 444 /** * tsvファイルからイ…

Titanium Mobile で navigation window にて「戻る」ボタンを非表示

Titanium SDK:3.2.0 Alloy:1.3.0 // ウィンドウオブジェクトのidがwindow $.window.leftNavButton = Ti.UI.createLabel({text:' '}); カッコ悪いけど、これが一般的っぽい。

Titanium Mobile で整形した日付を取得する

Titanium SDK:3.2.0 Alloy:1.3.0SQLiteではデータ型が存在しないので、text型で保存するのが定番らしい。 Alloyには日付操作ライブラリ「moment.js」が提供されているので、 それを使って、text型の日付が取得できる。 var moment = require('alloy/moment…

Titanium Mobile(Alloy)でModelにID属性を定義したい

Titanium SDK:3.2.0 Alloy:1.3.0configあたりで下記のように書くと出来ました。 exports.definition = { config: { columns: { // 制約をここに書く。 "id": "integer PRIMARY KEY AUTOINCREMENT", "column001": "text", "column002": "text" }, adapter: …

Titanium Mobile にて 特定のテーブルのレコードを全消去する

Titanium SDK:3.2.0 Alloy:1.3.0Truncateがなかったので、パフォーマンスがアレですが、 下記でテーブルのレコードが全部、消せます。 var collection = Alloy.createCollection('model_name'); collection.fetch(); while (collection.length) { collecti…

Titanium Mobileでトランザクション(trunsaction)。

Titanium SDK:3.2.0 Alloy:1.3.0AlloyでトランザクションをやってくれるAPI等はまだ提供されてないみたい。 なので、下記な感じで書きましょう。 var db = Ti.Database.open('_alloy_'); db.execute('BEGIN TRANSACTION'); db.execute(String.format("inse…

Titanium Mobileでデータベースを参照したい(iOS version)

Titanium SDK:3.2.0 Alloy:1.3.0SQLiteのクライアントソフトは「Lita」がおすすめ。・Lita http://www.dehats.com/drupal/?q=node/58【手順】 1. Titanium stadio で iOSシュミレータ立ち上げ2. Litaを起動。3. 「DBFile」でビルドしたアプリのsqlファイル…

Titanium mobileでNavigationWindowで数階層下にあるViewからRootWindowまで一気に戻る。

Titanium SDK:3.2.0 Alloy:1.3.0iOSのnavigationControllerでpopToRootViewControllerAnimatedみたいな操作が出来ないかなーと思って、 色々調べたけど、標準ではAPIが用意されていないみたい。したがって、遷移してきた画面をグローバル変数として 配列で…

Alloyで画面下部に広告スペース載せるときのレイアウト見本

Titanium SDK:3.2.0 Alloy:1.3.0画面下部に高さ50の広告エリアを表示する際の 指定方法が結構、ハマったので書いておく。・Viewファイル <Alloy> <Window> <View class="notAdViewArea"> </View> <View class="adViewArea"> </View> </Window> </Alloy> ・Tssファイル ".notAdViewArea" : { backgroundColor:"green", bottom:"50dp" } ".adViewArea" : { backgro…

Titanium Studio ショートカット 一覧 Alloy版

Alloyでアプリ作ってる際に知ってると捗るものを一覧化。(Mac用) テキストエディタにフォーカスされてる時 shift + command + C 該当のControllerファイルに移動 shift + command + S 該当のTSSファイルに移動 shift + command + V 該当のViewファイルに移…

Androidアプリ作成で動作保証をどこまでやるべきか。

受託でやる際の注意点を探ってみると下記を見つけた。スマートフォンアプリの開発受託契約において留意すべき事 http://www.slideshare.net/GenichiKataoka/ss-15752418確かにOSのバージョンだけじゃなく、対象機種も絞った方が良いかも。スマホアプリでもAn…

年末年始の目標

JavaScript 言語仕様をひと通り読む Titanium Mobile 簡単なアプリ作成(TODOアプリとか) 作成中のiPhoneアプリをTitnaium用に書き直す(iOSとAndroid) 製作中のiPhoneアプリ デザイン修正 現在認識しているバグを修正 英語学習 Titanium MobileのDocument…

XcodeにプラグインのXVimを入れてみたよ。

XcodeにプラグインのXVimを入れてみたよ。以下、インストール手順は下記参照 https://github.com/JugglerShu/XVimこれで、Xcodeには無かった「行の結合」とかができるようになった。

Xcodeのプラグインを一括で管理してくれる「Alcatraz」

Xcodeのプラグインを一括で管理してくれる「Alcatraz」というソフトがあるらしい。https://github.com/mneorr/AlcatrazATTENTION: Xcode 5 is work in progress We're working on releasing Alcatraz 1.0 for Xcode 5. Please be patient and don't create i…