- Canvas 2D Context:2Dグラフィックの描画
- Geolocation API:位置情報の取得
- File API関連:ファイルやディレクトリの操作
- Web Storage:データの保存
- Indexed Databese API:key-value型のデータベース
- WebSocket:双方向通信
- Web Workers:バックグラウンド処理
サーバーサイドで動くnode.js
JavaScriptの役割
サーバーサイドで動くnode.js
JavaScriptの役割
自分なりの改良含め一旦終わり。
package com.example.g.mybingo; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import java.util.ArrayList; import java.util.Random; public class MainActivity extends AppCompatActivity { //最大値 private int maxNumer =10; private ArrayList<String> history = new ArrayList<>(); private EditText maxNumberEditText; private Button registerMaxNumberButton; private Button nextNumberButton; private TextView currentNumberTextView; private TextView historyTextView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); maxNumberEditText = findViewById(R.id.max_number); registerMaxNumberButton = findViewById(R.id.register_max_number); nextNumberButton = findViewById(R.id.next_number); currentNumberTextView = findViewById(R.id.current_number); historyTextView =findViewById(R.id.history); //最大値を初期設定 maxNumberEditText.setText(""+ maxNumer); //カーソルを最後尾へ maxNumberEditText.setSelection(maxNumberEditText.getText().length()); //最大値を更新する registerMaxNumberButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String maxNumberString = maxNumberEditText.getText().toString(); maxNumer = Integer.valueOf(maxNumberString); Log.d("MainActivity", "maxNumer: " + maxNumer); //最大値を更新したら履歴をクリアする history.clear(); historyTextView.setText(""); } }); nextNumberButton.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { onClickNextNumber(); } }); } //nextNumberButtonがタップされたときの処理 private void onClickNextNumber(){ Log.d("MainActivity","onClickNextNumber: " + history.size()); //全部の目が出たか確認 if (history.size() == maxNumer){ Log.d("MainActivity","全部の目が出ました!!"); history.add("全部の目が出ました!!"); historyTextView.setText(history.toString()); return; } else if (history.size() > maxNumer) { Log.d("MainActivity","もう終わってます。"); return; } int nextNumber = createRandomNumber(); //重複している数値の場合は、やり直す while (history.contains(""+nextNumber)){ Log.d("MainActivity","重複: " + nextNumber); nextNumber = createRandomNumber(); } String nextNumberString = "" + nextNumber; currentNumberTextView.setText(nextNumberString); //履歴 history.add(nextNumberString); Log.d("MainActivity",history.toString()); historyTextView.setText(history.toString()); } //maxNumberを考慮したランダムな数値を生成する private int createRandomNumber(){ // double randomNumber = Math.random() * (maxNumer - 1); // return (int)randomNumber + 1; Random rand = new Random(); return rand.nextInt(maxNumer) + 1; } }
支払(peyment)は、指示を出すこと
決済(settlement)は、実際のお金の移動
だそうな。
ひさひざのJava
型:小文字で始まるのがデータ型、大文字で始まるのが参照型
キャスト:拡大変換=明示的な型指定が不要
下は上に入る(そのまま入れてキャストできる)
(まぁこの辺は当たり前田のク)
クラスから呼び出せるメソッドをクラスメソッド←staticなメソッド、newせずに呼べるヤツ
変数から呼び出すメソッドをインスタンスメソッド←インスタンスを生成しないと呼べないヤツ
(当然この辺も当たり前田のクラ)
インスタンス変数って、初期化しなくても使えるんだー、へぇ。
P141のStringのくだり、記載ミスじゃないかなぁ。後者では。
自信なから一旦スティで。