air for ios で既存のSqliteファイルを使う

sqlite は Airでも使える便利なデータベースですが、air for iosで利用する際に既存のデータベースを使いのですが、ちょと問題があります。たぶん、Androidでも同じ感じな気がします(未確認)

sqliteを新規のデータベースファイルで利用する際には問題ないのですが、既存のDBを利用するとなるとどうやって添付するかで悩みまくりました(汗)
で、一応解決した気がするのでまとめておきます。

注意:実際にAppleの審査を受けてないのではっきりわかりません。デバイスで確認できたというだけです。

・方法
データベースファイルをアプリに添付しておいて、初めて使うときにユーザ領域にコピーする。
この方法は他のファイルでも一旦コピーしてしまえば使えることから思いついてますが、Appleの審査受けてないアプリなのでだめかもよ?(笑)

1:添付します。
Flashbuilderの場合、プロパティー>Flexビルドパスー>ソースパスでDBの場所を設定、その中に添付したいDBファイルを置いておきます。
Flashbuilder側からはリンクのアイコン(?)が表示されると思います。ソースパスが設定されていれば中のファイルもビルド時に添付されると思いますが、確認したい場合は下記な感じ。
プロパティー>Flexビルドのパッケージー>apple ios ー>パッケージのコンテンツ

2:ファイルコピーします
Air for iosではユーザがアクセスできる領域が決められています。
詳しくはが参考になります

http://cuaoar.jp/2011/11/ios-air.html

http://blog.appforandroid.info/?p=803

今回は上記を踏まえて、アプリケーション領域にあるtestmoto.dbファイルをドキュメント領域(バックアップ対象)にコピー(testsaki.db)することにします。


var motoSQLFILE:File = new File(“app:/testmoto.db”);
var sakiSQLFILE:File = new File(File.documentsDirectory.nativePath+”/testsaki.db”);

motoSQLFILE.copyTo(sakiSQLFILE, true);

testmoto.dbからtestsaki.dbへコピーしています。エラー制御等は外してますので適時。
あとは、下記のようにsqliteで読めばOKです。
添付した状態では書き込みや読み込みができないので、一旦コピーすればよいということですな。

actionscriptでexcel読み込み

Actionscriptでエクセルファイルを読み込むならas3xlsがあるとネットで見たんですが、どうも日本語が化けるらしい。で、もう少し調べてたら対策考えてくれてる人がいたのでほぼその手順を踏まえてやってみる。
まだ書きかけ(2014/9/24)

参考ページ
一陣の神風が舞う
http://ciablo.blog70.fc2.com/blog-entry-127.html

手順1:
Jcode取得
http://web2memo.blog120.fc2.com/blog-entry-221.html
上記ページでZIPファイルを落とすと、ソースが入ってますから、そのソースを自分のプロジェクトに取り込みます。

手順2:
as3xlsのソースコードを取得します。Googleコードから取得しますがsvnなのでMacでなら、svnXがいい感じです。

https://code.google.com/p/svnx/

svnxはバイナリ(dmg)があるのでそれを実行すればインストールできます。
インストール後はRepositoriesにas3xlsのリポジトリ追加

設定後、リポジトリダブクリックでリポジトリ開けるのでExportすればソースが落とせます。

ダウンロード後、自分のプロジェクトに取り込んでおきます。

手順3:
as3xlsのソース変更
com.as3xls.xls内、ExcelFile.asを下記な感じで修正

追加 import文

追加 230行付近のfor文の前

修正 250行付近のelse if(String(value).length > 0) 文

手順4:
手順3まででas3xlsは日本語化けが治っているはず。
まだ未確認

flashbuilderのメモリ関連設定

FlashBuilderを使っていると妙にファイルを開くのが遅くなったりしますが、基本的にFlashbuilderはEclipseなんでeclipse.iniをいじればいいかなといろいろやってみたら、Mac版は下記にありました。

あとは、普通のEclipseの設定なんで適切に。

AIR 15 と Flex 4.6 を導入する

FlashBuilder 4.6 の標準Flexバージョンは4.6でして、今ではとても古いバージョンなわけです。でも、Flashbuilder4.7からデザインモードが無くなったこともあって未だにFlashbuilder4.6で頑張ってるところもあるわけですよ。

ただ、AIRだけはバージョンを上げたい(セキュリティとか、IOS対応とか)のでなんとかならんかと。また、もうしばらくFlex4.6でなんとか頑張りたいと言われて調べてみましたよ。結果としてはAIR15でもFlex4.6は使えるのですがね。

手順1:
各種ファイルを落としてくる

AIR SDK
http://www.adobe.com/devnet/air/air-sdk-download.html
※Flex対応は通常のSDKとは違うので気をつけてください。ダウンロード先が違います。同じページにFlex対応版があります

Flex SDK
http://www.adobe.com/devnet/flex/flex-sdk-download.html

手順2:
FlexSDKを解凍。MacでもWINでもダブルクリックで解凍できるかと(WinはVista以降ならZIP開けたたはず)

手順3:
解凍してできたフォルダにAIR SDKの圧縮ファイルをコピーします

手順4:
※ここではAIRファイルの解凍になるんですが、Mac版だけ載せておきます。おそらくWinでも同じ感じだとは思う。解凍後にAIRSDKの中身を全部FLEX側のフォルダに上書きでもいいとは思うけどね。

ターミナル起動

※簡単にいうと、FLEXの解凍したディレクトリでAIRの圧縮ファイルを上書き解凍すればOKです。

手順5:
上記でできたFLEXフォルダを適時移動させてFlashbuilderから認識させればOKです。
環境設定->Flashbuilder->インストールされているFlexSDK->できたフォルダを指定。

手順6:
Flexプロジェクトでやっているならapp.mxmlファイルに下記を書いておけばOKかな。

コンパイラオプションも変わってきます。

※Flashbuilder4.7なら、SDKフォルダを上書きすればOK。まあ、4.7ならだまってFlex4.7を導入するとは思うけども。
FlashbuilderのSDKの場所(mac)

上記のディレクトリにAIRSDKというフォルダがあるので中身を書き換える。上書きではなく、入れ替えが必要。

Flashbuilder でGPUを動かすコンパイラオプションとか。

コンパイラオプション(プロジェクトー>プロパティー>Flexコンパイラ 追加引数)

また、レンダーモードも変更しておく(※    ◯◯-app.xml)

ただ、効果は未確認

Flash とAIRのバージョンば新しくなっているのでコンパイルオプションを下記に

FlashBuilder 4.7 mavericksで iosシミュレータを動かす

FlashBuilderで開発しているときにiOSでのエミュレータはAIR版とApple謹製があるけど、初回だけ、Mac側で動かす手順をしないとエミュレータが動かない

1:システム環境設定ー>セキュリティとプライバシーー>プライバシー>アクセシビリティー

2:アクセシビリティーを選ぶと、Flashbuilderが許可項目に入っているので許可を出す。この時、ウインドー下にある鍵マークを解除しないと設定できないことにも注意。

3:Flashbuilderにて「実行の構成」を選び、iOSエミュレータを選べば起動する。

 

mavericksから(もっと前かな)セキュリティが厳しくなってて、アプリから他のアプリを起動するような場合は上記のセキュリティの設定をしてやらないとだめになったようですね。これに気づくまでエミュレータが起動しなくてはまったので備忘録代わりに…

マウスの滑りが悪い

マウスを使っているとマウスの背面にあるゴム(マウスソウル)が劣化してくる、ゴミが着くなどで滑りが悪くなってきます。

ひっかかりが増える感じですね。で、これまでは掃除してみたり、マウスソウルを購入してみたりしてたんですが、マウスソウルって高いんですよ。

代替え品が無いかと思っていたら、ニチアスの「カグスベール」がいいと聞きました。カグスベールは家具の下に貼ることで滑りを良くするシートです。

家具の滑り止めは聞いたことあるけど、滑りやすくするのもあるとはしりませんでした。

マウスソウルが1000円くらいするのに対して、カグスベールは自分で切れば500円くらいです。

早速、購入してみましたよ。ただ、近くのコメリには同等品のコメリブランドの「家具すべり材」しかなかったので以下家具滑り材を使ってます。

kabe1

コメリで500円くらいでした。一枚物で自分で切って使います。

kabe2

分かりにくいですが、左からハサミ、シート(切ったもの)です。

シートは3層構造で、上からプラスティック風のシート(滑る)、ウレタンクッション、はくり紙です。実際にはウレタンクッションが厚いのでマウスによっては反応しない場合があるので剥がして使います。

kabe3

プラスチックのシートが固いのですが、シートには両面テープがついてるので一緒に剥がします(マウスに付けるため)

剥がしたシートはマウスのマウスソウルに合わせて切って貼ります。

※かなり適当にやったので、実際には綺麗に切ればいいと思います

マウス

 

かなり適当にやりましたが、滑りはかなり改善されました。

マウスソウルを購入してもいいんだけど、見た目無視なら格安ですね。

 

 

ファイルごとに暗号化するーアタッシュケース 使い勝手ー

アタッシュケースの私の場合の使用環境です

    暗号

WindowsPC、Mac双方で行います。暗号化したファイルは保存用にファイルサーバか、オンラインストレージ(BOX等)にコピーしてます。

また、誰かに渡したいファイルの場合は暗号化した後、DropboxのPublicにおいてあります

  • 復号

主にMacで使うときに復号してます。Windowsで暗号化されたファイルでも複合できるので便利です。

 

使用してみた感想

Treucryptと違ってファイル単位なので扱いは楽、暗号化、復号化とも、アタッシュケースGUIにドロップすればいいのも楽ですね。

Treucryptでマウントしてしまえばアタッシュケースよりも使い勝手はいいのですが(ただのドライブだし)、ディスクの大きさを変えられないのが不便と言えば不便です。例えば、仮想ディスクが複数あって、それぞれの使用容量は小さいのだけど、バックアップで物理ドライブに移したたくて使用量的には入るはずだけど、仮想ディスクが大きくてコピーできなかったなど。

アタッシュケースだとファイル単位なので無駄にならずに移せるのでいいですね。

使用する環境で使い分けて行けばいいですね

ファイルごとに暗号化するーアタッシュケース インストールー

アタッシュケースのWindows版は作者様のページから落とせます。

Windows以外はJava版を使うことになります、Java版の作者さんのページから落とせます。

・Windows版のインストール

自己解凍もしくはZIPファイルが落とせます。自己解凍ならそのままクリック、ZIPファイルなら解凍すればインストーラーがあり、起動させればよいです。

・Java版のインストール

ZIPファイルがありますので、中にあるattachecase.jar をJavaで起動すれば使えます、Macの場合はAttacheCase.appがありますので、アプリケーションにコピーするなりして起動すればOKです。Mac以外の場合は下記のコマンドで実行できます。

java -jar attachecase.jar