Android Development Course in HSE lecture #1
description
Transcript of Android Development Course in HSE lecture #1
![Page 1: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/1.jpg)
Разработка приложений для Android
![Page 2: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/2.jpg)
Зорин Илья
Еmpatika,Android Developer,Высшая Школа Экономики,Программная инженерия
![Page 3: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/3.jpg)
Что такое Android?
● Операционная система, основанная на ядре Linux
● Middleware● Ключевые приложения● Набор API
![Page 4: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/4.jpg)
![Page 5: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/5.jpg)
Зачем разрабатывать под Android?
![Page 6: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/6.jpg)
![Page 7: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/7.jpg)
![Page 8: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/8.jpg)
Инструменты разработки
![Page 9: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/9.jpg)
Языки программирования
● Java
● XML
● SQL
![Page 10: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/10.jpg)
IDE Eclipse
● JDK● ADT Plugin● Android SDK● GIT (Optional)
Установка и настройка среды разработки Eclipse и SDK Tools
![Page 11: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/11.jpg)
![Page 12: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/12.jpg)
![Page 13: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/13.jpg)
![Page 14: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/14.jpg)
![Page 15: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/15.jpg)
Особенности разработки Android приложений
![Page 16: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/16.jpg)
![Page 17: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/17.jpg)
![Page 18: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/18.jpg)
Архитектура Android приложений
![Page 19: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/19.jpg)
Android приложение состоит из:
● Java-классов, являющихся подклассами основных классов из Android SDK (View, Activity,ContentProvider, Service, BroadcastReciever, Intent) и Java-классов, у которых нет родителей в Android SDK.
● Манифеста приложения● Ресурсов наподобие строк,
изображений и т.п.● Файлов
![Page 20: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/20.jpg)
![Page 21: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/21.jpg)
Activity
![Page 22: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/22.jpg)
Activity Lifecycle
![Page 23: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/23.jpg)
public class MyActivity extends Activity {
@Overridepublic void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.my_layout);
}}
![Page 24: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/24.jpg)
View
![Page 25: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/25.jpg)
<TextView android:id="@+id/one_feed_comment_username" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dip" android:layout_toRightOf="@+id/one_feed_comment_userpic" android:textColor="#8B2492" android:textSize="16sp" android:textStyle="bold" />
TextView username = (TextView) findViewById(R.id.one_feed_comment_username);
![Page 26: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/26.jpg)
<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/action_bar_logoonly" android:orientation="vertical" ></LinearLayout>
![Page 27: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/27.jpg)
Intent
![Page 28: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/28.jpg)
Intent checkinIntent = new Intent(DashboardActivity.this, FirstCheckinActivity.class);
startActivity(checkinIntent);
![Page 29: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/29.jpg)
Service
![Page 30: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/30.jpg)
public class UpdateFacebookFriendsService extends IntentService {
public UpdateFacebookFriendsService() {super("UpdateFacebookFriendsService");
}
@Overrideprotected void onHandleIntent(Intent intent) {
FacebookHelper.updateFacebookFriends(getSharedPreferences("facebook", MODE_PRIVATE), this, intent.getIntExtra("screen", 2));
}}
![Page 31: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/31.jpg)
Content Provider
![Page 32: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/32.jpg)
Broadcast Receiver
![Page 33: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/33.jpg)
AndroidManifest.xml
![Page 34: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/34.jpg)
![Page 35: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/35.jpg)
Создание проекта
![Page 36: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/36.jpg)
![Page 37: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/37.jpg)
![Page 38: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/38.jpg)
![Page 39: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/39.jpg)
![Page 40: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/40.jpg)
![Page 41: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/41.jpg)
![Page 42: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/42.jpg)
![Page 43: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/43.jpg)
Hello world!
![Page 44: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/44.jpg)
Hints
● button.setOnClickListener(...)
● Build.VERSION.RELEASE
● Toast toast = Toast.makeText(Context, text, length) ;
toast.show();
![Page 45: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/45.jpg)
button.setOnClickListener(new OnClickListener() {
@Overridepublic void onClick(View v) {
// your code}
});
![Page 46: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/46.jpg)
![Page 47: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/47.jpg)
![Page 48: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/48.jpg)
GIT
Код предыдущего проекта здесь
![Page 49: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/49.jpg)
Code School Git course
![Page 50: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/50.jpg)
Источники:
● developer.android.com● stackoverflow.com● startandroid.ru
![Page 51: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/51.jpg)
![Page 52: Android Development Course in HSE lecture #1](https://reader034.fdocuments.in/reader034/viewer/2022051413/5552c488b4c90581158b49ee/html5/thumbnails/52.jpg)
Homework
● Поставить JDK, Eclipse, ADT, Android SDK● Доделать и запустить проект (если
нужно)● Android Getting Started● Архитектура Android приложений
(части 1, 2, 3, 4)● Можете начать генерить идеи для выших
приложений и делиться на команды