Androidアプリ:KotlinでDog To Headの開発

こんにちはー。\(^o^)/

今回は最近学んでいるプログラミング言語Kotlinで簡単なアンドロイドアプリを作成しました。

アプリの機能

ドグ付きチェーンによって品物が搬送されロータリー機械へ入っていく状況を考えます。ロータリー機械の特定のポケット番号と特定のドグ付きチェーン番号を一致させたいとき、ロータリー機械をあと何周すれば一致するかを算出します。

 

入力値について

まず、機械構成としてロータリー機械の全ポケット数、チェーンの全ドグ数を入力します。

次にロータリー機械の特定のポケット番号に入るチェーンドグ位置にある「現在のドグ番号」を入力し、最後にそのチェーンドグ位置に何番のドグが来てほしいいか「目標とするドグ番号」を入力します。

以上、合計4つの入力値があります。

結果の出力

ボタンを押すことで、ロータリー機械をあと何周すれば一致するかを算出し、一番下のtextViewに書き出します。

画面構成:activity_main.xml

 

内部演算:MainActivity.kt

 

strings.xml

画面構成を作成したときに、追加したボタンなどにエラーマークがでるので、ソレを消すためにこのファイルを少しいじると修正できるのですが、やらなくても動きますので今回は何もいじっていません。

 

 

 

Kotlinでおみくじアプリ作ってみた。

Kotlinでおみくじアプリ作ってみました。

actibity_main.xml

おみくじの結果を表示するテキストビューとおみくじプログラムを起動させるためのボタンを配置しました。

ボタンのonClickプロパティにはgetOmikujiを入力しておきます。

このgetOmikujiが関数名として使用されます。

テキストビューのIDはresultTextViewとしておきましたが、これがオブジェクト名として機能しますので、スクリプト内ではresultTextView.textなど、プロパティと組み合わせて指定していきます。

strings.xml

エラーが出るので、result_textとbutton_textを定義して解決します。

MainActivity.kt

メインのスクリプトです。randomをうまく使います。

デバック用にLog.nも使ってみました。

 

Kotlinの基礎

Kotlinの基礎をざーっとやってみました。

新しいプログラミング知識として、getter、 setter、アクセス修飾子、ジェネリクス、インターフェース、 null安全 の概念が得られました。

学習メモを下に貼っておきます。

次回はアンドロイドアプリ開発をやっていきましょう。

 

仮想環境でkotlinを学習する方法

こんちには アンドロイド開発してますか~~~~\(^o^)/。

前回はAndroid Studioでアプリを作ってみたのですが、javaの書き方では動くものの、kotlinの書き方ではGUIがうまく動きませんでした・・・。

先にKotlin力を強化するべきなのでkotlin boot camp(英語)を始めたのですが、説明が早すぎるのと、冗長であること、唐突にコードが出てきて、何をやっているのかを推測することに思考を持っていかれるので自分には合いませんでした。使用したIDEはInterij です。

ということで、日本語で学べる

定番ドットインストール

を試しているところです。

しかし、一筋縄ではいきません!エラー頻発しますのでおすすめできる方法ではありません。

この記事の範囲だけで2日かかってます。暇な人はやっていきましょう。

もう一度いいますが、おすすめしません。

仮想環境構築ツールvartualBoxをインストール

URL : https://www.virtualbox.org/wiki/Downloads

VirtualBox 6.1.4 platform packages を Windows hosts からダウンロードして実行するとインストールできました。

vartualBoxを操作するためにVagrantをインストール

URL : https://www.vagrantup.com/downloads.html

Windowsの64-bitをダウンロードして実行するとインストールできました。

Power Shellから、Vagrantを使用する準備を行う

Power Shellを起動して、コマンドを打っていきます。

ホームディレクトリ上に新規ディレクトリを作成します。

$ mkdir MyVagrant

作成したディレクトリに移動します

$ cd MyVagrant

仮想環境のディレクトリを作成します。

$mkdir MyCentOS

作成したディレクトリに移動します。

このディレクトリの中にCentOS仮想環境設定ファイルを作成します。

$ vagrant init bento/centos-6.8

CentOS仮想環境設定ファイルVagrantfileを修正します。

ホームディレクトリ(ユーザ名とか) > MyVagrant > MyCentOS の中にVagrantfileファイルが出来上がっているのでメモ帳で開いて、下記の部分の頭についている# を削除および左詰めします。これでこの仮想環境へは192.168.33.10としてアクセスできるようになります。

修正前:

# config.vm.network “private_network”, ip: “192.168.33.10”

修正後:

config.vm.network “private_network”, ip: “192.168.33.10”

ファイルをセーブして閉じます。

仮想マシンを起動します

再び Power Shellに戻って、仮想マシンを起動します。

$ vagrant up

このとき、エラーがでました。

2回続けて$ vagrant up しましたが、同様のエラーを出力しました。

$ vagrant halt して停止してから $ vagrant up するも改善されません。

解決手順:

  1. Vagrantをアンインストール
  2. VartualBoxをアンインストール
  3. VartualBoxをインストール
  4. Vagrantをインストール

これだけです。

あとから、調べてみたら「VT-x という設定項目を有効にする」だとか「Hyper-Vを無効にする」だとかありましたが、いじっていません。

vagrantを再インストールする必要も無かった可能性があります。

最後に $ vagrant status で runningしているか確認して、仮想マシンの起動は完了です。

仮想マシンMyCentOSにアクセスするためにPuttyをインストールする。

URL: https://www.chiark.greenend.org.uk/~sgtatham/putty/

The latest version is 0.73. Download it here.

とありますので、ダウンロードして実行するとインストールできました。

起動して、Host name or IP adress のところに 192.168.33.10を入力します。

以後、入力しなくていいようにMyCentOSと入れて SaveしてOpenします。ログインとパスワードを聞かれますので、両方vagrantと入力すればOKです。

Kotlinをインストールする。

さあ、やっとKotlinをインストールするところまで来ました。

現在PuttyからVagrantにログインしている状態で、ホームディレクトリには、vagrantしかないはずです。

この下に新規ディレクトリkotlin_lessons を作成して、今後のKotlin練習スクリプト置き場にしましょう。

現在地: /home/vagrant/kotlin_lessons

URL: https://kotlinlang.org/docs/tutorials/command-line.html

Getting Start の Working with the Command Line Compiler の Tutorials の

SDKMAN!の項目に従ってインストールをします。

$ curl -s https://get.sdkman.io | bash

しかし、unzipしてから実行するようエラーがでましたので、

$ sudo yum -y install zip unzip

してから今一度

$ curl -s https://get.sdkman.io | bash

しかしここでPuttyがダウンしてしまいます。

Java をインストールしてみるも・・・

Puttyで再接続して

$  sudo yum -y install java-1.8.0-openjdk-devel

してみるもPuttyがダウンしてしまいます。

困った・・・。

Puttyを再インストール

基本に立ち返って、Puttyを再インストールしたらうまくいきました。

$  sudo yum -y install java-1.8.0-openjdk-devel

JavaはOKです。

次にKotlinです。

$ curl -s https://get.sdkman.io | bash

ALL done!したら その下に指示があるとおり

$  source “/home/vagrant/.sdkman.bin.sdkman-init.sh”

をします。そして

$ sdk install kotlin

うまくいきました。困ったときは再インストールですね。

GUI的にアクセスするためにCyberDuckをインストール

URL: https://cyberduck.io/

からインストールします。

CyberDuckを起動して192.168.33.10 ポート22へ接続します。

ID とPWはvagrantです。

Kotlinスクリプトを作成します

では、予め作成しておいたディレクトリkotlin_lessonsの中に新規ファイルmyapp.ktを作成します。

これをatomとかInteriJで開いてサンプルコードとして

 

を書いて保存します。

Kotlinスクリプトを実行しましょう

再び、仮想マシンに戻ります。

コンパイルします

myapp.kt -include-runtime -d myapp.jar

コンパイルしたjarファイルを実行します。

java -jar myapp.jar

実行できたらOKです。

以上! 仮想環境でKotlinを実行するでした!

初心者はこんなことするくらいなら、仮想環境なんて作らずに直接windows上で InteriJを使えばよいと思います!

アンドロイドアプリをKotlinで作り始めました。

Keita_Nakamoriです。

スマホアプリを作ってみよう

今日はスマホアプリでも作って、日常の小さな悩みを解決するべく、アンドロイドアプリの作り方を学びはじめました。(悩みwww)

10以上も前、つまりスマホの第二世代くらいのときに、 Javaでやろうとしましたが、環境構築だけで体力を消耗し実現に至りませんでした。

しかし、HTML CSS PHP Python3  JavaScript をここ2年位で使えるようになった今なら、できるんじゃないかと思いまして、始めた次第であります。

最近の言語動向を調べたところJavaではなくKotlinなる言語が盛り上がっている?ようですので

https://classroom.udacity.com/courses/

のブートキャンプでざっとやっていこうという作戦であります。

今日やったこと