2018年8月25日土曜日

Androidアプリ開発を1ヶ月やってみたんだけどさ。

業務でAndroidアプリを作ってから1ヶ月が経ちました。
来年、新卒社員が入ってくることを見越して「こういうのあったなー。ちょっと面白かったなー。いまだに疑問だなー。」的なのをメモっときます。

Androidアプリ開発にあたり、僕のスキルは次のような感じ。
  • Java ... 大学で半年やって、忘れた。新卒研修で1週間復習+独習した。ジェネリクスとかリフレクションとかわからないところもある。
  • Androidアプリ ... 大学で2週間やって、忘れた。kotlin?なにそれ?
(以下、Androidアプリ開発のことを、特に注意しなければアプリ開発と呼びます。)

匿名クラス
こういうの。

package com.example.sample.hoge;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// ボタンを押されたら何をするか書く
}
});
}
}

setOnClickListenerのnewね。「え、クラスの中にクラスが書けるの!!!???」まず最初に思ったのがこれ。

普通にJavaやってたら使わないと思いますけど。コーディング規約にもダメって書いてあるし。
アプリ開発のリスナーは大体この形をとってますよね。なんでだろう。
考えてみた限りだと、たぶん、外部からアクセスが可能かどうか、かな。よくわからない。

クラスフィールド名
こういうの。

public class exampleTextureView extends TextureView {
private int mWidth = 0;
private int mHeight = 0;
// 下は略
}

なんでmってつけるんだろう。違和感があるというか。Pythonしてるときもnumpy as npとかあったからな...。

とまあ、2つ驚きがあったんでメモでした。
なんか、もっと他に書くことありそうだけど。


最近考えているので、何かカメラアプリがつくりたいな。
ボタンアプリからかな〜?

0 件のコメント:

コメントを投稿