SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
Androidの魅力と開発
  2012/01/25(水)@PRO&BSC
           樋口 祐紀
   (higuchi_yuki@probsc.jp)
突然ですがクイズです
• Twitter / Evernote / メールを利用し、
  任意の文字列を送信するAndroidアプ
  リを作るのに必要な時間は?
  A. 3分
  B. 3時間
  C. 3日
  D. Androidでは無理... だけど...
    3秒でできるよ。そう、iPhoneならね      2
これだけ書けば解決!
public class Test extends Activity {
    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);

        new AlertDialog.Builder(this).setMessage("Start activity ?")
          .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
             public void onClick(DialogInterface dialog, int whichButton) {
                Intent intent = new Intent(Intent.ACTION_SEND);
                intent.setType("text/plain");
                intent.putExtra(Intent.EXTRA_TEXT, "Hello, Android!!");
                startActivity(intent);
             }
          }).setNegativeButton("No", null).show();
    }
}                                                                         3
This is Android!!   Evernote
                               IMoNi
                                       twicca




                                           4
Androidの今後
Android x Arduino




• Arduino(アルドゥイーノ)
  – AVRマイコン、入出力ポートを備えた基板、C言語風のArduino言語とそれの
    統合開発環境から構成されるシステム。Arduino はスタンドアロン型のインタラ
    クティブデバイス開発だけでなく、ホストコンピュータ上のソフトウェア(例えば、
    Adobe Flash、Processing、Max/MSP、Pure Data、SuperCollider)
    で制御することもできる。                                            6
Sony Internet TV




「世界初のGoogle TV搭載 HDテレビ」
中身は…
  家電用Atomプロセッサ, Android2.1,
  Flash10.1対応Chromeブラウザ、Google TVソフトウェア
出典: ソニー、Google TV搭載テレビをデモ-engadget http://goo.gl/K4Fl
    「閉鎖的なテレビWebをオープンに」-ITmediaNews http://goo.gl/gns4   7
こんなテーマでAndroidを紹介します

1.   Android って何?
2.   Android vs iPhone
3.   実際の開発は?
4.   A3



                         8
1. Android って何?
様々なAndroid端末
Xperia        Galaxy S       Desire


                                        nook




                                       Streak
    IS01 / LYNX          dynabook AZ




                                                10
Android って何?
               【競合製品】 iPhone OS (iOS) / Symbian OS
• Androidとは…    / BlackBerry / WindowsPhone7 / webOS
 – Google/docomo/Intel等、携帯電話会社や端
   末メーカーが加盟する「Open Handset Alliance」
   が発表した携帯電話用ソフトウェアプラットフォーム

• 結局のところ…
 – LinuxベースOS + ミドルウェア (+ UI)
   • Linux 2.6カーネルがベースに、
     各種ライブラリをミドルウェアとして備える
 – Javaを使ってアプリ開発が可能
   • SDK同梱エミュレータにて動作確認
   • 実機を接続すれば実機デバッグも可能                           11
Androidのアーキテクチャ
      アプリケーション
                      Contacts   Phone       Browser         Your
         Home
                     (アドレス帳)     (電話)       (ブラウザ)        Application!!

SDK   アプリケーションフレームワーク
開発      アクティビティ       ウィンドウ       コンテンツ
                                            ビューシステム
                                                             通知
         マネージャ        マネージャ       プロバイダ                     マネージャ

         パッケージ         電話          リソース       位置            センサー
         マネージャ        マネージャ       マネージャ      マネージャ          マネージャ


      ライブラリ                                  Androidランタイム
        サーフェイス         メディア
                                  SQLite               コアライブラリ
        マネージャ        フレームワーク
NDK
                                                        Dalvik
開発     OpenGL | ES    FreeType    WebKit
                                                       仮想マシン

          SGL           SSL        libc


      Linuxカーネル
        ディスプレイ       Bluetooth              フラッシュメモリ      バインダ(IPC)
                                 カメラドライバ
         ドライバ          ドライバ                   ドライバ          ドライバ

         キーパッド                               オーディオ
                     USBドライバ     WiFiドライバ                   電源管理
         ドライバ                                 ドライバ
                                                                          12
2.Android vs iPhone
 UI / アプリ連携 / データ共有 / Market /
    マルチタスク処理 / バッググラウンド処理
Android vs iPhone 1/3
• UIの滑らかさはiPhoneが格段に上
 – iPhoneアプリのネイティブコードによる恩恵か?
   • iPhoneアプリの開発、実行環境が限定されるデメリットも
   • Android 2.2はJITコンパイラを搭載し、高速化へ


• Androidの先進的なアプリ連携
 – 例: メモ帳アプリによるメモ内容の他アプリ連携
   • iPhoneでは共有するための機能を明示的に呼び出し
   • Androidでは「インテント」により処理を依頼



                                     14
Android vs iPhone 2/3
• Androidではアプリ間データ共有が容易
 – 「コンテンツプロバイダ」により、SQLiteで保存したデー
   タを他アプリから(ユーザの承認に基づき)利用可能
   • 例: アドレス帳はコンタクト情報のコンテントプロバイダとなっ
     ており、他アプリから利用可能

• 自由なAndroid Market
 – iPhoneの厳しい審査と比べると、ほとんど「何でもあ
   りの自己責任」
 – システムを破壊するようなマルウェア相当の作成は
   パーミッション保護により困難なものの、情報が盗まれ
   る可能性は十分あり                  15
Android vs iPhone 3/3
• Androidはマルチタスク処理が可能
 – Androidアプリは別アプリに画面を奪われても動き続
   けることができるため、複数のアプリケーションを起動し
   た場合でも、それらの切り替えが瞬時に可能

• Androidはバックグランド処理も可能
 – 例: Android Marketからアプリをダウンロードしなが
   ら別のアプリを探す
 – 例: Twitterクライアントをバックグランドで起動してお
   き、ダイレクトメッセージをバイブ&ポップアップ表示

                                  16
Android アプリの実体である
「Activity」クラスの複雑な状態遷移
                              起動
                   ① onCreate()    ③ onRestoreInstanceState()
                   ② onStart()     ④ onResume()

      ③ onResume()
   ② onStart()              実行中                 ① onSaveInstanceState()
                                                    ② onPause()
① onRestart()
                                     onResume()


         終了                                       一時停止
                      ① onSaveInstanceState()
                      ② onStop()
  onDestroy()
     または
<Process killed>
                           破棄済み                      <Process killed>
                                                                   17
3. 実際の開発は?
「HelloWorld」書いてみよう!!0/3
• 開発環境 整備Tips
  – http://bit.ly/y5IrM3 (1.8MB)




                                   19
「HelloWorld」書いてみよう!!1/4




                      20
「HelloWorld」書いてみよう!!2/4




                      21
「HelloWorld」書いてみよう!!3/4
package jp.probsc.higuchi_yuki.hello;

import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;

public class Hello extends Activity {
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);

        // ダイアログの表示
        new AlertDialog.Builder(this)
          .setMessage("Hello, World!!")
          .setPositiveButton("OK", null)
          .show();
    }
}                                                     22
「HelloWorld」書いてみよう!!4/4
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="text:" />
        <EditText
            android:id="@+id/editText"
            android:layout_width="120dp"
            android:layout_height="wrap_content" />
    </LinearLayout>

                                                            main.xml
    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <TableRow>
            <Button android:id="@+id/btn01" android:layout_width="wrap_content"
                 android:layout_height="wrap_content" android:text="1" />
            ...
                                                                                  23
package jp.probsc.higuchi_yuki.button;

import   android.app.Activity;
import   android.os.Bundle;
import   android.view.View;
import   android.view.View.OnClickListener;
import   android.widget.Button;
import   android.widget.EditText;
import   android.widget.Toast;

public class MainActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

         final EditText editText =
             (EditText)findViewById(R.id.editText);
         Button btn01 =
             (Button)findViewById(R.id.btn01);

         btn01.setOnClickListener(new OnClickListener() {
             public void onClick(View v) {
                 Toast.makeText(MainActivity.this,
                     editText.getText().toString(),
                     Toast.LENGTH_LONG).show();
             }
         });
    }                                             MainActivity.java
}                                                                     24
野良アプリをインストールしよう1
                    野良アプリを配布できるのも
                     Androidの大きな魅力




http://bit.ly/c7vhwT (15KB)      25
野良アプリをインストールしよう2




      インストールはこちら:




http://bit.ly/uNd2eg (25KB)   26
4.   A3
スケジュール
エントリー期間(全部門) 2011/12下旬~2012/03/11
アプリ提出期限        2012/03/14
結果発表、表彰式       2012/04(予定)




                                    28

Mais conteúdo relacionado

Mais procurados

はじめてのAndroid開発
はじめてのAndroid開発はじめてのAndroid開発
はじめてのAndroid開発Katsumi Honda
 
Mixed Reality Toolkit V2開発環境構築(2020/01版)
Mixed Reality Toolkit V2開発環境構築(2020/01版)Mixed Reality Toolkit V2開発環境構築(2020/01版)
Mixed Reality Toolkit V2開発環境構築(2020/01版)Takahiro Miyaura
 
xRLT vol.01 資料「HoloLensでも3Dアニメーションを再生する 」
xRLT vol.01 資料「HoloLensでも3Dアニメーションを再生する 」xRLT vol.01 資料「HoloLensでも3Dアニメーションを再生する 」
xRLT vol.01 資料「HoloLensでも3Dアニメーションを再生する 」Tatsuro Matsubara
 
Editor スクリプティング 入門
Editor スクリプティング 入門Editor スクリプティング 入門
Editor スクリプティング 入門Keigo Ando
 
Extending the Unity Editor Extended
Extending the Unity Editor ExtendedExtending the Unity Editor Extended
Extending the Unity Editor ExtendedMasamitsu Ishikawa
 
iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips までiOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips までYuki Tanabe
 
Unity エディタ拡張
Unity エディタ拡張Unity エディタ拡張
Unity エディタ拡張Shota Baba
 
Unity課金ゲームアプリ開発ハンズオン!
Unity課金ゲームアプリ開発ハンズオン!Unity課金ゲームアプリ開発ハンズオン!
Unity課金ゲームアプリ開発ハンズオン!カイト株式会社
 
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSourceMashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSourcecmutoh
 
JUCEハンズオン@Ableton and Max Community Japan #009
JUCEハンズオン@Ableton and Max Community Japan #009JUCEハンズオン@Ableton and Max Community Japan #009
JUCEハンズオン@Ableton and Max Community Japan #009Tatsuya Shiozawa
 
ABC2012Spring 20120324
ABC2012Spring 20120324ABC2012Spring 20120324
ABC2012Spring 20120324Tak Inamori
 
「釣り★スタ」でのCocos2d-JSを使ってのアプリアップデート事例 (2)
「釣り★スタ」でのCocos2d-JSを使ってのアプリアップデート事例 (2)「釣り★スタ」でのCocos2d-JSを使ってのアプリアップデート事例 (2)
「釣り★スタ」でのCocos2d-JSを使ってのアプリアップデート事例 (2)gree_tech
 
JUCEではじめるBLOCKS開発_TOKYO BLOCKS HACKATHON 2018
JUCEではじめるBLOCKS開発_TOKYO BLOCKS HACKATHON 2018JUCEではじめるBLOCKS開発_TOKYO BLOCKS HACKATHON 2018
JUCEではじめるBLOCKS開発_TOKYO BLOCKS HACKATHON 2018Tatsuya Shiozawa
 
知って得するUnity エディタ拡張編
知って得するUnity エディタ拡張編知って得するUnity エディタ拡張編
知って得するUnity エディタ拡張編Shota Baba
 
HoloLens概要 仙台IT文化祭
HoloLens概要 仙台IT文化祭HoloLens概要 仙台IT文化祭
HoloLens概要 仙台IT文化祭Kaoru NAKAMURA
 
夜子まま塾講義10(画面の呼び出し)
夜子まま塾講義10(画面の呼び出し)夜子まま塾講義10(画面の呼び出し)
夜子まま塾講義10(画面の呼び出し)Masafumi Terazono
 
HoloLens 2を手に入れたらとりあえず試しておくべきアプリ
HoloLens 2を手に入れたらとりあえず試しておくべきアプリHoloLens 2を手に入れたらとりあえず試しておくべきアプリ
HoloLens 2を手に入れたらとりあえず試しておくべきアプリShingo Mori
 
HoloLensハンズオン:ハンドトラッキング&音声入力編
HoloLensハンズオン:ハンドトラッキング&音声入力編HoloLensハンズオン:ハンドトラッキング&音声入力編
HoloLensハンズオン:ハンドトラッキング&音声入力編Takashi Yoshinaga
 
Pf部2011年10月勉強会.1@androidsola
Pf部2011年10月勉強会.1@androidsolaPf部2011年10月勉強会.1@androidsola
Pf部2011年10月勉強会.1@androidsolaandroid sola
 

Mais procurados (20)

はじめてのAndroid開発
はじめてのAndroid開発はじめてのAndroid開発
はじめてのAndroid開発
 
Mixed Reality Toolkit V2開発環境構築(2020/01版)
Mixed Reality Toolkit V2開発環境構築(2020/01版)Mixed Reality Toolkit V2開発環境構築(2020/01版)
Mixed Reality Toolkit V2開発環境構築(2020/01版)
 
xRLT vol.01 資料「HoloLensでも3Dアニメーションを再生する 」
xRLT vol.01 資料「HoloLensでも3Dアニメーションを再生する 」xRLT vol.01 資料「HoloLensでも3Dアニメーションを再生する 」
xRLT vol.01 資料「HoloLensでも3Dアニメーションを再生する 」
 
Editor スクリプティング 入門
Editor スクリプティング 入門Editor スクリプティング 入門
Editor スクリプティング 入門
 
Extending the Unity Editor
Extending the Unity EditorExtending the Unity Editor
Extending the Unity Editor
 
Extending the Unity Editor Extended
Extending the Unity Editor ExtendedExtending the Unity Editor Extended
Extending the Unity Editor Extended
 
iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips までiOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips まで
 
Unity エディタ拡張
Unity エディタ拡張Unity エディタ拡張
Unity エディタ拡張
 
Unity課金ゲームアプリ開発ハンズオン!
Unity課金ゲームアプリ開発ハンズオン!Unity課金ゲームアプリ開発ハンズオン!
Unity課金ゲームアプリ開発ハンズオン!
 
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSourceMashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
 
JUCEハンズオン@Ableton and Max Community Japan #009
JUCEハンズオン@Ableton and Max Community Japan #009JUCEハンズオン@Ableton and Max Community Japan #009
JUCEハンズオン@Ableton and Max Community Japan #009
 
ABC2012Spring 20120324
ABC2012Spring 20120324ABC2012Spring 20120324
ABC2012Spring 20120324
 
「釣り★スタ」でのCocos2d-JSを使ってのアプリアップデート事例 (2)
「釣り★スタ」でのCocos2d-JSを使ってのアプリアップデート事例 (2)「釣り★スタ」でのCocos2d-JSを使ってのアプリアップデート事例 (2)
「釣り★スタ」でのCocos2d-JSを使ってのアプリアップデート事例 (2)
 
JUCEではじめるBLOCKS開発_TOKYO BLOCKS HACKATHON 2018
JUCEではじめるBLOCKS開発_TOKYO BLOCKS HACKATHON 2018JUCEではじめるBLOCKS開発_TOKYO BLOCKS HACKATHON 2018
JUCEではじめるBLOCKS開発_TOKYO BLOCKS HACKATHON 2018
 
知って得するUnity エディタ拡張編
知って得するUnity エディタ拡張編知って得するUnity エディタ拡張編
知って得するUnity エディタ拡張編
 
HoloLens概要 仙台IT文化祭
HoloLens概要 仙台IT文化祭HoloLens概要 仙台IT文化祭
HoloLens概要 仙台IT文化祭
 
夜子まま塾講義10(画面の呼び出し)
夜子まま塾講義10(画面の呼び出し)夜子まま塾講義10(画面の呼び出し)
夜子まま塾講義10(画面の呼び出し)
 
HoloLens 2を手に入れたらとりあえず試しておくべきアプリ
HoloLens 2を手に入れたらとりあえず試しておくべきアプリHoloLens 2を手に入れたらとりあえず試しておくべきアプリ
HoloLens 2を手に入れたらとりあえず試しておくべきアプリ
 
HoloLensハンズオン:ハンドトラッキング&音声入力編
HoloLensハンズオン:ハンドトラッキング&音声入力編HoloLensハンズオン:ハンドトラッキング&音声入力編
HoloLensハンズオン:ハンドトラッキング&音声入力編
 
Pf部2011年10月勉強会.1@androidsola
Pf部2011年10月勉強会.1@androidsolaPf部2011年10月勉強会.1@androidsola
Pf部2011年10月勉強会.1@androidsola
 

Destaque

[Android] Intent and Activity
[Android] Intent and Activity[Android] Intent and Activity
[Android] Intent and ActivityNikmesoft Ltd
 
Intent in android
Intent in androidIntent in android
Intent in androidDurai S
 
Android: Intent, Intent Filter, Broadcast Receivers
Android: Intent, Intent Filter, Broadcast ReceiversAndroid: Intent, Intent Filter, Broadcast Receivers
Android: Intent, Intent Filter, Broadcast ReceiversCodeAndroid
 
Android Lesson 3 - Intent
Android Lesson 3 - IntentAndroid Lesson 3 - Intent
Android Lesson 3 - IntentDaniela Da Cruz
 

Destaque (8)

Intents are Awesome
Intents are AwesomeIntents are Awesome
Intents are Awesome
 
Android intent
Android intentAndroid intent
Android intent
 
[Android] Intent and Activity
[Android] Intent and Activity[Android] Intent and Activity
[Android] Intent and Activity
 
Intent in android
Intent in androidIntent in android
Intent in android
 
Android intents
Android intentsAndroid intents
Android intents
 
Android: Intent, Intent Filter, Broadcast Receivers
Android: Intent, Intent Filter, Broadcast ReceiversAndroid: Intent, Intent Filter, Broadcast Receivers
Android: Intent, Intent Filter, Broadcast Receivers
 
Android Lesson 3 - Intent
Android Lesson 3 - IntentAndroid Lesson 3 - Intent
Android Lesson 3 - Intent
 
Android ppt
Android ppt Android ppt
Android ppt
 

Semelhante a Android Lecture #01 @PRO&BSC Inc.

Java/Androidセキュアコーディング
Java/AndroidセキュアコーディングJava/Androidセキュアコーディング
Java/AndroidセキュアコーディングMasaki Kubo
 
SEAndroid -AndroidのアーキテクチャとSE化について-
SEAndroid -AndroidのアーキテクチャとSE化について-SEAndroid -AndroidのアーキテクチャとSE化について-
SEAndroid -AndroidのアーキテクチャとSE化について-Hiromu Yakura
 
Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1Atomu Hidaka
 
はじめてのAndroid in 高知
はじめてのAndroid in 高知はじめてのAndroid in 高知
はじめてのAndroid in 高知hiro nemu
 
20111031 MobileWeb at TDC
20111031 MobileWeb at TDC20111031 MobileWeb at TDC
20111031 MobileWeb at TDCNobuhiro Sue
 
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」techtalkdwango
 
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
 jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキングTakashi Okamoto
 
Titanium Mobile
Titanium MobileTitanium Mobile
Titanium MobileNaoya Ito
 
Windows azure mobile services を使った windows ストアアプリ開発 1027
Windows azure mobile services を使った windows ストアアプリ開発 1027Windows azure mobile services を使った windows ストアアプリ開発 1027
Windows azure mobile services を使った windows ストアアプリ開発 1027Shotaro Suzuki
 
もう怖くないモバイルアプリ開発!
もう怖くないモバイルアプリ開発!もう怖くないモバイルアプリ開発!
もう怖くないモバイルアプリ開発!Toshiki Iga
 
Android Studioの魅力
Android Studioの魅力Android Studioの魅力
Android Studioの魅力Keiji Ariyama
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Takako Miyagawa
 
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Pathdynamis
 
Windowsストアアプリ開発 オープンセミナー広島
Windowsストアアプリ開発 オープンセミナー広島Windowsストアアプリ開発 オープンセミナー広島
Windowsストアアプリ開発 オープンセミナー広島Akira Onishi
 
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションC# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションYoshito Tabuchi
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#Yuta Matsumura
 
Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版Yoshito Tabuchi
 
Droidcon London2012 Speaker Experience
Droidcon London2012 Speaker ExperienceDroidcon London2012 Speaker Experience
Droidcon London2012 Speaker ExperienceKenichi Kambara
 

Semelhante a Android Lecture #01 @PRO&BSC Inc. (20)

Java/Androidセキュアコーディング
Java/AndroidセキュアコーディングJava/Androidセキュアコーディング
Java/Androidセキュアコーディング
 
SEAndroid -AndroidのアーキテクチャとSE化について-
SEAndroid -AndroidのアーキテクチャとSE化について-SEAndroid -AndroidのアーキテクチャとSE化について-
SEAndroid -AndroidのアーキテクチャとSE化について-
 
Android0422
Android0422Android0422
Android0422
 
Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1
 
はじめてのAndroid in 高知
はじめてのAndroid in 高知はじめてのAndroid in 高知
はじめてのAndroid in 高知
 
20111031 MobileWeb at TDC
20111031 MobileWeb at TDC20111031 MobileWeb at TDC
20111031 MobileWeb at TDC
 
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
 
Jqm20120804 publish
Jqm20120804 publishJqm20120804 publish
Jqm20120804 publish
 
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
 jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
 
Titanium Mobile
Titanium MobileTitanium Mobile
Titanium Mobile
 
Windows azure mobile services を使った windows ストアアプリ開発 1027
Windows azure mobile services を使った windows ストアアプリ開発 1027Windows azure mobile services を使った windows ストアアプリ開発 1027
Windows azure mobile services を使った windows ストアアプリ開発 1027
 
もう怖くないモバイルアプリ開発!
もう怖くないモバイルアプリ開発!もう怖くないモバイルアプリ開発!
もう怖くないモバイルアプリ開発!
 
Android Studioの魅力
Android Studioの魅力Android Studioの魅力
Android Studioの魅力
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
 
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Path
 
Windowsストアアプリ開発 オープンセミナー広島
Windowsストアアプリ開発 オープンセミナー広島Windowsストアアプリ開発 オープンセミナー広島
Windowsストアアプリ開発 オープンセミナー広島
 
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションC# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
 
Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版
 
Droidcon London2012 Speaker Experience
Droidcon London2012 Speaker ExperienceDroidcon London2012 Speaker Experience
Droidcon London2012 Speaker Experience
 

Mais de Yuki Higuchi

あいにきて IoT
あいにきて IoTあいにきて IoT
あいにきて IoTYuki Higuchi
 
Programmer @jc-21 2014/03/29
Programmer @jc-21 2014/03/29Programmer @jc-21 2014/03/29
Programmer @jc-21 2014/03/29Yuki Higuchi
 
AozoraYomite @InfoTalk 2012/12/21
AozoraYomite @InfoTalk 2012/12/21AozoraYomite @InfoTalk 2012/12/21
AozoraYomite @InfoTalk 2012/12/21Yuki Higuchi
 
Android Lecture #04 @PRO&BSC Inc.
Android Lecture #04 @PRO&BSC Inc.Android Lecture #04 @PRO&BSC Inc.
Android Lecture #04 @PRO&BSC Inc.Yuki Higuchi
 
Android Lecture #03 @PRO&BSC Inc.
Android Lecture #03 @PRO&BSC Inc.Android Lecture #03 @PRO&BSC Inc.
Android Lecture #03 @PRO&BSC Inc.Yuki Higuchi
 
Android Lecture #02 @PRO&BSC Inc.
Android Lecture #02 @PRO&BSC Inc.Android Lecture #02 @PRO&BSC Inc.
Android Lecture #02 @PRO&BSC Inc.Yuki Higuchi
 
AOZORAYOMITE and Intent
AOZORAYOMITE and IntentAOZORAYOMITE and Intent
AOZORAYOMITE and IntentYuki Higuchi
 

Mais de Yuki Higuchi (7)

あいにきて IoT
あいにきて IoTあいにきて IoT
あいにきて IoT
 
Programmer @jc-21 2014/03/29
Programmer @jc-21 2014/03/29Programmer @jc-21 2014/03/29
Programmer @jc-21 2014/03/29
 
AozoraYomite @InfoTalk 2012/12/21
AozoraYomite @InfoTalk 2012/12/21AozoraYomite @InfoTalk 2012/12/21
AozoraYomite @InfoTalk 2012/12/21
 
Android Lecture #04 @PRO&BSC Inc.
Android Lecture #04 @PRO&BSC Inc.Android Lecture #04 @PRO&BSC Inc.
Android Lecture #04 @PRO&BSC Inc.
 
Android Lecture #03 @PRO&BSC Inc.
Android Lecture #03 @PRO&BSC Inc.Android Lecture #03 @PRO&BSC Inc.
Android Lecture #03 @PRO&BSC Inc.
 
Android Lecture #02 @PRO&BSC Inc.
Android Lecture #02 @PRO&BSC Inc.Android Lecture #02 @PRO&BSC Inc.
Android Lecture #02 @PRO&BSC Inc.
 
AOZORAYOMITE and Intent
AOZORAYOMITE and IntentAOZORAYOMITE and Intent
AOZORAYOMITE and Intent
 

Último

My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024 「本当の『悪者』って何?」My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024 「本当の『悪者』って何?」inspirehighstaff03
 
Divorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfDivorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfoganekyokoi
 
My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」inspirehighstaff03
 
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライドリアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライドKen Fukui
 
International Politics I - Lecture 1
International Politics I - Lecture 1International Politics I - Lecture 1
International Politics I - Lecture 1Toru Oga
 
My Inspire High Award 2024「老いることは不幸なこと?」
My Inspire High Award 2024「老いることは不幸なこと?」My Inspire High Award 2024「老いることは不幸なこと?」
My Inspire High Award 2024「老いることは不幸なこと?」inspirehighstaff03
 
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライドリアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライドKen Fukui
 
My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024 「AIと仲良くなるには?」My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024 「AIと仲良くなるには?」inspirehighstaff03
 
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」inspirehighstaff03
 
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」inspirehighstaff03
 
My Inspire High Award 2024「なぜ議会への関心が低いのか?」
My Inspire High Award 2024「なぜ議会への関心が低いのか?」My Inspire High Award 2024「なぜ議会への関心が低いのか?」
My Inspire High Award 2024「なぜ議会への関心が低いのか?」inspirehighstaff03
 
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライドリアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライドKen Fukui
 
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」inspirehighstaff03
 
TEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdfTEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdfyukisuga3
 
My Inspire High Award 2024    「孤独は敵なのか?」
My Inspire High Award 2024    「孤独は敵なのか?」My Inspire High Award 2024    「孤独は敵なのか?」
My Inspire High Award 2024    「孤独は敵なのか?」inspirehighstaff03
 
My Inspire High Award 2024      「家族とは何か」
My Inspire High Award 2024      「家族とは何か」My Inspire High Award 2024      「家族とは何か」
My Inspire High Award 2024      「家族とは何か」inspirehighstaff03
 
My Inspire High Award 2024  「正義って存在するの?」
My Inspire High Award 2024  「正義って存在するの?」My Inspire High Award 2024  「正義って存在するの?」
My Inspire High Award 2024  「正義って存在するの?」inspirehighstaff03
 
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライドリアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライドKen Fukui
 
Establishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfEstablishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfoganekyokoi
 
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdfMy Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdfinspirehighstaff03
 

Último (20)

My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024 「本当の『悪者』って何?」My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024 「本当の『悪者』って何?」
 
Divorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfDivorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdf
 
My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」
 
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライドリアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
 
International Politics I - Lecture 1
International Politics I - Lecture 1International Politics I - Lecture 1
International Politics I - Lecture 1
 
My Inspire High Award 2024「老いることは不幸なこと?」
My Inspire High Award 2024「老いることは不幸なこと?」My Inspire High Award 2024「老いることは不幸なこと?」
My Inspire High Award 2024「老いることは不幸なこと?」
 
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライドリアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
 
My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024 「AIと仲良くなるには?」My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024 「AIと仲良くなるには?」
 
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
 
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
 
My Inspire High Award 2024「なぜ議会への関心が低いのか?」
My Inspire High Award 2024「なぜ議会への関心が低いのか?」My Inspire High Award 2024「なぜ議会への関心が低いのか?」
My Inspire High Award 2024「なぜ議会への関心が低いのか?」
 
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライドリアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
 
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
 
TEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdfTEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdf
 
My Inspire High Award 2024    「孤独は敵なのか?」
My Inspire High Award 2024    「孤独は敵なのか?」My Inspire High Award 2024    「孤独は敵なのか?」
My Inspire High Award 2024    「孤独は敵なのか?」
 
My Inspire High Award 2024      「家族とは何か」
My Inspire High Award 2024      「家族とは何か」My Inspire High Award 2024      「家族とは何か」
My Inspire High Award 2024      「家族とは何か」
 
My Inspire High Award 2024  「正義って存在するの?」
My Inspire High Award 2024  「正義って存在するの?」My Inspire High Award 2024  「正義って存在するの?」
My Inspire High Award 2024  「正義って存在するの?」
 
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライドリアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
 
Establishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfEstablishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdf
 
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdfMy Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
 

Android Lecture #01 @PRO&BSC Inc.

  • 1. Androidの魅力と開発 2012/01/25(水)@PRO&BSC 樋口 祐紀 (higuchi_yuki@probsc.jp)
  • 2. 突然ですがクイズです • Twitter / Evernote / メールを利用し、 任意の文字列を送信するAndroidアプ リを作るのに必要な時間は? A. 3分 B. 3時間 C. 3日 D. Androidでは無理... だけど... 3秒でできるよ。そう、iPhoneならね 2
  • 3. これだけ書けば解決! public class Test extends Activity { /** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); new AlertDialog.Builder(this).setMessage("Start activity ?") .setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); intent.putExtra(Intent.EXTRA_TEXT, "Hello, Android!!"); startActivity(intent); } }).setNegativeButton("No", null).show(); } } 3
  • 4. This is Android!! Evernote IMoNi twicca 4
  • 6. Android x Arduino • Arduino(アルドゥイーノ) – AVRマイコン、入出力ポートを備えた基板、C言語風のArduino言語とそれの 統合開発環境から構成されるシステム。Arduino はスタンドアロン型のインタラ クティブデバイス開発だけでなく、ホストコンピュータ上のソフトウェア(例えば、 Adobe Flash、Processing、Max/MSP、Pure Data、SuperCollider) で制御することもできる。 6
  • 7. Sony Internet TV 「世界初のGoogle TV搭載 HDテレビ」 中身は… 家電用Atomプロセッサ, Android2.1, Flash10.1対応Chromeブラウザ、Google TVソフトウェア 出典: ソニー、Google TV搭載テレビをデモ-engadget http://goo.gl/K4Fl 「閉鎖的なテレビWebをオープンに」-ITmediaNews http://goo.gl/gns4 7
  • 8. こんなテーマでAndroidを紹介します 1. Android って何? 2. Android vs iPhone 3. 実際の開発は? 4. A3 8
  • 10. 様々なAndroid端末 Xperia Galaxy S Desire nook Streak IS01 / LYNX dynabook AZ 10
  • 11. Android って何? 【競合製品】 iPhone OS (iOS) / Symbian OS • Androidとは… / BlackBerry / WindowsPhone7 / webOS – Google/docomo/Intel等、携帯電話会社や端 末メーカーが加盟する「Open Handset Alliance」 が発表した携帯電話用ソフトウェアプラットフォーム • 結局のところ… – LinuxベースOS + ミドルウェア (+ UI) • Linux 2.6カーネルがベースに、 各種ライブラリをミドルウェアとして備える – Javaを使ってアプリ開発が可能 • SDK同梱エミュレータにて動作確認 • 実機を接続すれば実機デバッグも可能 11
  • 12. Androidのアーキテクチャ アプリケーション Contacts Phone Browser Your Home (アドレス帳) (電話) (ブラウザ) Application!! SDK アプリケーションフレームワーク 開発 アクティビティ ウィンドウ コンテンツ ビューシステム 通知 マネージャ マネージャ プロバイダ マネージャ パッケージ 電話 リソース 位置 センサー マネージャ マネージャ マネージャ マネージャ マネージャ ライブラリ Androidランタイム サーフェイス メディア SQLite コアライブラリ マネージャ フレームワーク NDK Dalvik 開発 OpenGL | ES FreeType WebKit 仮想マシン SGL SSL libc Linuxカーネル ディスプレイ Bluetooth フラッシュメモリ バインダ(IPC) カメラドライバ ドライバ ドライバ ドライバ ドライバ キーパッド オーディオ USBドライバ WiFiドライバ 電源管理 ドライバ ドライバ 12
  • 13. 2.Android vs iPhone UI / アプリ連携 / データ共有 / Market / マルチタスク処理 / バッググラウンド処理
  • 14. Android vs iPhone 1/3 • UIの滑らかさはiPhoneが格段に上 – iPhoneアプリのネイティブコードによる恩恵か? • iPhoneアプリの開発、実行環境が限定されるデメリットも • Android 2.2はJITコンパイラを搭載し、高速化へ • Androidの先進的なアプリ連携 – 例: メモ帳アプリによるメモ内容の他アプリ連携 • iPhoneでは共有するための機能を明示的に呼び出し • Androidでは「インテント」により処理を依頼 14
  • 15. Android vs iPhone 2/3 • Androidではアプリ間データ共有が容易 – 「コンテンツプロバイダ」により、SQLiteで保存したデー タを他アプリから(ユーザの承認に基づき)利用可能 • 例: アドレス帳はコンタクト情報のコンテントプロバイダとなっ ており、他アプリから利用可能 • 自由なAndroid Market – iPhoneの厳しい審査と比べると、ほとんど「何でもあ りの自己責任」 – システムを破壊するようなマルウェア相当の作成は パーミッション保護により困難なものの、情報が盗まれ る可能性は十分あり 15
  • 16. Android vs iPhone 3/3 • Androidはマルチタスク処理が可能 – Androidアプリは別アプリに画面を奪われても動き続 けることができるため、複数のアプリケーションを起動し た場合でも、それらの切り替えが瞬時に可能 • Androidはバックグランド処理も可能 – 例: Android Marketからアプリをダウンロードしなが ら別のアプリを探す – 例: Twitterクライアントをバックグランドで起動してお き、ダイレクトメッセージをバイブ&ポップアップ表示 16
  • 17. Android アプリの実体である 「Activity」クラスの複雑な状態遷移 起動 ① onCreate() ③ onRestoreInstanceState() ② onStart() ④ onResume() ③ onResume() ② onStart() 実行中 ① onSaveInstanceState() ② onPause() ① onRestart() onResume() 終了 一時停止 ① onSaveInstanceState() ② onStop() onDestroy() または <Process killed> 破棄済み <Process killed> 17
  • 22. 「HelloWorld」書いてみよう!!3/4 package jp.probsc.higuchi_yuki.hello; import android.app.Activity; import android.app.AlertDialog; import android.os.Bundle; public class Hello extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // ダイアログの表示 new AlertDialog.Builder(this) .setMessage("Hello, World!!") .setPositiveButton("OK", null) .show(); } } 22
  • 23. 「HelloWorld」書いてみよう!!4/4 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="text:" /> <EditText android:id="@+id/editText" android:layout_width="120dp" android:layout_height="wrap_content" /> </LinearLayout> main.xml <TableLayout android:layout_width="fill_parent" android:layout_height="wrap_content"> <TableRow> <Button android:id="@+id/btn01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1" /> ... 23
  • 24. package jp.probsc.higuchi_yuki.button; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final EditText editText = (EditText)findViewById(R.id.editText); Button btn01 = (Button)findViewById(R.id.btn01); btn01.setOnClickListener(new OnClickListener() { public void onClick(View v) { Toast.makeText(MainActivity.this, editText.getText().toString(), Toast.LENGTH_LONG).show(); } }); } MainActivity.java } 24
  • 25. 野良アプリをインストールしよう1 野良アプリを配布できるのも Androidの大きな魅力 http://bit.ly/c7vhwT (15KB) 25
  • 26. 野良アプリをインストールしよう2 インストールはこちら: http://bit.ly/uNd2eg (25KB) 26
  • 27. 4. A3