2016年12月9日金曜日

Simple Baseball Indicator

野球のIndicatorを作成しました。




画面イメージ




機能
・普通のインジケーターとしてカウント機能
・自動スコアモードでのスコアー及びバッター順の更新。

2013年5月25日土曜日

Google IO 2013

5/25 六本木ヒルズのgoogle社内で行われた2013 google I/OのDevFestにいってきた。

Androidセッション

■Google IO 2013 全体 安藤さん

日時:5/15〜17
場所:San Francisco MOSCONE Center
人数:6000人 ネット100万人
料金:300$

Keynote day1

 Googleを他社とは比較しないでほしい、、、それはつまらないこと
 世の中にないものをテクノロジーで出す  by ラリーペイジ


■Android セッション全体  江川さん

・Android Studio
 Android開発にフォーカスしたIDE
 Gradle…OSSのビルドシステム
 当分はベータのまま、ただ今後はEclipseよりAndroid Studioを主流に

・Google Play
 アプリの翻訳を有料でできる
 収益見れる、バージョン管理

・Google Play Services

・Location APIs
 ユーザが今何をしているかをしり、バッテリーの効率化をおこなう

・Application Design

・UI/UX
 Daydream
  スクリーンセイバーのようなもの

・Google TV
 韓国がビックマーケット

■Performance 足立@adamroker

・ユーザの体感
 0〜100msec 早い
 100〜300msec 少しおそい
 300〜1秒msec 何か動いている

・バッテリー 通信モジュールは2番目にバッテリーが減る
   通信モジュールは休ませろ becon
 設計思想
  LTE  レイテンシー

・ベストプラクティス
 大量にプリフェッチ
 通信モジュールをOFF
 ポーリングをさける

・通信の高速化
  Volley
    大量データをやりとりできるネット接続ライブラリ
    GooglePlayでも使える

・グラフィックの最適化
 Framework早くなった
 Show GPU Overdraw
  背景色をTheamを移す
  9patchに透明を使う
 Systrace
  分析ツール

■Play Game Services & GCM 安生さん

・Google Play Game
 App Store の Game Center
 ユーザはGoogle+にサインイン必要

・Cloud Save
 Google Service

・注意点
 ヒープを散らかさない

・GCM XMPP Endpoint
 自サーバとつながった状態になる

Chrome/HTML5セッション

■HTML5 白石さん
・WebM
 Google製のオープンなビデオフォーマット
 
 VP9
  H.264より画質がよい
  chrome ver.29で利用可能になる

・Web Components In Action
 基盤を形成する使用群
  Shadow DOM, HTML Template, Custom Elements

 Polymer
  Web Componentsをより便利にする
  カスタム要素を生成できるフレームワーク

・WebRTC
 Webブラウザ間でP2P接続
 スクリーンキャプチャが可能になった

■Chrome 田中さん
 画像サイズに対するアクセスは今後問題

・image/webp
 メリット
  jpegよりサイズが小さい
 デメリット
  encoding 5〜10倍遅い
  decoding 1〜3倍遅い
  →これらはハードウェアでなんとかなる!

・requestAutocomplete()
 決済情報を自動で登録できるようにする

■Chrome あんどう
・A More Awesome Web
 CSS
 media
 Speech API 

・Mobile HTML
 スクリーンサイズ狭い
  Viewport
  Media Queries
  Flexible Box Module
  sticky
・Dart
 Javaっぽい言語
 ブラウザで動く
 Javascript vs Dart
  Evolving vs Designed
   Prototyping vs Larger App
   Many Frameworks vs All in One
   Ignore Error vs Warning
 期待度は高い

 Improving DOM APIs
 jQuery

 おもしろ  メソッドカステーディング、Dart製プレゼンツール、

■Performance & DevTools 吉川
・workspace
 devtools上でファイルをそのまま編集可能、そのままソースに反映
・SASS Support
 SASSをそのまま編集可能
・Port Forwarding
 ローカルで開発中のサイトをモバイルでデバッグできる
・Frame Chart
 JavaScriptの動作フレームをタイムライン上にスタックして確認可能
・Object allocation tracking
 メモリ割当をタイムライン表示可能

Chrome Canaryでためせる

Cloudセッション

■Cloud  
・Compute Engine
 誰でも使える、1分単位での課金
 Debian VM
 
・Cloud Datastore
 AppEnginから切り離された
 JSON or Protocol Buffersで使用可能
 App Engine のデータストアと同じ
 25%値下げ

■App Engine
・App Engine PHP
 Limited Preview
 PHP 5.4
 Cloud SQL、JSON API使える
・制約
 ファイルシステムには書き込み不可
 一部関数が使えない
 C拡張は使えない
・Mobile Backend Starter
 Androidアプリからサーバ顔のコードを書かずにDatastoreを使える
 
■BigQuery / Google Cloud Storage
・BigQuery
 アクセス解析に使うサービス
 Google Analytics と AdSenseをデータソースとして使える

・Google Cloud Storage

■Drive API

■Google Apps Scripts(GAS)
・Forms + GAS
 Formのデザインを拡張できる
・Docs + GAS
 Document
・GAS + DriveSDK
 フォルダ情報取得、検索が簡単

いろいろ

■YouTube
・YouTube Live範囲拡大
 個人パートナーでも使えるようになった
 API機能も拡大
 Android Player APIで組み込み可能!!
 VP9/Opusに対応

■Google+
・Sign inいっぱい

■GEO
・New Google Maps
 新しいUI
 パーソナライズ化
 素早く動く 
・Key
 100万サイト、一日100億人が利用
・地図デザイン原則
 地図は情報が多様すぎて、一般的なユーザビリティが通用しない
・車への展開がすごいおおい
・Will Street U

■Google Map API
・API v3
 見た目変わった
・4つの変更
 コントロールが変わった
 アイコンの陰がなくなった
・有効
 11/14〜 v=3

・Google Maps Tracks API
 車両などの追跡用API
 位置の記憶とGeoFenceが主な機能
 通常ユーザも利用可能(無料)

■Chrome Packaged Apps v2
・Chrome app
 BrowserをプラットフォームとしてNative Appをつくる
 soket api / usb api などの低レイヤのAPIサポート
 Webストアで公開可能に
 Chrome Web Storeへの登録・テスト可能

・for Mobile
 Cordova(PhoneGapなど)にplug-in可能
 ちょっとtryには早い… 7月にカンファレンスあり


2013年3月29日金曜日

ABC 2013

ABC 2013に行ってきた。

 http://www.android-group.jp/conference/abc2013s/

基調講演 丸山さん

■現在のAndroid
・半分以上がスマホ
・タブレットのびてる、2012で2倍
 PCのおわり
・シェア72%  ios 13.9  5倍
    68%      18
  Android 7割 iOS2割  3倍〜5倍
・売り上げ
 日本世界一 二位は韓国
  NHN DeNA Gree
・アプリでがんばる!

■Next Billion 次の10億
■携帯の基本
・ウェブの世界上でイT技術が進行していく中で成長する。
・2011年にアップル、Microsofto、Amazon、Facebookがクラウドを開始
 ブラウザでスピードアップ
・★★ウェブのスタイルが変形してきている★                                                                            
・GPS+NFC+個人情報

・Google  世界の情報に普遍的にアクセスできるようにする

・メイカーズ、ものづくり革命
  ものを作る道具が安くなってきている。
  3Dプロジェクタのオープンソース化 2000万円→200万円台→10万円に
  3Dスキャナ                                                        
~  →Fablab

■ウェブアプリ/HTML5開発の新しい動向
・アプリをつくるのはものづくりである!!
・サーバーとクラウドの役割の見直し
  クライアント側が高速になってきてる、サーバの負荷増大、ネットワーク増大、プログラムとViewの増大

・JavaScriptの役割
・ウェブとNativeは孤立していた。
 Widget
  一旦サーバからもらったZipファイルをクライアントで回答しその後はネット通信しない
 Packaged Web App

・外部にサーバを必要としないウェブアプリ。
 Rich Client, Thin Server Architectureに意向している

・AndroidのChrome 4.0が半分以上
・Chromeが一番早い JavaScript HTML5
 Chromeの統合がすすむ。Javascript + HTML5でのWebアプリ開発してください!!
 グローバルでのアプリ開発をする                                                                        

感想
 ようはJavascriptとHTML5がクライアントサイドで高速に動くようになってきたので
 どんどん開発しましょう!というもの。


テクノモバイル ハンズオン

GoogleMapでモンスターを散歩させよう!!

 1時間のなかでGoogleMapをつかってドラクエ風にアイコンを移動させるもの。
 ソースはコピペで最後にしっかり動くものが出来たのでプチ感動(笑)


脆弱性のあるアプrの作り方 タオソフト谷口

・Android Security
・JSSEC Android アプリセキュア セキュアコーディングガイド

アクセス制限の不備 31  
 コンポーネント21 ファイル10
その他 10

・ファイル

 問題
  ー 読み取られる、書き込まれる
 注意
  <作成方法>
   ・プリファレンスファイル
   ・データベースファイル
   ・自分で作成するファイル
   ・NDK
   パーミション
   ・MODE_PRIVATE
      ・MODE_WORLD_READABLE
      ・MODE_WORLD_WRITEABLE
  <作成場所>
     アプリケーションデータディレクトリにつくる!
     ・/data/data/パッケージ名
   外部記憶装置(SD)・・・すべてのアプリケーションから読み取り可能になる
    パーミション WRITE_EXTERNAL_STORAGE
    ※SDカードの写真は読み恋可能なので注意必要!!

・コンポーネント
  コンポーネントは外部からアクセス可能なので適切な制限をかける必要あり!!

  ContentProviderはデフォルトでは公開する、がデフォルト
   android:exported="false" で自分だけにできる
   ※IntentFilterに注意必要
    外部公開する仕組みなのでtrueになっちゃう。

   ※OS2.2まではfalseにしてもバグあり!!
   
  ・外部から機能のっとりに注意必要

・ユーザデータ以外の守るもの
 画像、動画、音声、
 ロジック、暗号化キー

 apkファイルはzipファイルなので、拡張子かえて解凍可能!
 ①PCに接続することでアプリデータ取り出し可能
 ②Android上でもipakageExploreでAndroidの中身が確認可能
  →リソースは簡単にとられる!!

 Javaはリバース簡単
  ①dex2.jar class.dexでファイルをjar化
  ②jd-gui.exe(JavaDecompiler)でjavaに変換

 Proguardで難解化は時間稼ぎにすぎない!!
 →本当に変換する場合は有償ツールを使う

・マルウェアに間違えられる?
 マルウェアに認定されている広告モジュールが入っていたらマルウェアと認定される。

・インストール時のパーミションの確認
 しっかりユーザにGooglePlayで説明する!!
 総務省 2012/8 出ているプライバシーポリシー

脆弱性発見ツール
 Tao RiskFinderで解析してくれる
 ダッシュO

知っておきたい、画像データ圧縮の仕組みと特徴〜株式会社ウェブテクノロジ


OptPix imesta
 なめこ、まっぷる、初音みく、ファイナルファンタジー

■画像データの基礎
・キーポイント
 JPEG
  写真などには向いているが、GUIなどクッッきりしたもにには向いていない
  アルファは持てない(透過度)
  モスキートノイズが発生する

 GIF
  PNGのほうがおおい、

 PNG
  GUIパーツなどのくっきり画像に向いている。バナーなど。サイズが多少大きいので245
  階調アルファにつかえる
  圧縮しても劣化しない!

 WebP
  Android4.0で標準でOS対応。
  小さくてきれい(JPEGとPNGのいいとこどり)
 

・インデックスカラー
  ダイレクト・・・1ピクセルごとにRGBをもつ
 256x256の画像を用意し、どのindex番号を使うかを指定するので画像データが小さくできる
 256色以下のみ対応。輪郭がくっきりするのでGUIに向いている。

■3Dテクスチャ
・主な3Dテクスチャ
  インデックスカラー・・・PS
  アルファ付きインデックスカラー・・・PS2
  DXTC・・・PCで標準
  PVRTC・・・iPhoneで標準
  ETC・・・Android端末

・DXTC、PVRTC
  くっきり画像の圧縮は苦手
  写真などの自然画像が得意
  4x4ピクセルに分解して代表色2色から4色を導きだし、インデックスで管理する。
  16x4x4  → 画像データ(16bitx2個) + インデックス情報(2bitx16ピクセル) = 64で表現する

  →圧縮特性を考慮して元絵をつくる
   インデックスカラーを使う

リーンでアジャイルにAndroidアプリ開発してみた NECビックローブ

伝えたいこと
・自分で考えるチームをつくる!!

スクラムが最近よく使われている

なぜ?
 1チームから14チームへ2年で
 従来の開発はすべての要件から一気→難しい
 市場の変化スピード
 リリース検証しないとわからない

 変化がおこることを前提に頻繁に軌道修正できること
  →変化する!!

ビックラ
 プロダクトの方向性をきめる
  リーンスタートアップ、ランニングリーン
  プロダクトオーナー、デベロッパーで一緒にやる

 朝会、スプリントレビュー
 仮説と検証

スクラムの源流は日本人
 役割
  プロダクトオーナー
   バックログの管理者
  スクラムマスター
   プロジェクトリーダではない(責任をもたない)、ファシリテート、コーチ
  デベロッパー
 成果物
 イベント


★スクラムはフィードバックを短い期間で回すこと★
 フィードバックサイクルを短くすればスピードが上がる。変化に強くなる。
 計画はしっかり立てる。ちゃんとやる。

 誰も命令はしない
  ★★自分で考えるチームをつくる!★

  問題は起きるが起きたときに改善すればいいTryで

見える化・・・
 カバレッジ、チームの成熟度評価でチームの見えるかを行う
 状況を判断するには多くの正確な情報が必要で、それを見えるかしチームが意識する。
 状況の変化がみえてくると達成感が出て課題もでてくる

ふりかえり・・・
 KPT 5分でその場で出す
 チーム自身へのフィードバック、毎週or2週間に1回やる!(終わってからは遅い!)
 Tryは必ずやる!改善する
 継続的な改善

デモ・・・
 プロダクトへの
 動くものでリアリティをもって現状を把握
 改善や機能追加の優先順位を明確にし、結果を次のタスクに反映する

★開発チームでできることをやる★
 改善活動は日本人の本質
 非営利組織の改革(ドラッガー)
 ・・・今あるものを改善するのが上手

組織として
 チームディスカッテョン
 ホワイトボード

うれしいです、おもうんです。自分が思う通りになると楽しくなる、ベース。

臨機応変・・行き当たりばったり
  臨機応変に出来る訳がない
  アジャイルは変化を許容する
  ・・開発者側としてはリスクがある

受け身体制
 自分で考えられない、今まで通りにやっちゃう
 3ヶ月ぐらいかかる、どっかで停滞する。
 →メンバを交代、アジャイルマスターを入れる。

2年前・・
 我慢して結果をだす。手段だけである
 結果が出れば上は変わる。

モバイルアプリのクロスプラットフォーム開発ではまりがちなポイント アシアル株式会社

・ハイブリットアプリとは
 中身はHTML5でクロスプラットフォーム

・なんでハイブリッド?
 両方できるネイティブ開発者少ない
 ウェブ開発者のノウハウ使える
 HTML5からネイティブ機能呼び出せる

・事例
 cookpad、はてなスペース、Linkedln
 2016年には業務アプリの50%がハイブリッドになる可能性あり

・ありがちな失敗
 しょぼいUI
 パフォーマンス

 Facebook不評だったためネイティブに意向
   「HTML5にかけたのが失敗だった」
 理由 
  スキル不足、
  ウェブサイトと同じ実装、
  HTML5実装すべきでないところ、
  モバイル特有を考慮していない

・作り方
 フレームワーク利用
  HTML5をネイティブに変換
  JSからネイティブ機能のIF提供
 選定ポイント
  ネイティブ機能をJSとして使うか?
  信頼できないHTMLを読み込むか?

・PhoneGap
  ファイルストレージ
  カメラ、コンパス、加速度
  位置情報

 プラグイン
  BlueToothなども呼び出せる
  自分でも作成できる

・開発方針
  どちらにあわせる??
   iPhoneのほうが滑らかなので、Androidで重すぎて動かない事態が発生する
   なのでまずはAndroidで開発したほうがよい

  何をどっちで実装?
   HTML5万能ではない・・・パフォーマンス的に無理な部分もある
               スレッドがJavaScriptが使えないなど
   あらかじめHTML5の不得意な部分を検証する!!

・開発ノウハウ
  デバッグ
   Firebugのようなインスペクタをモバイルで使うには?
    iOS・・・Safariのリモートインスペクタ
    Android・・・weinre(ワイナリ)を利用する(これのみ)
  アニメーション
   JavaScriptでは重すぎるのでCSSを使う
   dom.style.webkitAnimation
   iOS・・・translate3dをつかうべし!
   GPUを活用する!
   -webkit-transform-style:preserve-3d;
    Android・・・GPUオーバードロー
  ツールバーをネイティブにする
   ツールバーやタブバーはネイティブで実装し、中身はHTML5で実装する

  画面遷移のアニメーションはネイティブ

  viewportを利用する
   モバイルでHTML5特有の概念
   どの端末でも同じ見た目にする
   

ネイティブアプリの集客の状況 AppBroadCast


■ゲームアプリ環境
・AppStore
   パズドラ・・35億
  10位でも1.5億

・GooglePlay
   パズドラ・・35億
  10位で5000万くらい

 売り上げトップ50
  1年まえ・・・開発、パチスロ DL系がほとんど
  今年・・・ソーシャル系がトレンド

  SNSブラウザから、直置きネイティブアプリ時代がきた!!
   ガンホーが時価総額gree上回る

 スマホはあと5年は伸びる。
  今は40%ほど。4年後でも70%。

 まじめなコンテンツ+プロモーション
  にゃんこ大戦争・・・7000万/月  わずか3ヶ月

■プロモーション
・ブシロードがiOSでソーシャル(ネイティブ)に参入
 10時間後に1位獲得
 TVCM  ・・・9
 レビュー・・・1
 リワード(ブースト)・・・90

 TVCM→リワード→TVCM

・コロプラ LINEを抜いて1位(Android)
 12日後に1位獲得

 鉄板はブースト広告(2012年時)
  とあいえ・・
   ①インストール数を一気に爆発させていも売り上げがあがるわけではない。
   ②各社もブーストしている

   これらを解決する必要あり!!!!

 ①いいコンテンツを作るしかない。今までがおかしい。プロモーションだけ。
  無料で納得で課金がベース!
  一週間後に20%使われているかが重要。

 ②アイコン、アプリページの最適化、
  ■アイコンで3倍異なる  
   一番アップされているものがいい。絵が目立たないのはよくない。
   アイコンはよりが重要
  デフォルメよりリアルでよりで明るいもの・・・1.5

  ■紹介ページ
   3つのレビュー
    ★とコメント内容でDL数が3倍異なる
    レビューを促す・・・10回以上
       レビューを書くを促す

  ■動画の設置も有効
  
  ※アンインストールされないようにする


 リワード偏重はやめる
  TV、ブース、
  ADNW、FacebookAD、レビュー媒体、リスティング

  ブースかけると100位には入る

  広告意外でファンをつくる!!

■まとめ
・1w後の20%以上のアプリを作る
・アプリ、アプリ紹介の最適化
・リワード依存脱却
・CPIからCPD(ダウンロードアプリ)の時代。
・PIPASを徹底して広告する
   認識
  インストール
  プレイ
  課金
  スリープ

 100万に30万しか残らない。最低でも13%

 

2012年10月11日木曜日

Android Proguardのトレースデバッグ

Androidでアプリリリースする際、Proguardで暗号化は必須。

しかしリリース後のエラー報告には暗号化されたstactraceが通知されるので
実際にどこでエラーになっているかが判断つかない。

そこでproguardのリトレースツールを使用する。


c:\Android\android-sdk\tools\proguard\bin/retrace.bat


ビルド時のproguardフォルダ配下にあるmapping.txtと、エラーのバックトレースを
適当なファイルに保存し、上記ツールを実行すると本当のstactraceを見ることが可能。

◆コマンド
retrace.bat -verbose mapping.txt stacktrace.txt

ちなみにproguardの設定はelipseなら
①project.propertiesに以下の記載
proguard.config=proguard.cfg

②proguard.cfgに必要な記載を行う

自分の場合は、最初ServiceをBindでつかっていたらIInterfaceがproguardの対象になって
いなかったので暗号化したapkファイル動かすとClassないっていわれてエラーになった。

以下の記載を追記してあげれば、IInterfaceをつかっているものもクラス名の置換がおこなわれ
ないため、問題なくうごくー。


-keep public class * extends android.os.IInterface

2012年1月28日土曜日

Galaxy Nexsus One のeclipse認識方法

先日、xperiaの電池が持たなくなってきたので、携帯屋に電池交換しにいったら、そこに置いてあった4.0のGalaxyNexsusがなんと12000円で売っていた。

電池かえるのも4000円ぐらいするってことだし、xperiaはのこり3か月ぐらいの返済のこってたけど、なにやら1.6時に買ってもらった人に買い替えを促すキャンペーン中とかで、残りの返済しなくても交換できる、ってことを聞いたので嫁の了承を得、ポイントで買っちゃいました。

で、さっそくeclipseで認識させようとしたけど、それが全然出ませんのだ。。
いろいろしらべたら以下の2サイトにあたった。

http://d.hatena.ne.jp/out-of-kaya/20111202/1322799559
http://androidlover.net/smartphone/galaxynexus/installandroid-composite-adb-interface.html

①でとりあえずandroid_winusb.infを書き換えてもダメだったので、②のデバイスドライバの指定をandroid_winusb.infで再インストールしたら認識されました。(①にもそんなこと書いてあった・・・)

これで4.0で動かせるぞー!

Android 画像 マルチデバイス対応

Android画像解像度

ldpi(120dpi)   240px
mdpi(160dpi)  320px
hdpi(240dpi)   480px
xhdpi(320dpi)  640px


それぞれの解像度ごとで画像を認識させるにはプロジェクトの以下のディレクトリにそれぞれの画像ファイルを配置する必要あり。

 res/drawable-ldpi
 res/drawable-mdpi
 res/drawable-hdpi
 res/drawable-xhdpi

これでマルチデバイスに対応できますな。

2011年9月29日木曜日

九十九里オートキャンプ場に行ったー

暑さもやわらいだ9月末日、九十九里にキャンプに行った。

九十九里オートキャンプ場 太陽と海 http://www.tandu.jp/


前日に予約したけど偶然あいていたのと、中央道方面には3連休で行きたくなかったのと後は寒くなさそうだったので九十九里にした。

海のそばのオートキャンプ場で、設備はきれいでお風呂もジャグジーの露天風呂が2つあったので初めてキャンプする人にとってはいいかも。夜は星がきれいに見えた。(ひさびさ流れ星発見!)



以下は夕飯前の海。寒いはずなのに子供たちは水着で波と格闘。


ちなみに今回も燻製やったけど、今回は嫁が知り合いから譲りうけた専用の燻製器でつくったこともあってか、前よりもより燻製らしく仕上がった。特に鮭は最高!



2日目は蓮沼自然公園で遊んで、九十九里のそばの「ばんや」という店で遅めのお昼を食べた。

蓮沼記念公園には自転車公園のような面白乗り物や、ちっこいコースターやおっきな遊具があった。

ばんやさんは有名らしくキムタクの写真もあったり。
何といっても巨大な天丼とエビフライにはびっくり!俺も天丼にすればよかった>_<


帰りは3連休の最後ということもあって渋滞に巻き込まれたけど、千葉あたりからだったので下道で帰れて比較的疲れも残らず近場で遊べた感じで、急に予定してはまずまずのスケジュールでした。

九十九里でサーフィン、いいね~。