androidからwindowsにubsで画像を送る

Use UBS for

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        getOmikujiButton.setOnClickListener {
            Log.v("MainActivity", "Button Clilcked")

            // Code here executes on main thread after user presses button
        }
    }

getOmikujiButton.setOnClickListener {
            val results = arrayOf("大吉","吉","中吉","小吉","凶")
            val n = Random().nextInt(results.count())

            resultTextView.text = results.get(n)
            // Code here executes on main thread after user presses button
        }

若干抵抗が少なくなってきました。

分岐処理

getOmikujiButton.setOnClickListener {
            val results = arrayOf("大吉","吉","中吉","小吉","凶")
            val n = Random().nextInt(results.count())

            if(n == 0){
                resultTextView.setTextColor(Color.RED)
            } else{
                resultTextView.setTextColor(Color.parseColor("#808080"))
            }

            resultTextView.text = results.get(n)
            // Code here executes on main thread after user presses button
        }

OK、では応用してみましょう。

textView, buttonTextのデフォルトvalueを変更する

app -> res -> values -> strings.xml
strings.xmlにvalueがsetされているので、この値を変更する

<resources>
    <string name="app_name">New</string>
    <string name="message_text">...</string>
    <string name="button_text">ボタン</string>
    <string name="textview">時間を表示します</string>
</resources>

textViewがかわりました。

kotolinを頑張らないと全然駄目ですが、少しandroidの構造がわかってきましたね♪
最低限の項目として以下は必要
1.AndroidのDB連携
2.APIを使ったサービスづくり
3.アプリの経験豊富なデザイナーと一緒にサービスを作る
4.ストア申請までもっていく

Android studioのEmulatorが遅すぎるので、実機でテストする

今回使うのは、HT17 android version 6.0(数年前に開発用としてほぼ新品で6000円くらいで買いました)

HT17
(1)Setting -> Dveloper optionsのDebuggingでUSB debuggingをonにする。
(2)Setting -> Personal -> Security -> Device administration -> Unknown sourcesをonにする
(3)windos | mac にUBSでつなぐ。

Android studio
(4)studio のDeploymentでConnected Devicesで、{$device}(HOMTOM HT17)を選択する。
(5)Runで実機に反映される!!!

きた~ ひゃっぽい!!!!!!!!!!gradle finishが1mくらいに改善。 エミュレーター遅すぎて、android開発撤退しようかと思ってたけど、良かった良かった!!!

デバックが解決したので、では少しずつ作っていきましょう♪

kotolinのtextを変えます。

fun changeTextView(view: View){
        messageTextView.text = "Hello android!"
    }

文字の変更が反映されてますね。

では、textViewを追加してみます。

fun changeTextView(view: View){
        messageTextView.text = "Hello android!"
        textView.text = "Hello android!"
    }

apply changeを押すと、buildが9sくらいに短縮されました。感動

build.gradle(module:app)

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "jp.hoge.anew"
        minSdkVersion 15
        targetSdkVersion 26
        resConfigs "ja", "xxhdpi"
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            ext.enableCrashlytics = false
        }
    }
    aaptOptions {
        cruncherEnabled false
    }
}

少し早くなった印象。

layout fileを表示する

studioアップロードしてここまでに1日かかった。。

iOS・Androidの開発の完成・納品の流れまでがいまいちイメージわかないので、Cacooでワイヤーを書いて、up workで依頼して流れをつかむことにした。

ああああ、なるほど!
API, frameworks, dependency injection libraries, databaseなどが項目としてあるのね!

Frame workはAGL、Angular、Appcelerator Titanium、Corona SDK、Framework7、Intel XDK
DBはCouchbase, LevelDB, Realm, SQLiteか。SQLite以外は使ったことない。やばいな、これ。

Android版もpostします。

うわ、android・iOS開発している人たちって、フルスタック+インフラも当然+なんでもできます系ばっかりだな。しかも、大量に。
しかも、皆さんストアーのアプリのリンクがポートフォリオなんだ。
それがスタンダードか、完全にマーケットのモノサシ誤ってた。。カスじゃん、俺。

しかし、5年以上のexperienceの人の作品中心にインストールしたけど、クオリティ高いし凄いっすわ。
完全に自分のレベルの低さ加減がわかりました。終わってる。
つくっていくしかないけど、これ追いつく・近づくのに1年くらいかかるかもしれんな~。。。GW終わりってのに、きっついな~

show line number

shift + shiftでsearch

show line number on or off で行番号の表示非表示を設定

app -> manifests -> androidManifest.xml

<activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

基本的には
layout activity_main.xml -> MainActivity 必要に応じてAndroidManifest.xml

install gradle into CentOS

[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# wget https://services.gradle.org/distributions/gradle-3.1-all.zip
[root@localhost src]# unzip gradle-3.1-all.zip 
[root@localhost src]# mv gradle-3.1 /usr/local/bin/

環境パスを追加

[root@localhost src]# vi ~/.bash_profile
export PATH=$PATH:/usr/local/bin/gradle-3.1/bin

反映

export PATH=$PATH:/usr/local/bin/gradle-3.1/bin

バージョン確認

[root@localhost src]# gradle -v

------------------------------------------------------------
Gradle 3.1
------------------------------------------------------------

Build time:   2016-09-19 10:53:53 UTC
Revision:     13f38ba699afd86d7cdc4ed8fd7dd3960c0b1f97

Groovy:       2.4.7
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_111 (Oracle Corporation 25.111-b15)
OS:           Linux 2.6.32-642.6.2.el6.x86_64 amd64

Try gradle

git clone and run shell script

[vagrant@localhost 1.01-Exercise-RunYourFirstTask]$ ./gradlew hello
Downloading https://services.gradle.org/distributions/gradle-3.3-bin.zip
..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Unzipping /home/vagrant/.gradle/wrapper/dists/gradle-3.3-bin/64bhckfm0iuu9gap9hg3r7ev2/gradle-3.3-bin.zip to /home/vagrant/.gradle/wrapper/dists/gradle-3.3-bin/64bhckfm0iuu9gap9hg3r7ev2
Set executable permissions for: /home/vagrant/.gradle/wrapper/dists/gradle-3.3-bin/64bhckfm0iuu9gap9hg3r7ev2/gradle-3.3/bin/gradle
Starting a Gradle Daemon (subsequent builds will be faster)
:hello
Hello World!

BUILD SUCCESSFUL

Total time: 1 mins 7.442 secs
task hello {
    doLast {
        println "Hello, Jeremy"
    }
}