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

Similar documents
スライド 0

スライド 1

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

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

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

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

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

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

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

android2.indd

Microsoft Word - Android_実習環境

PALRO Gift Package 操作説明書

スライド 1

PowerPoint プレゼンテーション

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

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

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

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

吉田坂本.pptx

PHP 開発ツール Zend Studio PHP アフ リケーションサーハ ー Zend Server OSC Tokyo/Spring /02/28 株式会社イグアスソリューション事業部

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

PowerPoint プレゼンテーション

改訂履歴 改訂日付 改訂内容 2014/11/01 初版発行 2017/01/16 Studuino web サイトリニューアルに伴う改訂 2017/04/14 Studuino web サイトリニューアルに伴うアクセス方法の説明変更 2018/01/22 Mac 版インストール手順変更に伴う改訂

20th Embarcadero Developer Camp

IBM i ユーザーの課題 モバイルや IOT に対応した新しい開発案件への対応 RPG COBOL など既存アプリのメンテナンス 要員の確保 属人化しない運用 管理体制 2

Prog2_6th

スライド 1

Java言語 第1回

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

JDK のインストール (2012 年 8 月時点でのバージョン ) Java の実行環境 開発環境は さまざまな企業 団体が開発 配布を行っているが 当テキストでは Java の生みの親である Sun MicroSystems 社 ( 現 Oracle 社 ) の実行環境 開発環境を使用する Ja

Microsoft PowerPoint ï½žéł»å�’å–¥æœ�ㇷㇹㅃㅀ㇤ㅳㇹㅋㅼㅫ曉逃.ppt [äº™æ‘łã…¢ã…¼ã…›]

Microsoft PowerPoint - Skype for business の概要.pptx

HDC-EDI Manager Ver レベルアップ詳細情報 < 製品一覧 > 製品名バージョン HDC-EDI Manager < 対応 JavaVM> Java 2 Software Development Kit, Standard Edition 1.4 Java 2

Source Insight

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

情報漏洩対策ソリューション ESS REC のご説明

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

2 SmaSvr SmaSvr システムの概要 テクノベインズでは 業務系周辺機器 業務系周辺機器が操作できる スマート端末 が操作できる スマート端末 が操作できる スマート端末アプリ環境 アプリ環境の提供 提供 を実現できる方法 実現できる方法 実現できる方法について研究してきた 研究してきた

Prog2_6th

About me! 足立昌彦 / +Masahiko.Adachi )! バイドゥ株式会社技術顧問 (Simeji)! 株式会社カブク Co-Founder! Google Developer Expert (Android)

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

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

PowerPoint プレゼンテーション

MP:eMeeting インストールマニュアル Version /06/30 株式会社デジタル ウント メア

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

OpenRulesモジュール

Splashtopスタートガイド

WSMGR for Web External V7.2 L50 ご紹介

ETOS 画面の Web 化 / 帳票印刷のオープン化体験お試し変換サービスのご紹介 ACOS-4 システムの業務改善提案

PowerPoint プレゼンテーション

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

目次 1. はじめに 本書対象者 PALRO のアプリケーションについて Ubuntu 8.04LTS の入手について Linux 上での開発環境の構築 事前準備 Ubuntu のインストール..


PowerPoint プレゼンテーション

目次 初めに必ずお読みください ソフトウェアのインストール ソフトウェアの選択 ソフトウェアのインストール レシーバー用ドライバのインストール WindowsXP のインストール方法 Win

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

V8.1新規機能紹介記事

Microsoft PowerPoint - Session4古賀様.ppt

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

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

目次 はじめに 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

Javaの作成の前に

PowerPoint Presentation

CommonMP Ver1.5 インストール手順書 目 次 1. 概要 目的 必要動作環境 ハードウェア構成 ソフトウェア構成 CommonMP のインストール手順 利用フロー

『テクノス』V2プログラムインストール説明書

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

Microsoft Word - android manual JP doc

PowerPoint プレゼンテーション

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

intra-mart ワークフローデザイナ

NTMobile LAN NT- Mobile(Network Traversal with Mobility) [1] NTMobile LAN 2. NTMobile NTMobile NTMobile NTM IP DC(Direction Coordinator)

TestDesign for Web

OS

図 : StarBoard Student Tablet Software の利用イメージ StarBoard Student Tablet Software Ver. 2.0 の主な特長 1. StarBoard Software との連携の強化 StarBoard Software と Star

Microsoft PowerPoint - install_NGSsokushu_windows(ver2.1).pptx

1. 目次 PixiModule ターミナルアプリ (ios 版 ) ソース説明 2. ios 版ご利用の前に ソースファイル内の用語の説明... 4 サンプル 4. ソースファイルの構成 Main.storyboard の説明 ViewControlle

OpenRulesモジュール

PowerPoint プレゼンテーション

クイックセットアップ for モバイル(iOS/Android)

Microsoft Word - AV-LS300シリーズ_Ver1.30_新機能説明_5版.doc

Enterprise Architect 12.0 機能ガイド

ch2_android_2pri.indd

1 ワンタイムパスワードの説明... 2 (1) ワンタイムパスワードのサービス概要... 2 (2) 個人インターネットバンキングとワンタイムパスワード... 2 (3) ワンタイムパスワード生成機 ( トークン ) について... 2 (4) ソフトウェアトークンの特徴 導入までの

V6.5L20 の主な変更点 1. ScanSnap の最新の推奨動作環境 (CPU: Intel Core i5 2.5GHz 以上 メモリ容量 :4GB 以上 ) における PDF ファイルの出力 表示処理を全面的に見直しました ( 1) 特に ScanSnap Organizerの表示性能が大

プレポスト【問題】

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

11 ソフトウェア工学 Software Engineering デザインパターン DESIGN PATTERNS デザインパターンとは? デザインパターン 過去のソフトウェア設計者が生み出したオブジェクト指向設計に関して, ノウハウを蓄積し 名前をつけ 再利用しやすいようにカタログ化したもの 各デ

COBOL Enterprise Edition V2 for Linux COBOL Enterprise Edition V2 は以下のソフトウェアによって構成されています COBOL Enterprise Edition Developer V2.0 COBOL Enterprise Edit

メディプロ1 Javaプログラミング補足資料.ppt

KDDI Smart Mobile Safety Manager Mac OS キッティングマニュアル 最終更新日 2019 年 4 月 25 日 Document ver1.1 (Web サイト ver.9.6.0)

SinfonexIDaaS機能概要書

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

Smart-telecaster for iOS/Android ML ユーザーズガイド

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

2 Soliton SmartOn Solo Ver (USB2-NFC NFC-ST NFC-RW 対応 ) ここでは Soliton SmartOn Solo Ver のリリース概要について説明します 機能の詳細およびインストール方法については 体験版に含まれてい

Studuinoライブラリ環境設定Mac編

スライド 1

KDDI Smart Mobile Safety Manager ( 基本プラン /4G LTE ケータイプラン ) オプション機能説明 2018 年 2 月 27 日現在 KDDI 株式会社 ver Copyright 2018 KDDI Corporation. All Rights

TeleOffice 3.7

Transcription:

Android について 2011/05/13 技術 1 部

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

1. Android とは?

Android とは? オープンソースオープンソースによるによる携帯端末向携帯端末向けのけのプラットフォーム 2007 年 11 月 Google 社を中心に組織された団体 OHA(Open Handset Alliance) により開発される Linuxをベースベースとしとし JAVA 言語で開発 Apache v2 ライセンス ライセンス (WebKit カーネルカーネルとそのとそのライブラリライブラリ以外 ) 自由自由なアプリケーションアプリケーション開発開発が可能

iphone(ios) との比較 ~ 開発者視点 ~ Android iphone(ios) 開発開発開発開発に制限制限制限制限ありありありありソースコードソースコードソースコードソースコード非公開非公開非公開非公開 Apple 以外開発不可以外開発不可以外開発不可以外開発不可自由自由自由自由に開発開発開発開発できるできるできるできる技術技術技術技術の流用流用流用流用が面倒面倒面倒面倒技術技術技術技術の流用流用流用流用が楽ソースコードソースコードソースコードソースコード公開公開公開公開独自独自独自独自の開発可能開発可能開発可能開発可能 Apple の認証認証認証認証が必要必要必要必要で手間手間手間手間が掛かるかるかるかる開発効率開発効率開発効率開発効率が良い

iphone(ios) との比較 ~ ユーザ視点 ~ Android iphone(ios) メリットメリットメリットメリット信頼性信頼性信頼性信頼性が高い拡張拡張拡張拡張アクセサリアクセサリアクセサリアクセサリが多いメリットメリットメリットメリットデメリットデメリットデメリットデメリットデメリットデメリットデメリットデメリット更新更新更新更新が速い機種機種機種機種の選択肢選択肢選択肢選択肢が多い更新更新更新更新が遅い機種機種機種機種の選択肢選択肢選択肢選択肢が少ないないないない信頼性信頼性信頼性信頼性が低い

2. Android アーキテクチャ

Android アーキテクチャ図

カーネルの特徴 Power Management: 各ドライバの電源管理を行う仕組み Binder: プロセス間通信を行う仕組み ( フレームワークとの繋ぎも行う ) ashmem: メモリを共有して効率的に扱う仕組み Low Memory Killer: メモリが足りなくなるとプロセスを強制的に終了する仕組み

ライブラリの特徴 libc(bionic libc): 機能を制限させたコンパクトな libc ライブラリ マルチバイト文字に対応していない C++ の例外処理は非対応 複雑な条件をあえて取り除く事で速さを追求 Bionic libc

Core Libraries: ANDROID RUNTIME の特徴 JAVA 言語のコアライブラリ基本的な API を提供 Dalvik VM: JavaVM の実行形式を独自形式に変えて高速化を図っている Android のアプリケーションは Dalvik VM 上で動作する

アプリケーションフレームワークの特徴 Activity Manager: 各アプリケーションのアクティビティのライフサイクルを管理 View System: 画面に表示する各種部品やユーザーの操作に関する各種機能をアプリケーションに提供 Package Manager: Android 上のパッケージ管理機能をアプリケーションに提供

アプリケーションの特徴 アプリケーション : フレームワークが提供するAPI を使って誰もが作成可能アプリケーション配信サービスである Android Market への公開 入手も可能 Native アプリ : Voice Dial Email Client Maps Media Player Games Market Update etc.

3. Android 開発 (OS 編 )

開発するにあたって アプリ Windows アプリ? 組み込み? 組み込み Linux アプリ側を作成すれば他はツールが自動生成 Linuxを知らなくても出来る ( 標準的なカーネル上で開発 ) 必要に応じてカーネル ( ドライバ ) も編集可能 知識は必要だが既存の枠に囚われない

カーネルなどを編集できたら? Android 端末としてとして必要 / 不要な部分部分の選択選択が可能 Android Plug and Play 機能は欲しい FD ドライバはいらない カーネルで提供しているから必要なものを選択できるッス 利用できるものはできるものは利用利用し 不要であればであれば省く事で容量削減容量削減ができる

カーネルなどを編集できたら? Android 端末としてとして必要 / 不要な部分部分の選択選択が可能 Plug and Play configuration を有効にする Block devices で FDD を無効にする

カーネルなどを編集できたら? Android 端末に新規新規ドライバ /APIを追加可能 TV に香りを出す機能を付けたい ハードウェアを取り付け 制御仕様を実装 香りを出す機能はないです ハードウェアに合わせたわせたカーネルカーネル実装実装を行う事で 現行機種にないものをにないものを新規開発新規開発できる

カーネルなどを編集できたら? ライブラリ群を修正修正するする事が可能 A 機能はとにかくレスポンスを速くしたい B 機能は時間がかかっても精度を上げたい Android Linux のライブラリとは違うのだよ (C++ 例外処理の未サポートなど ) 速度 / 精度 / 使用メモリメモリを考慮考慮したした修正修正を加えるえる事でそのハードウェアハードウェアに最適最適な環境環境を構築構築できる

カーネルなどを編集できたら? Android 特有特有特有特有の問題問題問題問題を独自独自独自独自に解決解決解決解決するするするする事が可能可能可能可能カーネルに制約があるからできねぇよ このドライバとそのライブラリであの機能を実現したい Android 回避策回避策回避策回避策もしくはもしくはもしくはもしくはカーネルカーネルカーネルカーネル修正修正修正修正によりによりによりにより実現実現実現実現させるさせるさせるさせる事ができるができるができるができる

4. Android 開発 ( アプリ編 )

Android アプリ開発 アプリは下回りを気にしなくてもいい - ハードの違いは下層で吸収されるアプリは Dalvik 仮想マシン上で動作する アプリ開発も下回りを気にしなくていい - フレームワークより下は意識不要 - Java で開発可能 C 必要なハードウェアの制御も JNI(Java と C をつなぐ仕組み ) によってフレームワークで提供されている Java C C++

フレームワーク Android で提供されているフレームワークの理解が必要 Actvity: アプリケーションのロジックロジックを記述 Intent: アプリケーション間のデータデータの受け渡しをしを記述 リソース : 画面に表示表示するする文字文字 レイアウトレイアウトを記述 マニフェスト : アプリケーションの情報情報を記述 フレームワーク クラス ライブラリ フレームワーク Web アプリケーションなど特定のタイプのソフトウエアを対象とし 開発の効率を高めるために定義ファイルやクラス ライブラリを集めたもの クラス ライブラリ Java のようなオブジェクト指向言語で使うひな型のようなライブラリ

フレームワーク Activity とは画面を制御するクラスアクティビティ クラスを継承したクラスを画面ごとに定義する 複数画面を持つアプリアプリでのでの例アプリを起動 アプリのメイン画面 (Activity1) が表示される設定画面 (Activity2) を表示する Activity1がヒストリースタック ( 履歴 ) に積まれる設定画面 Activity2を終了する メイン画面 Activity1が表示される アクティビティ クラスクラスは各種用途各種用途に応じたものじたものが, フレームワークで提供提供されているたとえば地図地図を表示表示するするだけのだけの画面画面ならアクティビティ MapActivity を使ってほとんどコードコードを記述記述しなくてもしなくても作成作成可能

アプリ動作 ( 内部 ) アプリケーション No Signal Alert 圏外になった 通知処理 フレームワーク TelephonyManager Viblater AudioManager ライブラリ Media Framework カーネル Telephony ドライバ バイブレーションドライバ オーディオドライバ ハードウェア アンテナ バイブレーター スピーカー 電波状態の変化 ユーザー通知 ライブラリ カーネルのコードを意識せずにハードウェアからの検知 制御が可能!

Eclipse から Android SDK の各アプリを利用できるようにする Java アプリのライブラリ + コンパイラ Android バージョンにあわせたものを使用 アプリ開発環境 IBM によって開発された統合開発環境 (IDE) オープンソース Eclipse ( 統合開発環境 ) ADT ( Android Development Tools) JDK (Java SE Development Kit) OS Android SDK ライブラリ エミュレータ コマンドツール Java プラットフォームによるプログラム環境と C/C++ による開発をサポート Android SDK がサポートする OS Windows Mac OS X Linux iphone SDK は Mac OS X のみ

アプリ開発 英語 日本語 中国語 イタリア語 スペイン語 フランス語 ドイツ語 ロシア語 韓国語の相互翻訳 音声入力 読み上げ

翻訳アプリができるまで ( プロジェクト )

翻訳アプリができるまで ( 音声入力 ) private void showvoicerecognitiondialog(languagemodel locale) { } extralanguage = getlocale(locale); Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putextra(recognizerintent.extra_language_model, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); intent.putextra(recognizerintent.extra_prompt, getlang(locale)); intent.putextra(recognizerintent.extra_language, extralanguage); startactivityforresult(intent, VOICE_RECOGNITION_REQUEST_CODE);

翻訳アプリができるまで ( 音声入力 ) protected void onactivityresult(int requestcode, int resultcode, Intent data) { if (resultcode == RESULT_OK) { ArrayList<String> matches = data.getstringarraylistextra( RecognizerIntent.EXTRA_RESULTS); StringBuilder sb = new StringBuilder(); for (int i = 0; i < matches.size(); i++) { } sb.append(matches.get(i)); } ((EditText)findViewById(R.id.srctext)).setText(sb.toString()); } super.onactivityresult(requestcode, resultcode, data);

翻訳アプリができるまで ( 音声出力 ) TextToSpeech tts = new TextToSpeech(getApplicationContext(), this); ~~~~~ 中略 ~~~~~ public void onclick(view v) { if (gmodel!= null) { if (!gmodel.gettranslated().equals("")) { if (tts.isspeaking()) { tts.stop(); } } } } tts.setlanguage(getlocale(gmodel.getsrclanguage())); tts.speak(gmodel.gettranslated(), TextToSpeech.QUEUE_FLUSH, null);

5. Android アプリ実演

実演

6. Android の今後について

デジタルテレビ (GoogleTV) 広がる Android 開発者の利点 ネットワーク環境が容易に構築 USB 機器の利用が容易に可能 利用者の利点 Android アプリをテレビで楽しめる 有線 / 無線のどちらでもインターネット接続できる! ブラウザも作らなくてよい! Android ゲームやビューアーなどアプリをテレビでも使える! リモコンでなくマウスで操作! HDD やカードリーダーも! 好きなアプリをインストールしてカスタマイズ!

広がる Android 白物家電 ( 電子レンジ 洗濯機など ) 表示をグラフィカルにし 説明など追加して使いやすく タッチパネルを使うことで ボタンを少なく ネットワーク利用で 電子レンジなどはレシピ検索が可能に?

Android は今後 組み込み製品を繋ぐネットワークの中心に