ぽんたのプログラミング勉強部屋(仮)

プログラミングについて色々勉強したことのメモ集です。どこにでも載っているような情報ばかりですw

Android StudioでGitHubと連携してみた

Android StudioGitHubと連携ができるとのことなので、試した時の手順をメモ。

因みに環境はWindows7 + Android Studio 2.1.2です。
まぁ、Linuxとかでも手順は変わらないだろうけど…。

後、Gitがインストールされてるとか、GitHubのアカウントを持っている事が前提ですが、
その辺の導入については割愛。

プロジェクトの作成

わざわざ書くほどでもないのですが…。
連携させるプロジェクトを新規作成します。
別に既存のプロジェクトでもOK。
今回はテスト用にSamplePrjというプロジェクトを作成。

リポジトリの作成

プロジェクトを作成したら、ツールバーから、
[VCS] ⇒ [Enable Version Control Integration...]
を選択します。

f:id:ponta666:20160703235726p:plain

選択すると使用するバージョン管理システムを聞かれるので、「Git」を選択します。
f:id:ponta666:20160703235831p:plain
「OK」ボタンを押すと、プロジェクトがGitリポジトリになります。

ちなみに、
[VCS] ⇒ [Import into Version Control] ⇒ [Create Git Repository...]
と選択しても同様だそうです。
その場合はGitリポジトリを作成する場所を聞かれるので、フォルダを選択してください。
今回はプロジェクトルートを選択しました。

f:id:ponta666:20160704000407p:plain

リポジトリにファイルを追加

リポジトリが作成できたので、バージョン管理するファイルを追加します。
プロジェクトを右クリックして
[Git] ⇒ [Add]
と選択していきます。

f:id:ponta666:20160704001458p:plain

ファイルのコミット

バージョン管理するファイルの登録が終わったら、コミットをします。
先ほど同様プロジェクトを右クリックして
[Git] ⇒ [Commit Directory...]
と選択していきます。
以下のダイアログが表示されるので、Commit Messageを入力して、「Commit」ボタンを押してコミットします。

f:id:ponta666:20160704001933p:plain

コミット時にエラーや警告があると以下のようにダイアログが表示されるみたいです。
内容を確認する場合は「Review」を続ける場合は「Commit」を選択します。

f:id:ponta666:20160704002444p:plain

GitHubにシェアする

コミットが完了したら、GitHubにシェアする事で、ようやくGitHubとの連携は完了です。
シェアの方法は以下の通りです。
[VCS] ⇒ [Import into Version Control] ⇒ [Share Project on GitHub]

以下のダイアログが表示されたら「Share」ボタンを押すことでシェア完了です。
ダイアログが表示される前にパスワードの入力を求められた場合は、入力してください。

f:id:ponta666:20160704003200p:plain
特に変更しなくても問題ないですが、リポジトリ名を変えたい場合は変えてもいいと思います。

完了したらGitHubの方でもリポジトリが追加されているのが確認できるかと思います。

Ubuntu 16.04にAndroid Studioをインストール

この度、UbuntuAndroid Studioを入れてみました。

Javaのインストール

Android Strudioを入れる前にJavaを入れておく必要があるので、
先にJavaをインストールしておきます。
インストール手順については割愛。

■依存関係となるパケージのインストール

予め以下の手順でパッケージをインストールしておく必要があります。
インストールされていないと、Android Studioのインストール中にエラーで中断してしまいます。

$ sudo apt-get install lib32stdc++6

Linux向けAndroid Studioのダウンロード

Android Studioのダウンロードサイトにアクセスして、パッケージをダウンロードします。

Android Studioのインストール

ダウンロードファイルを任意の場所で展開し、studio.hを実行します。
今回はhome下に「tools」というディレクトリを作ってそこに展開しました。

$ cd ~/tools
$ unzip android-studio-ide-143.2915827-linux.zip
$ ./android-studio/bin/studio.sh

実行すると以下の画面が表示されます。
f:id:ponta666:20160612230302p:plain
どうやら旧バージョンの設定を引き継ぐかどうかを聞いているようなのですが、
新規でインストールしているので、そのままOKで進みます。
その後も特にこだわりがなければ「Next」で進んで問題無いです。

最後まで進めば晴れてインストール完了です。

Ubuntu 16.04でFirefoxにFlashプラグインをインストール

Ubuntuで作業中に何かBGMでもと思って某動画サイトで作業用BGMの動画を再生しようとしたら再生できなかった…。

Flash Playerがインストールされていないか古い」とのこと。

そんなバカな!?と思って調べてみたらプラグインの一覧に出てこなかったのでインストールされていない様子。
マジか…。

というわけで、Flash Playerを
以下、インストール時の手順メモ。

プラグインのダウンロード

Adobe社のFlash Playerダウンロードページから取得します。
ページ左下にあるプルダウンから取得するファイルの種類を選択してダウンロードします。

私の環境では「.tar.gz for other Linux」を選択してダウンロードしました。

■インストール

ダウンロード先に移動してファイルを展開し、「libflashplayer.so」をコピーして終了です。

$ cd /home/user/Download
$ tar -zxvf install_flash_player_11_linux.x86_64.tar.gz
$ sudo cp libflashplayer.so /usr/lib/mozilla/plugins/

「about:plugins」でもちゃんとFlash Playerが表示されている。
これでめでたく動画が再生できました。

後で調べて分かった事なんですが、Linux向けのNPAPI版Flash Playerは11.2で開発終了なんだとか。
つまり、今回インストールしたはいいもののバージョンアップする事がないという…。

まぁ、今のところ不都合は出ていないし、問題出たらその時考えるとします。

UbuntuにOracle Java8をインストール

久々の投稿なのに内容がしょぼいとか気にしない!

■インストール

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer

リポジトリを追加して、更新して、インストールするだけ。
インストール途中の質問は適当に。

■確認

$ java -version
java version "1.9.0_91"
java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

うん、これでOK。

今更知ったnull判定の方法

例えば下のようなコード、よくあると思います。

if(hoge == null)
{
    hoge = new Hoge();
}

hogeがnullだったら、Hogeクラスのインスタンスを生成して代入するとか。

これって以下のように書けるらしい。

hoge = hoge ?? new Hoge();

この"??"はnull合体演算子というんだとか。
こっちの方が1行で書けてスマートだからいいね。
これから使ってみようかな。

HorizontalAlignment/VerticalAlignmentでハマったこと。

HorizontalAlignment/VerticalAlignmentプロパティでハマってた事がようやく解決したのでメモ。

ハマってたxamlはざっくりと以下のような感じ。

<StackPanel Orientation="Horizontal">
    <Button Content="Hoge1" HorizontalAlignment="Right"/>
<Button Content="Hoge2"/>
</StackPanel>

ようするに、横並びのボタン2つを右端に配置したかったのだが、
何故か左端に配置されてしまう。

何故なんだー!?と調べまくってようやく見つけた。

http://www.atmarkit.co.jp/ait/articles/0904/03/news104_2.html

StackPanelの場合、デフォルトでは垂直方向に対して要素が整列されることになるため、HorizontalAlignmentプロパティのみ有効となり、VerticalAlignmentプロパティは無視される。

まじかッ!?

MSDN見てもそんな事書いてなかった気がするんだけど…。
俺が見落としているだけ?

ともあれ、原因が分かってスッキリ。