Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Androidアプリのしくみ
Search
@nekoruri
November 02, 2013
Technology
0
8.4k
Androidアプリのしくみ
Androidアプリのしくみ
(オブジェクト指向の基礎の基礎)
日本Androidの会 秋葉原支部
コスプレ理系女子普及部
第18回定例会 LT資料
@nekoruri
November 02, 2013
Tweet
Share
More Decks by @nekoruri
See All by @nekoruri
技術系同人誌を書こう #ssmjp
nekoruri
0
130
Twitter OAuth vulnerability
nekoruri
0
110
Other Decks in Technology
See All in Technology
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.1k
半年で、AIゼロ知識から AI中心開発組織の変革担当に至るまで
rfdnxbro
0
150
LayerX QA Night#1
koyaman2
0
270
Identity Management for Agentic AI 解説
fujie
0
490
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
120
AWS運用を効率化する!AWS Organizationsを軸にした一元管理の実践/nikkei-tech-talk-202512
nikkei_engineer_recruiting
0
180
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
5
2.2k
MariaDB Connector/C のcaching_sha2_passwordプラグインの仕様について
boro1234
0
1.1k
ペアーズにおけるAIエージェント 基盤とText to SQLツールの紹介
hisamouna
2
1.7k
Bedrock AgentCore Evaluationsで学ぶLLM as a judge入門
shichijoyuhi
2
270
NIKKEI Tech Talk #41: セキュア・バイ・デザインからクラウド管理を考える
sekido
PRO
0
230
AI with TiDD
shiraji
1
300
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
97
The untapped power of vector embeddings
frankvandijk
1
1.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
A Soul's Torment
seathinner
1
2k
Context Engineering - Making Every Token Count
addyosmani
9
560
Practical Orchestrator
shlominoach
190
11k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
200
Navigating Weather and Climate Data
rabernat
0
54
Prompt Engineering for Job Search
mfonobong
0
130
Transcript
日本Androidの会 秋葉原支部 コスプレ理系女子普及部 第18回定例会
今まで書いてきたプログラムを、 「外側」 から説明してみます。
なんとなくでいいので イメージ を掴めると理解がすすむ 今まで書いてきたプログラムを、 「外側」 から説明してみます。
なんとなくでいいので イメージ を掴めると理解がすすむ はず! 今まで書いてきたプログラムを、 「外側」 から説明してみます。
public class MainActivity extends Activity { @Override protected void onCreate(Bundle
savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } } アプリを起動したら、 onCreateを呼ぶよ!
実はonCreate以外にも呼んでるよ! 削除したonCreateOptionsMenuとかね! たくさんの「基本的な動き方」が、ひな形( Activity )に書かれています。 いつも最初に削除するonCreateOptionsMenuもです。 それを呼んでいるのが「 super.onCreate 」です。 public
class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
Activity Androidアプリの基本的な動き方が 書かれています MainActivity 自分のアプリ独自の部分を書きます MainActivityに書かれていないことは、 Activityに書いてあることをやるよ!
public class MainActivity extends Activity { (onCreateは省略) public void onClick1(View
v){ setContentView(R.layout.self_introduction); } } ボタンがクリックされたら onClick1を呼ぶよ! そしたら、setContentViewするよ!
setContentViewしろって言われたけど、 MainActivityには書いていないから、 Activityに書いてある内容を実行するね! 実は、setContentView の内容は Activity に書かれています。 そういう、呼ぶと何かしてくれる「メソッド」がたくさん定義されています。 public class
MainActivity extends Activity { (onCreateは省略) public void onClick1(View v){ setContentView(R.layout.self_introduction); } }
公式ドキュメントを見てみよう http://developer.android.com/reference/android/app/Activity.html 「Public Methods」がメソッドの一覧
public class MainActivity extends Activity { TextView tv; public void
onClick1(View v) { setContentView(R.layout.self_introduction); tv = (TextView) findViewById(R.id.textView1); tv.setText(“実はスポーツマン”); } ボタンがクリックされたら textView1の文字を 「実はスポーツマン」に変えるよ!
public class MainActivity extends Activity { TextView tv; public void
onClick1(View v) { setContentView(R.layout.self_introduction); tv = (TextView) findViewById(R.id.textView1); tv.setText(“実はスポーツマン”); } textView1を変数 tv に入れて、 tvのsetTextメソッドを呼ぶよ!
レイアウトファイルを読んで、 ボタンと文字の 「インスタンス」を作るよ! レイアウトファイル 「文字列の表示方法」 「ボタンの表示方法」 「ボタンが押されたら onClick1を呼ぶ」 こんにちは! onClick1
ボタンが押されたら、 onClickを呼ぶよ! ボタン 文字列の「インスタンス」に setTextで文字を変えるよう 命令するよ!
public class MainActivity extends Activity { TextView tv; public void
onClick1(View v) { setContentView(R.layout.self_introduction); tv = (TextView) findViewById(R.id.textView1); tv.setText(“実はスポーツマン”); } こんにちは! ボタン findViewByIdを使って、 Androidが作ってくれたインスタンスをさす 矢印を変数にいれます この矢印を通してメソッドを呼んで、 「命令」をインスタンスに送ります レイアウトファイル に従って作られた 画像やボタンの 「インスタンス」
public class MainActivity extends Activity { TextView tv; public void
onClick1(View v) { setContentView(R.layout.self_introduction); tv = (TextView) findViewById(R.id.textView1); tv.setText(“実はスポーツマン”); tv = (TextView) findViewById(R.id.textView2); tv.setText(“わたしの戦闘力は53万です。”); } こんにちは! ボタン 自己紹介
public class MainActivity extends Activity { TextView tv; public void
onClick1(View v) { setContentView(R.layout.self_introduction); tv = (TextView) findViewById(R.id.textView1); tv.setText(“実はスポーツマン”); tv = (TextView) findViewById(R.id.textView2); tv.setText(“わたしの戦闘力は53万です。”); } こんにちは! ボタン 自己紹介 同じ変数に 「別のインスタンスをさす矢印」 をいれなおすこともできます
やっぱり公式ドキュメントを見てみよう! http://developer.android.com/reference/android/widget/TextView.html
Androidのプログラム(MainActivity)は、既にある 「ひな形」(Activity)の上に作っていきます。 レイアウトで置いたボタンや文字は、 プログラム開始時にAndroidが作ってくれます。 それぞれを「インスタンス」と言います。 findViewByIdでそのインスタンスへの「矢印」を変
数に入れます。 変数に入れた矢印を経由して「命令」を送ります。 これが「メソッド」です。