TextView事始め

とりあえず、第一歩としてテキストを表示する。
以下は、現在の私の理解です。
細かいところは省略していますし、
ウソもあるかもしれませんが、ご了承ください(笑。
■AndroidのGUIは次の構造になっている。
・Activity
 ・Fragment
  ・TextView, … etc
1. Activity
Windowsアプリでいえば、Formにあたるのかな?
いわゆる場面転換の「場面」とでも言えばいいのでしょうか。
Androidアプリ開発の肝ですね。
2. Fragment
これを「画面」と呼ぶのがいいと思います。
タブレットでお馴染みの横へフリックして見た目が変わるものを、
複数のFragmentsで実装するイメージなのかな?
3. その下
Fragmentに具体的なパーツ、TextViewやButtonが載っている。
■プロジェクト作成 (Android Studio)
Menu/File/New Projectから新しいプロジェクトを作る、詳細は割愛。
Configure your new project
 とりあえず、名前をTest022にしておく
Select the form factors your app will run on:
 → Phone and Tablet
Minimum SDK:
→ API19: ANdroid 4.4 (KitKat)
Add an activity to Mobile:
 → Blank Activity with Fragment
Choose options for your new file:
 お好みで
■TextViewでテキストを表示する、準備
fragment_blank.xml(BlankFragment.java)にTextViewを追加します。
グラフィカルなGUIエディタでTextViewをドラッグ&ドロップして、fragment_blank.xmlに貼り付けます。
デフォルトのidはtextView1でした。
■TextViewでテキストを表示する
ここからが手間取りました。
これから実装する機能を考えると、
GUIとは別のクラスからテキストを送ってtextViewに表示したいのです。
つまり、Activityから末端のtextViewにアクセスするということ。
自動的に生成されたコード MainActivity.java の最後にPlaceholderFragmentというクラスがある。
意味はよく理解していないが、「とりあえずフラグメント」なのかな?

public static class PlaceholderFragment extends Fragment {
TextView textView;
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_blank, container, false);
textView = (TextView)rootView.findViewById(R.id.textView1);
textView.append("\nI'm here.\n");
return rootView;
}
}

上の赤のように追記してみると、画面に表示されました。

Time to Install Gnome 3.14

Ubuntu 14.10がリリースされたので、早速Gnome 3.14をインストールしました。
ただし、Ubunto 14.04.1 LTSに (笑
参考:Time to Install Gnome 3.14 on Ubuntu 14.10
 http://www.sysads.co.uk/2014/09/time-to-install-gnome-3-14-on-ubuntu-14-10/
> sudo apt-add-repository ppa:gnome3-team/gnome3
> sudo apt-add-repository ppa:gnome3-team/gnome3-staging
> sudo apt-add-repository ppa:ricotz/testing
> sudo apt-get update
> sudo apt-get dist-upgrade
> gnome-shell –version
GNOME Shell 3.10.4
Ok!
■追記
全然OKではありませんでしたね… 3.10.4 じゃん (笑

Android開発、再び

スマホをAndroidに替えてはや半年、
気がつけばAndroid 5.0 Lollipopも発表されSDKも降りてきました。
ということで、ようやく本格的に開発も始めようかと思い立ちました。
まぁ仕事ではないので、成果はおいおいです。

久しぶりに触ると何かしらエラーが出てその対応で時間が消えて…
というループが続いていた昨今でした。
とりあえず、パラ見する入門書がないかと考えて本屋へ。
何かのイベントか、本を買うと抽選があり、
残念賞でポケットティッシュとうまい棒をくれました (笑。
買った本はこちら、

Mike Wolfson
実践 Android Developer Tools
ISBN 978-4-87311-670-9
[ honto / amazon / 国会図書館サーチ ]

さすがはオライリー(?)
私が欲しい情報がまとまってる感じです。
例えば、
統合IDE Android Studioもバージョン0.8.6になって良さそうなので、
使ってみました。
Android Studio | Android Developers
インストールはすっ飛ばして実行〜。

初めてなのでスルー、

始まりました〜

SDKも5.0 (API 21) が出てますからね、
Oracle のJavaがオススメらしいですが、とりあえずOpen JDKで続行。
という感じで、いい塩梅に開発環境ができました。
始めた頃は本当に何も考えていませんでしたが、
とりあえず作ってみたいアプリも出てきました。
ゆっくり始めます。

車でスマホで音楽、再び

Androidで車で音楽、
エレコムのミュージックレシーバー LBT-AVWAR500 を買いました〜

iPhone+KOS-A300の便利さにはかないませんが、
まぁ、そこそこ使えています。
Nexus5のbluetooth、NFCをようやく使いました。

ちょっと強くなった?

かなと思ったのはWindows 8.1です。
Windows UpdateでPCが起動不能になるトラブル発生――2014年8月13日の更新プログラムが原因
 http://www.itmedia.co.jp/pcuser/articles/1408/18/news043.html
で件の更新プログラムのうち、インストールしていた2つを削除したのですが、
水曜日に起動しなくなりました(笑。
WindowsはiTunesしか使ってないので、ほったらかしてました。
さすがに、このままにしておくのも何なので、
作ってあった非常用のブートUSBを初めて試してみました。
新端末 @2013. 6.26(水)
 http://riverotter.xsrv.jp/wp/2013/06/post_2466/

結果、回復ポイントから復活できました〜♪
昔に比べたら楽になったよね。
ようやくWindowsもLinuxなみになったかな?

Helium

Androidのバックアップを取るツールです。
いつも忘れるのでメモしておきます。
まだリストアしたことないけれど…
■環境
マシン: lenovo ThunkPad E135 (64bit)
OS: Ubuntu Gnome 14.04.1 LTS
■ダウンロード
Helium – App Sync and Backup @ Google Play
https://play.google.com/store/apps/details?id=com.koushikdutta.backup&hl=ja
Helium Desktop Installer
http://www.clockworkmod.com/carbon
■インストール
解凍したファイルを次に配置
/opt/helium
依存関係で必要なものがあるのでインストール
> sudo apt-get install lib32ncurses5 g++-multilib
起動できたので、symbolik linkを張っておく。
> sudo ln -s /opt/helium/run.sh /usr/bin/helium

Android開発環境インストール メモ

ようやくまとめを作りました。
■環境
マシン: lenovo ThunkPad E135 (64bit)
OS: Ubuntu Gnome 14.04.1 LTS
参考:LinuxでAndroid開発環境構築
 http://note.chiebukuro.yahoo.co.jp/detail/n173086
■OpenJDKインストール
> sudo apt-get install openjdk-7-jdk
> sudo apt-get install lib32z1
■KVMチェック/インストール
・AMD-Vに対応しているかチェック
> grep –color svm /proc/cpuinfo
flags : fpu vme de … svm … lbrv svm_lock nrip_save pausefilter
flags : fpu vme de … svm … lbrv svm_lock nrip_save pausefilter
OKらしい
> sudo apt-get install qemu-kvm libvirt-bin
> sudo adduser (user) kvm
> sudo adduser (user) libvirtd
■Android SDKインストール
次からダウンロード
http://developer.android.com/sdk/index.html
現バージョンは adt-bundle-linux-x86_64-20140702.zip
/opt/adt/以下にファイルをコピー
■Eclipseを日本語化するPleiadesプラグイン インストール
http://mergedoc.sourceforge.jp/
Pleiades プラグイン・ダウンロード / 最新版 からダウンロード
eclipse.iniを開いて、ファイルの末尾に次を追加する
-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
一度、clipseにオプションをつけて起動する(時間が掛かります)
> eclipse -clean

クリーンインストール

久しぶり。
ブログにメモを残しているのですが、
時々やらないと感を忘れてしまうのでやっておきます。
Ubuntu GnomeがLTSになった記念に。
対象:UbuntuGnome 14.04.1 LTS
結果、UbuntuGnome 13.10 + Gnome 3と殆ど同じでした。
別途Gnome 3をインストールする手間はなくなったのでその分楽ですね。
Ubuntu GNOME 14.04.1 LTS 関係
そういえばsshfsのmountでfollow_symlinksが効かない不具合の原因を調べてなかった…
■追記
次の情報で解決しました。
フォルダ名の最後に “/” つければ良いと…
http://thread.gmane.org/gmane.comp.file-systems.fuse.sshfs/1182/focus=1189

消えたnginx

タイトルは本文とは関係ありません、あまり。
まぁhttpサーバをapache2からnginxに換えて1年あまり。
ほぼ問題なく運用されているのですが、
apt-get upgradeすると、時々、apache2が起動しています。
そしてnginxが死んでいます。
過去に apt-get remove apache2 しているので、
removeしようにも入ってないと怒られます。
実際には次で切り替えできるのですが、
> service apache2 stop
> service nginx start
再起動する度にapache2が起動してくる(?)のはやっかい。
何度もこんな経験しているので、その度にググって、その度に忘れてます。
根本的な解決が測れてない。
とりあえずapache2を消しておきます。
> sudo apt-get remove –purge apache2 apache2-utils

Nexus5 × KENWOOD KOS-A300 さらに続き

書き忘れていましたが、最低限の目的は達成しています。
すなわち、Nexus5に充電できること!
とはいえ、色々と試して見た結果、おおよそ次のような感じ。
1. Nexus5をスロットに挿してから認識に5分程度かかる。
2. Nexus5をスロットに挿したまま、エンジンOFF/ONしても認識に5分。
3. スロット挿入前にMusic Controlを起動する/しなくても1,2と同じ。
4. スロット挿入前にカーオーディオ/ナビ情報を出力する/しなくても1,2と同じ。
ただ、認識後も曲のリストのみ参照でき、曲順も再現性がないっぽい?
Music Controlに登録したplay listも出てこない。
ランダム再生のみだと思ったほうが気持ち的には楽かも (w
私的な使い方としては、次のような?
1. 車に乗るとスロットにNexus5を挿す。
2. 約10分以上運転する場合は、KOS-A300の出力にする。
とりあえず、これで実験を終わります。
なお、上の結果は私の環境でのものであり、保証するものではありませんので悪しからず。
とここまで書いて気がついたけれど、
Music Control のページにありました。
* Android™端末がMSC(マスストレージ)に対応していない場合、ケンウッド製カーオーディオ/ナビゲーションからコントロールすることができません。…
そして、Nexus5にはMSCモードが無いのでした、ちゃんちゃん♪
[root] StickMount とか使えばできるかもだけど?
これまでの記録
2014年5月22日 Nexus5 × KENWOOD KOS-A300 続き
2014年5月20日 Nexus5 × KENWOOD KOS-A300
2014年5月18日 完成というか完了
2014年5月14日 Nexus5用ビルトインスロット
2014年4月27日 車の音楽環境
2014年3月 2日 KENWOOD KOS-A300 with Android