スライド 0

Similar documents
スライド 1

Java Festa Sapporo Oct 30, 2009 Androidから生まれる ビジネスチャンス 日本Androidの会 幹事 有山圭二 有限会社シーリス 代表 C-LIS

SEO対策サービスパッケージ

もくじ 1. Android とは? 2. Android アーキテクチャ 3. Android 開発 (OS 編 ) 4. Android 開発 ( アプリ編 ) 5. Android アプリ実演 6. Android の今後について

自宅でJava言語の開発環境を作る方法

課題情報シート テーマ名 : 動画中継ラジコンカーの製作 担当指導員名 : 土山博剛実施年度 : 25 年度施設名 : 四国職業能力開発大学校課程名 : 専門課程訓練科名 : 電子情報技術科課題の区分 : 総合制作実習課題学生数 : 1 時間 : 12 単位 (216h) 課題制作 開発のポイント

[報道発表資料] Android™をベースとした STBの試作について

20th Embarcadero Developer Camp

Microsoft Word - Android開発環境構築.doc


Microsoft Word - Android_実習環境

Server and Cloud Platform template

出題内容試験問題はOESFが作成した Androidアプリケーションのスキル項目 に基づいています スキル項目は3つの階層に整理されています 第一階層は アプリケーション です 第二階層は Androidアプリケーションフレームワーク アプリケーションの公開 支援機能 の 3つに分類されています 次

目次 第 1 章研究の背景 1.1 研究の内容 SDK 1.2 Android( アンドロイド ) 1.3 Android( アンドロイド ) の特徴 インターフェース 文字の入力 Android アプリケーション 1.4 Android Studio

東証賞 賞金 10 万円 審査基準 応募作品の審査は コンテスト及び表彰式当日に来場者の方に評価していただきます 評価基準は 完成度 独創性 操作性 技術性 デザインの5 項目です 応募多数の場合は 事前に上記の基準に基づいて作品数を絞る場合がございます 開催日程 募集開始 :2013 年 6 月

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1


spsafety_manual_sp_start_

使用する前に

1. 開発ツールの概要 1.1 OSS の開発ツール本書では OSS( オープンソースソフトウェア ) の開発ツールを使用します 一般に OSS は営利企業ではない特定のグループが開発するソフトウェアで ソースコードが公開されており無償で使用できます OSS は誰でも開発に参加できますが 大規模な

Android の及ぼす影響 2008 年 3 月 JASA プラットフォーム研究会

PowerPoint プレゼンテーション

Windowsユーザでも 手軽に作れるiPhoneアプリ

Android アプリを作るための環境設定 Android アプリを作るのに必要なものは Android SDK と Java 開発環境の Eclipse です 環境設定作業の概要はまず Android SDK と Eclipse をそれぞれインストールします その後 Eclipse を起動し An

スライド 1

android2.indd

PowerPoint プレゼンテーション

1. Java Development Kit ORACLE のサイトから JAVA の開発キットをダウンロードします バージョンは JDK の最新版 ( 現在 8u45) が必要です また定期的に更新されますが そのたびに入れ替えることをお勧めします JDK のダウンロード ORACLE サイト

Microsoft Word 基_シラバス.doc

JP-2-Develop Websites and Components in AEM v6x_(V3_after QA)_1111

コミュニティの立場から ET2009 スペシャル セッションポジション ペーパー 八田真行東京大学 / Debian Project / GNU Project

ダウンロードした JDK の exe ファイルをダブルクリックしてインストールします 以下の画面が表示されますので [ 次 ] ボタンをクリックします 次の画面が表示されますので [ 次 ] ボタンをクリックします

日本アンドロイドの会 四国支部 Kickoff ミーティング in ABC2009

レイアウト 1

WSMGR for Web External V7.2 L50 ご紹介

OS の bit 数の確認方法 - Windows0 及び Windows8. Windows のコントロールパネルを開きます Windows0 の場合 スタート から Windows システムツール の コントロールパネル をクリックします Windows8. の場合 スタート から PC 設定

2 以下の作業を行ってください ダウンロード URL Eclipse 3.7 Indigo Pleiades All in One を選択します Full All in One(JRE あり ) の Java を選択し パソコンの任意の

管理者から携帯電話に向けて命令や位置確認を行います 携帯電話からリアルタイムに情報をアップロードするとともに サーバ側のデータと同期をします GPS 測位を用いて 現在位置や軌跡を管理します 携帯電話からシステム契機でメールを送付します 基幹サーバと連携するためのデータファイルの出力や プリンタ連携

Microsoft Word - Android_仮想デバイスマネージャーの使い方

WiFiによる位置情報サービスとスマートフォンによる実装

ハード・ソフト協調検証サービス

仮想化環境のクライアントとしてのChromebook


PowerPoint プレゼンテーション

タイトル

「RAD Studio XE5によるマルチ言語/マルチデバイス開発の進め方」

発環境を準備しよう2 章開Eclipseをインストールしようそれでは Eclipseをセットアップしましょう Eclipseは Eclipse Foundationのサイトからダウンロードできます ダウンロードのページを開くと いく

PowerPoint プレゼンテーション

吉田坂本.pptx

Android アプリを作るための環境設定 Android アプリを作るのに必要なものは Android SDK と Java 開発環境の Eclipse です 環境設定作業の概要はまず Android SDK と Eclipse をそれぞれインストールします その後 Eclipse を起動し An

図 1.SDK でインストールするパッケージ選択ができたら [Install] ボタンをクリックしますダウンロードとインストールが始まります インストールが終わると [close] ボタンが表示されるので クリックしてとじて下さい Google USB Driver package, revisio

情報更新日 :2012/5/20 サンプルソースの文字化けについて [ トラブル事例 ] Eclipse に ダウンロードしたソースコードをインポートすると文字化けが起きる ( 関連箇所 : 0-1 はじめに ) [ 回答 ] 本書でその利用を前提としております Tech Fun Eclipse は

Microsoft Word - XOOPS インストールマニュアルv12.doc

Software Token のセット価格 398,000 円 (25 ユーザ版 税別 ) をはじめ RSA SecurID Software Token を定価の半額相当の特別価格を設定した大変お得な スマートモバイル積極活用キャンペーン! を 3 月 31 日 ( 木 ) まで実施します また

スライド 1

2. 生田仮想デスクトップ PC の接続方法 生田仮想デスクトップ PC に接続する方法は 次の 2 通りです 1. HTML アクセス Internet Explorer や Safari などのブラウザを用います PC に特別なソフトウェアをインストールす る必要が無いので 管理者権限をもってい

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

ArcPad の代替となる現地調査ソリューションについて

スマートにプログラミング Android 入門編第 2 版 SDK4/2.3 対応 よくあるご質問 (FAQ) ここでは 読者の皆様から寄せられた質問の中で 比較的多く見受けられたトラブル事例とその解決策を集め掲載致しました お困りの際の解決のヒントとしてご利用下さい なお スマートにプログラミング

情報連携用語彙データベースと連携するデータ設計 作成支援ツール群の試作及び試用並びに概念モデルの構築 ( 神戸市こども家庭局こども企画育成部 千葉市総務局情報経営部業務改革推進課 川口市企画財政部情報政策課 ) データ構造設計支援ツール設計書 2014 年 9 月 30 日 実施企業 : 株式会社ア

2. 生田仮想デスクトップ PC の接続方法 生田仮想デスクトップ PC に接続する方法は 次の 2 通りです 1. HTML アクセス Internet Explorer や Safari などのブラウザを用います PC に特別なソフトウェアをインストールす る必要が無いので 管理者権限をもってい

<コンタクト>クイックマニュアル

AR技術を用いたグリーティングカード作成ソフトの開発

スライド 1

Y!mobile 302HW 取扱説明書

Google Android SDK Java Android OS API Android OS Java Android OS Chu lingual Android OS Web

1. はじめに 1.1. Office365 ProPlus ライセンスについて 九州産業大学に在籍中の学生 教職員の方は Office365 ProPlus のライセンスを 1 つ保持しています 1 つの Office365 ライセンスで Office365 ProPlus( 最新版の Offic

参考 本資料における用語等の定義 用語 意味 内容等 モバイル NFC サービス MNO ( 移動体通信事業者 モバイル事業者 ) SP ( サービス提供事業者 ) SIM カード ( サブカードの発行先として活用想定 ) UI アプリ アプレット (Applet) MNO-TSM SP-TSM ア

PowerPoint プレゼンテーション

Notesアプリが iPadで動くDomino Mobile Apps ご紹介

スキル領域 職種 : ソフトウェアデベロップメント スキル領域と SWD 経済産業省, 独立行政法人情報処理推進機構

OSS係争事例等から見たAndroid開発への提言OSSライセンス戦略とその概要

プレポスト【問題】

目次 目次... 本書の見かた... 商標について.... はじめに... 概要... サポートされている OS... Google Play から Brother Image Viewer をダウンロードする... スキャンしたデータを携帯端末に保存する... サポートされているファイル形式...

Azure 活用シナリオ PHP ホームページを移行 1

3wand_0001_0012_00(06)id4.indd

<4D F736F F F696E74202D E9197BF C A F B A834C C A5F C52E B8CDD8AB B83685D>

はじめに PC 環境のセキュリティの向上や運用工数の削減手段としてクライアント仮想化 ( シンクライアント化 ) を検討している企業 団体が増えてきています シンクライアントの導入に際しては幾つか検討する事があり 特にユーザ側に接続する周辺機器については従来の PC と同じ利用環境を求められる事が多

KDDI ペーパーレスFAXサービス

VisualStage Type-Basic Mobile 設定&操作マニュアル(Andoroid OS版)

1. ロック画面の操作方法変更 セキュリティ強化のため ロック画面の操作方法が変更となります 画面ロックを変更する場合 バックアップパスワードを入力する必要があります 端末のロック解除に指紋認証を設定している場合 端末の再起動時も 初回のみバックアップパスワードを入力する必要があります < 画面ロッ

Microsoft PowerPoint - MeeGo_OSC2011_June_01.ppt [Compatibility Mode]

スライド 1

ic3_cf_p1-70_1018.indd

Microsoft Word - A04 - Configuring Launch In Context_jp-ReviewedandCorrected a.doc

マルチデバイス開発を強化するエンバカデロのRADテクノロジー

HTC U11 HTV33 (Oreo to Pie) Android 9 Pie OS アップデートにおける主な機能追加 変更 / 削除 / 初期化項目について 1

V-Client for Mac ユーザーズガイド

事前準備 1. Visual Studio Community 2013 または Professional 以上のエディションのインストール 2. Android スマートフォンへの任意の QR コードリーダーアプリのインストール 3. アプリ素材のダウンロード

セカイカメラ開発からみたAndroidアプリケーション開発の現状とAndroid内部構造

目次 1. サテライトオフィス 組織カレンダーのインストール 2. 組織情報 ( ツリー表示 ) を作成する 3. サテライトオフィス 組織カレンダー各種機能設定 4. サテライトオフィス 組織カレンダーガジェットの追加 KDDI 2

PowerPoint Presentation

スライド 1

Microsoft PowerPoint - ã•’Newlineã•‚TRUCAST_ã†fl紹仉è³⁄挎_ pptx

情報経済論

Web AppBuilder for ArcGIS (Developer Edition) インストールガイド

HP Touchpoint Manager Windows 10 Mobile 登録手順

仮想化基礎演習テキスト Ⅰ 第 1.0 版 演習で学ぶ仮想化基礎 ( クライアント仮想化編 ) 九州ラーニングネット株式会社 特定非営利活動法人パソコン整備士協会

PowerPoint プレゼンテーション

Microsoft Visual Studio 2010 Professional Data Sheet

Transcription:

株式会社センシンソフト はじめよう Android

目次 概要 開発環境の構築 アーキテクチャ概要 アプリケーションフレームワーク層 ライブラリ層 ランタイム層 カーネル層 ライセンス規約 スキルアップしよう 2

概要 Android とは 米グーグル社 (Google Inc.) が モバイル向けプラットフォームとして発表した 無償で誰にでも提供されるオープンソースのオペレーションシステム ミドルウェア キーモバイルアプリケーションを含むモバイル端末のソフトウェアスタックです Android は オープンソースのソフトウェアで Android 上で作成したアプリケーションは Android が搭載されている機器ならば どこでも動作します Android 用のアプリケーションは 基本的には Dalvik 仮想マシン (VM) と呼ばれる Android OS 上で動作し プレ インストール アプリケーションと 後からインストールするアプリケーションを 公平に扱うのが特徴です Android にはローカライズ機能がすでに入っているため開発時にローカライズを強く意識することなく開発する事が出来ます 3

概要 Android は携帯電話以外のネットワークやハードウェアにも対応しています 主な機能は以下の物があります Bluetooth 3G WiFi カメラ GPS コンパス 加速度計 上記の機能を組み合わせることで 現実環境にコンピュータを用いて情報を付加提示する AR(Augmented Reality : 現実拡張 ) 機能を持つアプリケーションの作成が可能です 4

開発環境の構築 Android アプリケーションを作成するためには以下の開発ツール使用します JDK (Java Development Kit) http://java.sun.com/javase/ja/6/download.html ADT (Android Development Tools) http://developer.android.com/intl/ja/sdk/eclipse-adt.html Android SDK http://developer.android.com/intl/ja/sdk/index.html Eclipse http://www.eclipse.org/downloads/ 基本的には JDK を入れてある環境で Eclipse に ADT を入れ Android SDK を設定するだけで開発環境となります また Eclipse を日本語化する際には別途ツールを使用します 例としては 以下のようなものが挙げられます Babel Project 5

アーキテクチャ概要 Android は オペレーティングシステム ミドルウェア 主要アプリケーションを含むモバイルデバイス用のソフトウェアの集まりであり次の図は オペレーティングシステムの主要コンポーネントを示しており 概念的には 4 階層構造で構成されています http://developer.android.com/guide/basics/what-is-android.html より図を抜粋. 6

アーキテクチャ概要 一般的な Android アプリケーションを開発する場合のアプリケーション自体は 最上位層の Application 層に当たり ApplicationFramework 層の API 群 Libraries 層のミドルウェア群を使用した開発手法となます AndroidRuntime 層は Android の VirtualMachine アーキテクトであり Java 仮想マシンで言うところの VM に当たります ( 実際には JavaVM と DalvikVM は異なるアーキテクトである ) LinuxKernel 層は Android の最も下位に位置するものであり Linux カーネルをベースに作成されています 一般的なアプリケーション開発で AndroidRuntime 層 LinuxKernel 層を開発者が意識することは殆どありません 尚 Android には 電子メールクライアント SMS プログラム カレンダー 地図 ブラウザ 連絡先 およびその他を含むコアアプリケーションが ApplicationFramework 層としてセットで出荷されています 7

アプリケーションフレームワーク層 http://developer.android.com/guide/basics/what-is-android.html より図を抜粋. この層では主に アプリケーションの起動から終了までの流れ すなわちライフサイクルの管理を行っています ユーザーインターフェースの表示やユーザーによる操作など携帯端末で起こるさまざまな状態の変化を各アプリケーションに伝える手段も提供しています 8

アプリケーションフレームワーク層 Activity Manager アプリケーションのライフサイクルを管理し 共通のナビゲーションスタック ( 画面遷移時の引き渡し情報など ) を提供します Window Manager ウィンドウを管理するためのものであり それ自体だけでは何もできないが 他のインスタンスと連携して Andoroid のウィンドウ全般に対する管理を行います Content Providers 独自のデータを共有したり 特定のアプリケーションが保持するデータに対して他のアプリケーションからアクセスできるようにしたものです View System アプリケーションを構築するために使用できるリッチで拡張可能なビューのセットであり リスト グリッド テキストボックス ボタン 組み込み可能なウェブブラウザなどがそれであります 9

アプリケーションフレームワーク層 Package Manager システムにロードされたアプリケーションの情報を保存 変更 削除という一連の管理機能を有し アプリケーションに提供します Telephony Manager 電話機能の管理を提供しています (Radio デバイス (GSM EDGE 3G) など ) Resource Manager 画面に使うデザインや画像データ 文字データを リソース としてプログラムから分離し アプリケーションから動的に参照する機能を提供するものであります ローカライズなどもこの分野に入ります 10

アプリケーションフレームワーク層 Location Manager GPS を使用し位置情報の管理を提供します Notification Manager 有効なすべてのアプリケーションはステータスバーでカスタムアラートを表示することができる 11

ライブラリ層 http://developer.android.com/guide/basics/what-is-android.html より図を抜粋. Android にはシステム内で使用される C または C++ で開発されたライブラリを標準で含んでいます これらのライブラリの機能は アプリケーションの開発過程で使うが 直接操作することはなく 一般的には各アプリケーションのフレームワークを経由して利用します 12

ライブラリ層 SurfaceManager SurfaceManager は グラフィックレイヤーを合成して一つの画面に表示する仕組みをアプリケーションに提供する描画ライブラリであります グラフィックレイヤーを使うと アプリケーションを経由しないで画面表示が可能なため 高速に描画できる アプリケーションからは 主にカメラやGPU(GraphicsProcessingUnit) といったハードウェアからのデータを高速に描画するために利用します MediaFramework 画像の表示や音声 動画のエンコードとデコードの処理を実行するライブラリ 米 PacketVideo 社のメディア再生用ライブラリ OpenCORE をベースに開発されている 対応するフォーマットとして 音声では mp3 や aac などがあり 動画では h.263 や h.264 などがあります 13

ライブラリ層 SQLite 高速なリレーショナルデータベースエンジンでありデータ管理の機能を提供します 格納する電話番号を比較するなど Android 用に文字列を処理する機能が追加されています アプリケーションからは フレームワークを介してリレーショナル データベースとして利用します フレームワークにある ContentProvider のようなアプリケーション間のデータ共有の仕組みの中でも利用されています OpenGL/ES ハードウェア アクセラレータを使った高速な 3D 描画を実現する 3D グラフィックライブラリ OpenGL ES 1.0 API に準拠しており ハードウェアがそれに対応している場合 ライブラリは高度に最適化された 3D アクセラレーション 3D ソフトウェアラスタライザのいずれかを使用できます 14

ライブラリ層 FreeType FreeType とはフォントエンジンを実装したライブラリであります Android の標準フォントには FreeType を使用しており 他のフォント形式もサポートしています WebKit HTML または XHTML の描画を担当するライブラリ 内部に高速な JavaScript エンジンである SquirrelFish が搭載されている 開発者がアプリケーションの画面に Web ページを表示する場合に利用する画面部品 ( ウィジェット ) である WebView にも機能を提供している SGL Android でのグラフィックライブラリには 2D グラフィックライブラリ 3D グラフィックライブラリが存在するが そのうちの 2D グラフィックライブラリ部を総称して SGL と呼んでいます 15

ライブラリ層 libc(bionic) 組込みLinuxベースのデバイス用にチューニングされたAndroid 用のCライブラリであります BSDのCライブラリを基に開発されており x86と ARM に対応している 標準規格に沿ったlibcと比べ ロケール ( 各国語対応 ) やマルチバイト文字に対応していないことやC++ の例外に対応していないなど 最低限の実装のみサポートしている 携帯端末上での動作を最適化するために, 機能を限定してライブラリが肥大化してしまうことを防止する という方針で開発されています 16

ランタイム層 http://developer.android.com/guide/basics/what-is-android.html より図を抜粋. ライタイム層は基本的な API を提供するコアライブラリと仮想マシン Dalvik VM で構成されています 一般的なアプリケーション開発で AndroidRuntime 層を開発者が意識することは殆どありません 17

カーネル層 http://developer.android.com/guide/basics/what-is-android.html より図を抜粋. LinuxKernel 層は Android の最も下位に位置するものであり Linux カーネルをベースに作成されています 一般的なアプリケーション開発で LinuxKernel 層を開発者が意識することは殆どありません 18

ライセンス規約 Android は オープンソースのソフトウェアですが オープンソースには数多くのライセンスが存在します 全てのライセンスに共通しているのが以下の 2 点です 1. 著作権表示の保持 原作者のクレジットを表記することにより 利用する第三者が作ったように偽ることを防ぐ 2. 無保証であること 原作者は 葉生物を含め その動作 品質を保証しない また 次の点がライセンスにより異なり 1. ソースコードを開示する範囲 2. 改変 複製したものを再配布する際 どのようなライセンスを適用させるか その異なる内容により 以下の 3 つに分類されます GPL 系 MPL 系 BSD 系 19

スキルアップしよう 世の中のソフトウェア製品にそれぞれの認定試験制度があるように Android にも Android 技術者認定試験制度 という独自の認定試験が存在します Android の知識を取得したら 又は知識を取得することを目的として認定試験を受験するのもよいかもしれません 2012 年 2 月現在 以下の構成で提供されています Android 技術者認定試験制度 ( http://www.oesf.jp ) アプリケーション技術者試験 Android プログラミング Java プログラミングの知識 スクリプト言語 オブジェクト指向 Android 基礎知識 ( アプリ視点 ) プラットフォーム技術者試験 ( 開発中 ) Linux の知識ライブラリ概要 Bionic HAL 起動シーケンス Android 基礎知識 ( プラットフォーム視点 ) 共通知識 開発環境 (Eclipse SDK) NDK JNI デバッグ技術デバッグ手法