【Android, iOS】「佐世保のバス時刻」ver.1.1.0をリリース

AndroidならびにiOSアプリとして提供している「佐世保のバス時刻」につきまして、ver.1.1.0をリリースしました。

ver.1.1.0-Android版 ver.1.1.0-iOS版
(左:Android版、右:iOS版)

↓ダウンロードはこちらから
Google Play で手に入れよう 

 

主な変更点は、下記の通りです。

  • 「平日/土/日/祝」の文字を文字アイコンに変更
  • 一部アイコン画像の変更

 

ぜひ、ご利用ください!

【iOSアプリ】「佐世保のバス時刻」をリリースしました!

Android版に続き、iOSアプリでも「佐世保のバス時刻」をリリースしました!

こちらもぜひご利用ください!

Simulator Screen Shot 2016.06.11 8.19.46Simulator Screen Shot 2016.06.11 8.21.0502_Simulator Screen Shot 2016.06.11 8.20.02

↓ダウンロードはこちらから

【動作環境】

  • iOS9.0以上
  • iPadでも利用可能ですが、画面はiPhone向けに作成しています

=====以下、ストア掲載内容=====

佐世保市内を運行するバスの時刻表を表示するアプリです。

通勤・通学時間などに合わせた、スケジューリングによる時刻表示機能も付いています。
バスでお出かけの際や通勤・通学時などに、ぜひご利用ください!

【特徴】
・佐世保市営バス・西肥バス両方の時刻表表示に対応
・時刻表を表示したいバス停に対し、複数の行き先を選択指定することが可能
・通勤・通学など、決まった時間帯・行き先に対する時刻表の表示スケジュール設定が可能

【注意事項】
・ 本アプリは、表示する時刻表データを、佐世保市交通局および西肥自動車株式会社(以下、バスサービス提供会社)が各公式Webサイト上で一般公開している バスの時刻表情報を参照して作成していますが、個人で開発しているものであるため、仕様・動作や表示される情報など本アプリの全てに関して、バスサービス 提供会社とは一切関係がございません。
・時刻表データの不備や誤記などがございましたら、開発者(info@chobitech.com)までご連絡ください。
・本アプリをご利用の上で発生したあらゆる損害に関して、開発者は一切の責任を負いませんので、予めご了承ください。

====ストア掲載文章ここまで=====

 

【Androidアプリ】「佐世保のバス時刻」をリリースしました!

Androidアプリ「佐世保のバス時刻」をリリースしました!

佐世保市内のバス(市営バス・西肥バス)の時刻表を、バス停と行き先を指定して表示するアプリです。
通勤・通学時間などに合わせた、スケジューリングによる時刻表示も行います。
バス移動の際に、ぜひご利用ください。

   

↓アプリの詳細やダウンロードは、Google Playより
Google Play で手に入れよう


【主な機能】

  • 佐世保市内のバス(市営バス・西肥バス)の時刻表を、バス停と、そこから発車する行き先を複数選択して表示
  • 通勤・通学などの時間帯に合わせて、指定したバス停・行き先の時刻表を自動的に表示するスケジュール表示機能

【その他】

  • 本アプリは、表示する時刻表データを、佐世保市交通局および西肥自動車株式会社(以下、バスサービス提供会社)が各公式Webサイト上で一般公開しているバスの時刻表情報を参照して作成していますが、個人で開発しているものであるため、仕様・動作や表示される情報など本アプリの全てに関して、バスサービス提供会社とは一切関係がございません
  • 本アプリをご利用の上で発生したあらゆる損害に関して、開発者は一切の責任を負いませんので、予めご了承ください
  • 万が一、時刻表データの不備や誤記などがございましたら、開発者までご連絡ください

Android StudioでFirebaseを利用する

日本時間で2016年5月19日より、Google Firebaseの提供が開始されましたので、概要と利用方法、注意点などを、短めにまとめます。


【1】Firebaseとは

  • モバイル開発にて、プッシュ通知やアクセス解析など主にバックグランド面を担うサービス(MBaaSとも)
  • 元々はアメリカ・サンフランシスコの同名の会社が2011年より提供していたが、2014年にGoogleに出資を受け、子会社化したもの
    wikipedia
  • Google傘下としてのモバイル開発環境の本格提供開始に伴い、Google Analytics(GA)やAdMob、Google Cloud Messaging(GCM)などの管理をGoogle Developのプロジェクト単位で統括可能となるもの

 

【2】Firebaseを利用するメリット

  • GAやAdMobの管理がFirebase一箇所で可能(2016/05/21時点では、AdMobは当該AdMob管理ページへのリンクのみ)
  • Android開発時、GAやAdMob利用に伴うAndroidManifest.xmlへのmetaやactivity、service等の設定が必要なくなる
  • これまでのgoogle-play-servicesライブラリ利用時とは異なり、ライブラリ利用に際して、利用者のユーザIDを参照する権限が自動的に付与されない
    以前の記事も参照)
  • 既存の GAやAdMobのIDともリンクさせることが可能

 

【3】Firebaseを利用するデメリット

  • 既存のAdMobやGAとのリンクを行う際、リンク設定を誤ると修正がきかない
    (最悪の場合、Googleプロジェクトや内包するアプリ情報の削除、またGAやAdMobのID新規作成が必要)

【4】Android Studioへの実装方法

■確認環境

  • Max OS X El Capitan (10.11.5)
  • java version 1.7.0_79
  • Android Studio 2.1.1

■実装の流れ

  1. Firebaseの利用開始
  2. Google Develop上でのプロジェクトとアプリ情報の作成
  3. AdMobの広告ID作成(利用する場合)
  4. Firebaseのアプリ管理ページより、google-services.jsonファイルを取得し、Android Studioのプロジェクト内に配置
  5. 各種ライブラリとのリンク、およびbuild.gradleへの設定記述

 

【5】Android Studioへの実装(例)

  1. Firebaseの利用開始
    まずは、Firebaseを利用可能な状態にすべく、自身のGoogleアカウントでFirebaseの利用開始を行います。
    https://firebase.google.com/
    Firebase_01

    尚、Firebaseの価格体系については、AnalyticsとGCMに代わるFCM(Firebase Cloud Messaging)などは無料となっています。
    002
  2. Google Develo上でのプロジェクトとアプリ情報の作成
    Firebaseへログイン後の管理コンソールから操作します。まずは、Firebase管理コンソールの右上部分より、「新規プロジェクト作成」を選択。

    プロジェクト自体を初めて作成する場合は、新規にプロジェクトを作成するメッセージボタンが表示されますので、クリックします。
    003
    上記画像で灰色の部分は、追加したプロジェクト名やアプリのサマリーなどが記載されます。次に、アプリを追加します。

    アプリの追加は、作成したプロジェクトを選択した後に表示される「アプリを追加」ボタンから実施します。
    firebase_004

    「アプリ追加」を実施すると、アプリのプラットフォームを選択する画面が表示されますので、開発対象アプリのものを選択します。
    firebase_005

    次に、パッケージ名やBundle IDを設定する画面が表示されますので、開発するアプリのものを入力します。
    firebase_006

    入力して次に行くと、設定した内容を反映したgoogle-services.jsonのダウンロードが開始されますので、任意の場所に保存します。
    (後ほどダウンロードも可能。詳しくは手順4.を参照)
    firebase_007

    最後に、各種IDE向けの導入方法が簡単に紹介されますので、これに従い後ほど設定します。
    (画面はAndroidアプリを追加した時のもの)
    firebase_008

  3. AdMobの広告ID作成(利用する場合)
    本記事の内容とは異なるため手順の紹介は割愛します。ただ、AdMob上でアプリ情報を作成する際に、Firebase上で作成したアプリ情報とリンクするかを尋ねられるようになりましたので、パッケージ名やBundle IDを入力して、上記2.にて作成したアプリ情報とリンクします。
  4. Firebaseのアプリ管理ページより、google-services.jsonファイルを取得し、Android Studioのプロジェクト内に配置
    上記2.でのアプリ追加時にもダウンロード可能ですが、追加後に改めてダウンロードすることもできます。改めてダウンロードするには、
    Firebase上のプロジェクトTOP
    → 各アプリサマリー部分の右上メニュークリック
    → 「管理」を選択
    と辿ることで可能です。Android Studioのプロジェクトにgoogle-services.jsonを配置するには、Android StudioのProjectペインを「Project」に変更した後、「app」直下にgoogle-services.jsonをペーストすればOKです。
    firebase_009
  5. 各種ライブラリとのリンク、およびbuild.gradleへの設定記述
    詳細な手順は公式ドキュメントを参照していただくとして、ここでは流れのみを説明します。
    尚、以下はAndroid Studioを利用する場合の手順です。Xcode等、他のIDEについては、公式ドキュメントをご参照ください。

    ・プロジェクト全体のbuild.gradleに、google-servicesへのclass pathを通す

    ・アプリのbuild.gradleに、参照ライブラリと利用プラグインの追加設定を行う


ここまでの設定で、AndroidManifest.xml上で特に設定することなく、AnalyticsとAdMobが利用可能となります。

が、下記にご注意ください。

 

【注意点】

  • AdMobを利用する場合、レイアウトXML上に直接記述したAdViewでないと広告が表示されない
    → これまで、AdMob周辺の実装は、AdViewをソースコード上で動的に作成して反映させる自作のライブラリで行っていました。
    しかし、Firebaseのライブラリを組み込んだ場合、レイアウトXML上に直接記述したAdViewを用いないと広告が反映されないようです
    詳細は要検証ですが、Firebaseになる以前のgoogle-serveicesライブラリのリンクおよびgoogle-play-services.jarを参照する方法では動的にAdViewを作成する方法でも広告が表示されたため、Firebaseへの変更に伴うものではないかと考えています。

【お知らせ】「おたすけ技術屋 chobitech」Webサイトをリニューアルしました

タイトル通り、「おたすけ技術屋 chobitech」のWebサイトをリニューアルいたしました。

20160325_v2

早いもので、事業開始から約半年経過しました。

より一層、皆様のお役に立つようになることを目指したいと思っております。

 

今後とも、何卒よろしくお願いいたします。

EclipseでPHP Development Tool(PDT) + Remote System Explorer(RSE)環境の構築

EclipseでPHPを開発する際、基本的にはローカルで編集→SFTPなどでサーバへアップロード、という作業になると思います。

しかし、編集してアップする手間がかなり面倒なので、SSHにて直接サーバ上で編集するための準備を備忘録として記載します。

詳しい内容は、以下の参考ページをご参照いただくとして、ここでは設定の流れを簡単にまとめます。

※以下の内容は、2016/02/12時点のものです

 

【参考】
http://www.patrickjwaters.com/blog/2011-07-24/how-setup-eclipse-php-pdt-remote-system-explorer-theme-manager-and-drupal-plugins/35?page=1


【1】Eclipseの準備

・Eclipseのダウンロードとインストール
downloadページ

・PDT + RSEのインストール
→ “Help” > “Install New Software” を選択
→ “work with:” に “All Available Sites” を選択
→ “PDT” および “RSE” を検索してそれぞれインストール

・他、詳細は上記参考ページ参照のこと

PCにインストールされているJavaのバージョンによってはEclipseが正常動作しない場合があります。以前の記事もご参照ください。

 

【2】リモートの設定

・割愛、上記詳細ページを参照のこと

 

【3】PHPのデフォルトエディタ設定

・Eclipseの設定にて*.phpファイルのデフォルトエディタ変更
→ “Preferences > General > Editors > File Associations”
→ “File Types” 部分で “Add… > file type:” に “*.php” と入力して “OK”
→ “*.php” の “Associated Editors” にて “Add… > PHP Editor” を選択して “OK”
→ 同じく “*.php” の “Associated Editors” にて “PHP Editor”を選択し “Default” をクリックしてデフォルトエディタに設定

 

【4】PHPのオートコンプリート設定

・パースペクティブをRemote System Explorerに変更
→ “Window > Perspective > Open Perspective > Other” から “Remote System Explorer” を選択

「Localの」.projectファイルを編集
→  “Remote System” タブ上の “Local” から、Eclipseのデフォルトワークスペースフォルダにある “RemoteSystemsTempFiles” を開く
→ “.project” ファイル内の”<natures>〜</natures>”に以下の記載が無ければ追記し、Eclipseを再起動

 

【5】(オプション)Git設定

・リモートサーバにSSH接続し、編集対象のプロジェクトフォルダ内でGitリポジトリ作成

Android StudioにてGitのcommitができない場合の対処法

以前、Android StudioにてGitで初回のcommitができない場合の対処方法を記載しました。

今回は、初回のcommitは完了したものの、その後なぜか突然一部のファイルがcommitできなくなった事象が発生しましたので、その対処方法です。


【事象発生までの流れ】

  • 開発中、いきなり一部のファイルがcommitできなくなる。どの操作が悪かったのかなど、詳細は不明
  • 開発をローカルのGoogle Driveフォルダ上で行っているため、Google Driveの同期が原因か?とも考えたが、特定できず
  • その前までは正常にcommitできていた

 

【環境】

  • OS: Mac OS X El Capitan (10.11.3)
  • 開発環境: Android Studio 1.5.1
  • Git: 2.5.4 (Apple Git-61)

 

【対処方法】
(参考)“Android Studio Commit & Push bug” – Stack Overflow

下記部分を参考に対処

“Unchecked “Perform code analysis” in “Commit Changes” window and it’s worked! It seems like Android Studio can’t understand some files and rejects it…

  1. (menu) -> VCS ->Commit Changes、と選択
  2. 表示されるログ右側にある「Perform code analysis」のチェックを外す(下図)
    名称未設定
  3. そのままcommitを実施

今回は、上記のような簡単な対処方法で、無事にcommitできるようになりました。

気になるのは、引用したStack Overflowの下線を引いた部分です。

投稿のタイトルが「Android Studioのバグ」となっていはいますが、私の場合は「ある時突然発生した」ものでした。

そのため、Android Studioが元から持っているバグではないと思いますが、発生するトリガーが明確にわからないのは、何とも不安が残るものです。

【Android】「シンプルネットワークツール」 ver.1.1.0をリリース

icon_02_512

Androidアプリ「シンプルネットワークツール」のVer.1.1.0を公開しました。

<<主な変更点>>
・digにて、問い合わせ先のDNSサーバを指定できるように改訂
→デフォルト(指定なし)の場合は、現在利用中のプライマリDNSを使用
→DNSサーバ情報が取得できない場合は、Google Public DNS(8.8.8.8)を利用するように実装

ぜひご利用ください!

【Google Playからダウンロード】
Get it on Google Play

 

ステータスバーカスタマイズのXML指定

Androidアプリ開発時、ステータスバー等の色をstyles.xmlで指定する方法を備忘録。

 

ThemeColors

(参照元)
http://developer.android.com/intl/ja/training/material/theme.html#StatusBar

【備忘録】SQLiteで扱えるデータ型

いつも忘れてしまうので備忘録。

(参考)
http://www.dbonline.jp/sqlite/type/index1.html