More Related Content
PDF
PDF
PDF
PDF
みゆっき☆Think#3 「androidに触ってみるよ!」 ODP
PPT
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer PDF
Android Lecture #01 @PRO&BSC Inc. PPTX
Archive: Android アプリ開発入門(2015/6/19 社内勉強会) Similar to 初めてのAndroid開発
PDF
KEY
[ABC2012S]Android2x/3x/4x対応アプリ開発Tips PPTX
PDF
PPTX
ODP
ODP
PPS
PDF
ODP
PDF
PPTX
PDF
(デ部発表用抜粋版)プログラマとデザイナが共有すべきUIに関するAndroidの10の機能 PDF
PDF
PPTX
PDF
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa PDF
Androidアプリの魅力的なインターフェース〜本当にiOSアプリのデザインを流用するだけでいいの?〜 PDF
プログラマとデザイナが共有すべきUIに関するAndroidの10の機能 PPT
Android Hacks - 合宿 Activity 初めてのAndroid開発
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
0 ディレクトリ構成
プログラムファイル
自動生成ファイル
Google API
リソース(xml, 画像, etc.)
アプリケーションを定義するファイル
- 13.
- 14.
- 15.
1-2-1 端末による解像度・dpiの違い
Androidは端末によって解像度やdpiが違います
※dpi = dot per inchの略。ピクセル解像度。
800x480
960x540
854x480
480x320
etc.
端末ごとの違いをどう吸収するか。
もっとも影響を受けるのはレイアウトで
す。
- 16.
1-2-2 解像度・dpi別のリソースの管理
異なる解像度・dpiを吸収するためのもっともシンプ
ルな方法は、それら毎に画像等のリソースを管理す
ることです。
Androidには、複数のリソースを用意することで、そ
の端末のdpiや解像度に合った適切なリソースを自動
で読み込む仕組みがあります。
- 17.
1-2-3 具体的な方法
res/drawable-ldpi 100〜140dpi
res/drawable-mdpi 140〜180dpi
res/drawable-hdpi 190〜250dpi
res/drawable-nodpi DPIに依存しない画像
さらに応用すると・・・
res/drawable-320dpi 320dpi
res/drawble-hdpi- 190〜250dpi
800x480 解像度:800x480
res/drawble-hdpi- 190〜250dpi
854x480 解像度:854x480
res/drawble-hdpi- 190〜250dpi
960x540 解像度:960x540
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
2-1 Android4種の神器
Activity
ユーザー・インタフェース(UI)を持つAndroidのア
プリケーション・プログラム
Service
UIを持たず,連続的に情報を提供し続けるプログラ
ム
BroadcastReciever
外部のイベントに対して何らかの反応を返す
ContentProvider
データベースなど,特定の条件下においてデータを
提供する
- 24.
- 25.
- 26.
2-2-3 Activityを作成するには
Activityクラスを継承し、onCreate()メソッドを
Overrideします。
public class SampleActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState
{
super.onCreate(savedInstanceState);
// ViewをLayoutを定義しているxmlからセット
setContentView(R.layout.main);
}
}
- 27.
- 28.
- 29.
2-3-3 ServiceのBind
Serviceは通常、一度起動するとActivityからは停止す
ることしかできません。
Bindという機能を使うと、ActivityからServiceが提供
するメソッドを実行することができます。
- 30.
2-3-4 Serviceを作成するには
Serviceクラスを継承し、onCreate(), onBind()を
Overrideします。
public class SampleService extends Service
{
public void onCreate()
{
super.onCreate();
}
@Override
public IBinder onBind(Intent arg0)
{
// bind機能は使用しないのでnullを返す
return null;
}
}
- 31.
- 32.
2-4-2 BroadcastRecieverを作成するには
BroadcastRecieverクラスを継承し、onRecieve()を
Overrideします。
public class PgcwSampleReciever extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
}
}
- 33.
- 34.
- 35.
3-1 Intentとは
プロセスやスレッドを跨いだ処理を簡単に実現する
ものです。
Activityを起動
Serviceを起動
etc.
- 36.
3-2 明示的Intentと暗黙的Intent
明示的Intent
直接起動したいClassを指定して呼び出す
Intent intent = new Intent(context, class);
暗黙的Intnent
明示的に起動させるClassを指定せずにIntentのパラメー
タに起動するClassをある程度推測できるだけの情報を入
れておくと、該当するClassが呼び出される
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse(“http://kayac.com”));
startActivity(intent);
- 37.
- 38.
4-1 メモリとの戦い
Android開発はメモリとの戦いと言っても過言ではあ
りません。
必ずと言っていいほど、メモリ問題にぶつかりま
す。
そのほとんどの原因が・・・
画像
- 39.
4-2 メモリリーク
Androidはメモリを明示的に開放することはできませ
ん
できないといういい方は正しくないかもしれません。
メソッドは用意されているのですが、あてになりません。
どうするか
来たるべきGCの時に備えて、
とにかく無駄に参照し続けるオブジェクトを持たないことです。
- 40.
4-3 開発に入る前のポイント
DEと相談しましょう
画像を多用しなくてもリッチに見える工夫
画像のダイエット処理
画像をダイエットさせるだけで、とっても効果あります
参考になるURL
http://www.textdrop.net/soft/android-avoiding-memory-
leaks/
http://andbrowser.com/development/knowhow/65/eclipse-
android-memory-leak-mat/
http://tomokey.blogspot.com/2011/05/android.html
- 41.
- 42.
- 43.
とってもよくできています。
とっつきにくさは感じませんでした。
JAVAを対して知らない僕でもそれなりに開発はでき
ました!
- 44.
- 45.