分12前回は,weinreを使ったアプリケーションのデバッグについて紹介しました。APIを用いたファイル操作について紹介していきたいと思います。APIのオブジェクトについてチェックしておきましょう。APIは,ファイルやディレクトリを操作するためのAPIです。APIに準拠しています。APIを紹介する前に,iOSとAndoridのアプリケーション構造について簡単に整理しておきましょう。iOSアプリケーションの構造について各アプリケーションには,そのアプリケーション専用のサンドボックスと呼ばれるスペースが与えられます。ファイルの操作が行えるのは自分のサンドボックス内のみで,他のサンドボックスへのアクセスは禁止されています。サンドボックス内の構造は次のようになっています。アプリケーション自体を含むバンドルのディレクトリです。ユーザが作成した情報で,アプリケーションで生成し直すことができないようなデータを格納するためのディレクトリです。ユーザのデータファイル以外のファイルを格納するためのディレクトリです。ユーザのデータファイル格納に使用してはいけません。アプリケーションを次に起動するまで保持する必要ない,一時的なファイルを格納するためのディレクトリです。システムにより,特定のタイミングでファイルが勝手に削除されます。APIで撮影・録音・録画したデータは,一時的にこのtmpディレクトリに保存されますサンドボックスの構造(FileSystemProgrammingGuide.pdfより引用)Androidアプリケーションの構造について各アプリケーションには独自のプロセス上で実行され,ユーザIDが割り当てられます。Linuxのパーミッション概念を利用し,サンドボックス外のリソースは禁止されています。連絡先やSMSなどのシステムリソースにアクセスしたい場合は,あらかじめマニフェストを定義しておく必要があります。APIを紹介してきましょう。APIで用意されているオブジェクトは15種類です。簡単に整理してみましょう。FileTransferErrorPhoneGapで用意されているファイルシステム,ディレクトリ,ファイルを読み込むメソッドは,すべて非同期で動作します。このため,メソッドの引数でコールバック関数を指定する必要があります。APIでファイルを操作するにあたり,順を追って確認してみましょう。APIで取り扱うファイルシステムは,おもに2種類─PERSISTENTとTEMPORARYです。PERSISTENTは,アプリケーションまたはユーザの許可なしに,ユーザエージェントによって削除されるべきではないストレージを指します。TEMPORARYは,永続性の保証がないストレージを指します。iOSとAndroidにおいて,PERSISTENTとTEMPORARYに相当するディレクトリ位置は次のとおりです。/mnt/sdcard/Android/data/(アプリケーション名)/cache/LocalFileSystemオブジェクトに用意されている次の2つのメソッドで,FileSystemオブジェクトを取得します。W3C)window.requestFileSystemでは,PERSISTENTまたはTEMPORARYのどちらかのFileSystemオブジェクトを取得します。{引数は次のとおりです。type取得したいファイルシステムの種類を,定数で指定します。PERSISTENTの場合はLocalFileSystem.PERSISTENTを,TEMPORARYの場合はLocalFileSystem.TEMPORARYを指定しますsizeアプリケーションで必要となるストレージの容量を,バイト単位で指定しますsuccessCallbackFileSystemオブジェクト取得成功時のコールバック関数を指定しますerrorCallbackFileSystemオブジェクト取得失敗時のコールバック関数を指定しますwindow.resolveLocalFileSystemURIでは,URIを使ってFileSystemオブジェクトを取得します。{引数は次のとおりですuriローカルファイルまたはディレクトリへのパスをURIで指定しますsuccessCallbackFileSystemオブジェクト取得成功時のコールバック関数を指定しますerrorCallbackFileSystemオブジェクト取得失敗時のコールバック関数を指定します取得したFileSystemオブジェクトには,2つのプロパティが含まれます。Android著者プロフィール富田宏昭(とみだひろあき)株式会社キクミミでFileMaker/SQLiteを使ったWebアプリ開発に従事しながら,オープンソースソフトウェアのハウツー記事執筆を行う。趣味は横乗り系スポーツ,美術館めぐり,高速ジャンクション鑑賞。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。