Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Разработка мобильных приложений

Содержание

На прошлой лекцииЛекция 4, слайд 1Новосибирский государственный университет, 2012Views (GroupView, TextView, Spinner, EditView and etc.)AbsoluteLayout, FrameLayout, LinearLayout, TableLayout, RelativeLayoutОптимизация разметкиDrawables & Menus
Разработка  мобильных  приложенийЧиркунов КириллЛекция 4cyril.chirkunov@computer.orgvk.com/chirkunovНовосибирский национальный исследовательский государственный университет (НГУ) На прошлой лекцииЛекция 4, слайд 1Новосибирский государственный университет, 2012Views (GroupView, TextView, Spinner, СегодняIntents & ReceiversBroadcast messagingData AdaptersPreferences & Settings & FilesЛекция 4, слайд 2Новосибирский государственный университет, 2012 Намерения (Intents)Лекция 4, слайд 3Новосибирский государственный университет, 2012Применяются для:объявления о запуске Activity Код результата закрытия ActivityЛекция 4, слайд 4Новосибирский государственный университет, 2012Вызов из родительской Код результата закрытия ActivityЛекция 4, слайд 5@Override public void onActivityResult(int requestCode, int Лекция 4, слайд 6Новосибирский государственный университет, 2012Стандартные действия (часть) Лекция 4, слайд 7Новосибирский государственный университет, 2012Стандартные категории (не все) Данные намеренияНовосибирский государственный университет, 2012Лекция 4, слайд 8 Утверждение намеренийЛекция 4, слайд 9Новосибирский государственный университет, 2012 Делегирование намеренийЛекция 4, слайд 10Новосибирский государственный университет, 2012Intent intent = getIntent();… //some codestartNextMatchingActivity(intent); Выбор контакта из списка (демо)Лекция 4, слайд 11Новосибирский государственный университет, 2012 Расширяемость менюЛекция 4, слайд 12Новосибирский государственный университет, 2012 LinkifyЛекция 4, слайд 13Новосибирский государственный университет, 2012TextView textView = (TextView) findViewById (R.id.myTextView);Linkify.addLinks Linkify MatchModifier & TransformFilterЛекция 4, слайд 14Новосибирский государственный университет, 2012class MyMatchFilter implements Регистрация широковещательного приемникаЛекция 4, слайд 16Новосибирский государственный университет, 2012Через manifest.xml: Оповещение о событияхЛекция 4, слайд 15Новосибирский государственный университет, 2012Intent intent = new Продвинутое оповещениеУпорядоченное оповещение:sendOrderedBroadcast(intent, null)sendOrderedBroadcast(intent, null, myBroadcastReceiver, null, Activity.RESULT_OK, null, null);«Липкие» трансляции (требуется Ожидающие намерения (Pending Intents)Лекция 4, слайд 18Новосибирский государственный университет, 2012// Start an Адаптеры Интерфейс AdapterНаследники:ArrayAdapterSimpleCursorAdapterBaseAdapter, CursorAdapter, HeaderViewListAdapter, ListAdapter, ResourceCursorAdapter, SimpleAdapter, SpinnerAdapter, WrapperListAdapterПользовательские адаптеры поддерживающие Адаптеры (пример)public class MyArrayAdapter extends ArrayAdapter { int resource; public ToDoItemAdapter(Context context, Использование адаптеровЛекция 4, слайд 21Новосибирский государственный университет, 2012ArrayList myStringArray = new ArrayList();ArrayAdapter Использование адаптеровЛекция 4, слайд 22Новосибирский государственный университет, 2012String uriString = Internet resourcesЛекция 4, слайд 23Новосибирский государственный университет, 2012String myFeed = getString(R.string.my_feed);try { Лекция 4, слайд 24Новосибирский государственный университет, 2012Диалоговые окнаКласс Dialog и его производныеСпециальные Управление диалогамиНовосибирский государственный университет, 2012Лекция 4, слайд 25static final private int TIME_DIALOG Просмотр данных о землетрясениях (демо)Новосибирский государственный университет, 2012Лекция 4, слайд 26 Работа с файламиНовосибирский государственный университет, 2012Лекция 4, слайд 27String FILE_NAME = НастройкиНовосибирский государственный университет, 2012Лекция 4, слайд 28Общие (SharedPreferences)Состояние приложения/активности (Bundle)Поддерживаемые типы:booleanstringfloatlonginteger Общие настройкиНовосибирский государственный университет, 2012Лекция 4, слайд 29 // Get the stored PreferenceScreenНовосибирский государственный университет, 2012Лекция 4, слайд 30          Работа с PreferenceActivityНовосибирский государственный университет, 2012Лекция 4, слайд 31public class MySettings extends Работа с общими настройкамиНовосибирский государственный университет, 2012Лекция 4, слайд 32Context context = Пример PreferenceActivityЛекция 4, слайд 33Новосибирский государственный университет, 2012 На следующей лекцииЛекция 4, слайд 34Новосибирский государственный университет, 2012SQLite и источники данныхГеокодирование & Карты Геолокационные сервисы Задание «Записная книжка»Лекция 4, слайд 35Новосибирский государственный университет, 2012Разработать приложение с графическим Лекция 4, слайд 36Новосибирский государственный университет, 2012
Слайды презентации

Слайд 2 На прошлой лекции
Лекция 4, слайд 1
Новосибирский государственный университет,

На прошлой лекцииЛекция 4, слайд 1Новосибирский государственный университет, 2012Views (GroupView, TextView,

2012
Views (GroupView, TextView, Spinner, EditView and etc.)
AbsoluteLayout, FrameLayout, LinearLayout,

TableLayout, RelativeLayout
Оптимизация разметки
Drawables & Menus

Слайд 3 Сегодня
Intents & Receivers
Broadcast messaging
Data Adapters
Preferences & Settings &

СегодняIntents & ReceiversBroadcast messagingData AdaptersPreferences & Settings & FilesЛекция 4, слайд 2Новосибирский государственный университет, 2012

Files

Лекция 4, слайд 2
Новосибирский государственный университет, 2012


Слайд 4 Намерения (Intents)
Лекция 4, слайд 3
Новосибирский государственный университет, 2012
Применяются

Намерения (Intents)Лекция 4, слайд 3Новосибирский государственный университет, 2012Применяются для:объявления о запуске

для:
объявления о запуске Activity или Service, чтобы выполнить какие-либо

действия на основе некоторых данных
передачи уведомлений о том, что произошло событие
явного запуска определенного Service или Activity


Слайд 5 Код результата закрытия Activity
Лекция 4, слайд 4
Новосибирский государственный

Код результата закрытия ActivityЛекция 4, слайд 4Новосибирский государственный университет, 2012Вызов из

университет, 2012
Вызов из родительской активности:
startActivityForResult(Intent i, int call_Identificator)

Выставление результата

в дочерней активности:
setResult(int result, Intent i)

Коды возврата:
Activity.RESULT_OK
Activity.RESULT_CANCELED (по умолчанию)
Другие, более специализированные:
RESULT_FIRST_USER
RESULT_COMMON_ERROR
и др.


Слайд 6 Код результата закрытия Activity
Лекция 4, слайд 5
@Override
public

Код результата закрытия ActivityЛекция 4, слайд 5@Override public void onActivityResult(int requestCode,

void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode,

resultCode, data);
switch(requestCode) {
case (SHOW_SUB_ACTIVITY_ONE) : {
if (resultCode == Activity.RESULT_OK) {
Uri horse = data.getData();
boolean inputCorrect = data.getBooleanExtra(IS_INPUT_CORRECT, false);
String selectedPistol = data.getStringExtra(SELECTED_PISTOL);
}
break;
}
case (SHOW_SUB_ACTIVITY_TWO) : {
if (resultCode == Activity.RESULT_OK) {
// TODO: Handle OK click.
}
break;
}
}
}

Слайд 7 Лекция 4, слайд 6
Новосибирский государственный университет, 2012
Стандартные действия

Лекция 4, слайд 6Новосибирский государственный университет, 2012Стандартные действия (часть)

(часть)


Слайд 8 Лекция 4, слайд 7
Новосибирский государственный университет, 2012
Стандартные категории

Лекция 4, слайд 7Новосибирский государственный университет, 2012Стандартные категории (не все)

(не все)


Слайд 9 Данные намерения
Новосибирский государственный университет, 2012
Лекция 4, слайд 8

Данные намеренияНовосибирский государственный университет, 2012Лекция 4, слайд 8

Слайд 10 Утверждение намерений
Лекция 4, слайд 9
Новосибирский государственный университет, 2012

Утверждение намеренийЛекция 4, слайд 9Новосибирский государственный университет, 2012

Слайд 11 Делегирование намерений
Лекция 4, слайд 10
Новосибирский государственный университет, 2012
Intent

Делегирование намеренийЛекция 4, слайд 10Новосибирский государственный университет, 2012Intent intent = getIntent();… //some codestartNextMatchingActivity(intent);

intent = getIntent();
… //some code
startNextMatchingActivity(intent);


Слайд 12 Выбор контакта из списка (демо)
Лекция 4, слайд 11
Новосибирский

Выбор контакта из списка (демо)Лекция 4, слайд 11Новосибирский государственный университет, 2012

государственный университет, 2012


Слайд 13 Расширяемость меню
Лекция 4, слайд 12
Новосибирский государственный университет, 2012

Расширяемость менюЛекция 4, слайд 12Новосибирский государственный университет, 2012

android:name=".NostromoController">







public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
Intent intent = new Intent();
intent.setData(MoonBaseProvider.CONTENT_URI);
intent.addCategory(Intent.CATEGORY_SELECTED_ALTERNATIVE);
int menuGroup = 0;
int menuItemId = 0;
int menuItemOrder = Menu.NONE;
ComponentName caller = getComponentName();
Intent[] specificIntents = null;
// The menu items created from the previous Intents
// will populate this array.
MenuItem[] outSpecificItems = null;
// Set any optional flags.
int flags = Menu.FLAG_APPEND_TO_GROUP;
// Populate the menu
menu.addIntentOptions(menuGroup, menuItemId,menuItemOrder,caller, specificIntents,
intent,
flags,
outSpecificItems);

return true;
}


Слайд 14 Linkify
Лекция 4, слайд 13
Новосибирский государственный университет, 2012
TextView textView

LinkifyЛекция 4, слайд 13Новосибирский государственный университет, 2012TextView textView = (TextView) findViewById

= (TextView) findViewById (R.id.myTextView);
Linkify.addLinks (textView, Linkify.WEB_URLS|Linkify.EMAIL_ADDRESSES);

android:autoLink="phone|email"
/>

Определение через код:

Определение через xml-файл:

Определение через регулярные выражения:

int flags = Pattern.CASE_INSENSITIVE;
Pattern p = Pattern.compile("\\bquake[0-9]*\\b", flags);
Linkify.addLinks(myTextView, p,
"content://com.paad.earthquake/earthquakes/");


Слайд 15 Linkify MatchModifier & TransformFilter
Лекция 4, слайд 14
Новосибирский государственный

Linkify MatchModifier & TransformFilterЛекция 4, слайд 14Новосибирский государственный университет, 2012class MyMatchFilter

университет, 2012
class MyMatchFilter implements MatchFilter {
public boolean acceptMatch(CharSequence

s, int start, int end) {
return (start == 0 || s.charAt(start-1) != '!');
}
}

class MyTransformFilter implements TransformFilter {
public String transformUrl(Matcher match, String url) {
return url.toLowerCase();
}
}

Linkify.addLinks(myTextView, pattern, prefixWith,
new MyMatchFilter(), new MyTransformFilter());


Слайд 16 Регистрация широковещательного приемника
Лекция 4, слайд 16
Новосибирский государственный университет,

Регистрация широковещательного приемникаЛекция 4, слайд 16Новосибирский государственный университет, 2012Через manifest.xml:

2012
Через manifest.xml:






Через код:
IntentFilter

filter = new IntentFilter(NEW_LIFEFORM_DETECTED);
LifeformDetectedBroadcastReceiver r = new LifeformDetectedBroadcastReceiver();
registerReceiver(r, filter);

unregisterReceiver(receiver);


Слайд 17 Оповещение о событиях
Лекция 4, слайд 15
Новосибирский государственный университет,

Оповещение о событияхЛекция 4, слайд 15Новосибирский государственный университет, 2012Intent intent =

2012
Intent intent = new Intent(NEW_LIFEFORM_DETECTED);
intent.putExtra("lifeformName", lifeformType);
intent.putExtra("longitude", currentLongitude);
intent.putExtra("latitude", currentLatitude);
sendBroadcast(intent);
public class

LifeformDetectedBroadcastReceiver extends BroadcastReceiver {

public static final String BURN = "com.paad.alien.action.BURN_IT_WITH_FIRE";

@Override
public void onReceive(Context context, Intent intent) {
// Get the lifeform details from the intent.
Uri data = intent.getData();
String type = intent.getStringExtra("type");
double lat = intent.getDoubleExtra("latitude", 0);
double lng = intent.getDoubleExtra("longitude", 0);
Location loc = new Location("gps");
loc.setLatitude(lat);
loc.setLongitude(lng);

if (type.equals("alien")) {
Intent startIntent = new Intent(BURN, data);
startIntent.putExtra("latitude", lat);
startIntent.putExtra("longitude", lng);

context.startActivity(startIntent);
} } }

Слайд 18 Продвинутое оповещение
Упорядоченное оповещение:
sendOrderedBroadcast(intent, null)
sendOrderedBroadcast(intent, null, myBroadcastReceiver, null, Activity.RESULT_OK,

Продвинутое оповещениеУпорядоченное оповещение:sendOrderedBroadcast(intent, null)sendOrderedBroadcast(intent, null, myBroadcastReceiver, null, Activity.RESULT_OK, null, null);«Липкие» трансляции

null, null);
«Липкие» трансляции
(требуется полномочие BROADCAST_STICKY)
sendStickyBroadcast
removeStickyBroadcast

Лекция 4, слайд 17
Новосибирский

государственный университет, 2012

Слайд 19 Ожидающие намерения (Pending Intents)
Лекция 4, слайд 18
Новосибирский государственный университет,

Ожидающие намерения (Pending Intents)Лекция 4, слайд 18Новосибирский государственный университет, 2012// Start

2012
// Start an Activity
Intent startActivityIntent = new Intent(this, MyOtherActivity.class);
PendingIntent.getActivity(this,

0, startActivityIntent, 0);

// Broadcast an Intent
Intent broadcastIntent = new Intent(NEW_LIFEFORM_DETECTED);
PendingIntent.getBroadcast(this, 0, broadcastIntent, 0);

Слайд 20 Адаптеры
Интерфейс Adapter
Наследники:
ArrayAdapter
SimpleCursorAdapter
BaseAdapter, CursorAdapter, HeaderViewListAdapter, ListAdapter, ResourceCursorAdapter, SimpleAdapter,

Адаптеры Интерфейс AdapterНаследники:ArrayAdapterSimpleCursorAdapterBaseAdapter, CursorAdapter, HeaderViewListAdapter, ListAdapter, ResourceCursorAdapter, SimpleAdapter, SpinnerAdapter, WrapperListAdapterПользовательские адаптеры

SpinnerAdapter, WrapperListAdapter
Пользовательские адаптеры поддерживающие привязку к представлениям, наследникам абстрактного

класса AdapterView

Лекция 4, слайд 19

Новосибирский государственный университет, 2012


Слайд 21 Адаптеры (пример)
public class MyArrayAdapter extends ArrayAdapter {
int

Адаптеры (пример)public class MyArrayAdapter extends ArrayAdapter { int resource; public ToDoItemAdapter(Context

resource;
public ToDoItemAdapter(Context context, int resource, List items) {

super(context, resource, items);
resource = _resource;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LinearLayout newView;
MyClass classInstance = getItem(position);
// TODO Retrieve values to display from the
// classInstance variable.
// Inflate a new view if this is not an update.
if (convertView == null) {
newView = new LinearLayout(getContext());
String inflater = Context.LAYOUT_INFLATER_SERVICE;
LayoutInflater vi = (LayoutInflater)getContext().getSystemService(inflater);
vi.inflate(resource, newView, true);
} else {
newView = (LinearLayout)convertView;
}
// TODO Retrieve the Views to populate
// TODO Populate the Views with object property values.
return todoView;
}
}

Лекция 4, слайд 20

Новосибирский государственный университет, 2012


Слайд 22 Использование адаптеров
Лекция 4, слайд 21
Новосибирский государственный университет, 2012
ArrayList

Использование адаптеровЛекция 4, слайд 21Новосибирский государственный университет, 2012ArrayList myStringArray = new

myStringArray = new ArrayList();
ArrayAdapter myAdapterInstance;

int layoutID = android.R.layout.simple_list_item_1;
myAdapterInstance =

new ArrayAdapter(this, layoutID , myStringArray);

myListView.setAdapter(myAdapterInstance);

String uriString = "content://contacts/people/";
Cursor myCursor = managedQuery(Uri.parse(uriString), null, null, null);

String[] fromColumns = new String[] {People.NUMBER, People.NAME};

int[] toLayoutIDs = new int[] { R.id.nameTextView, R.id.numberTextView};

SimpleCursorAdapter myAdapter;
myAdapter = new SimpleCursorAdapter(this,
R.layout.simplecursorlayout,
myCursor,
fromColumns,
toLayoutIDs);

myListView.setAdapter(myAdapter);

Слайд 23 Использование адаптеров
Лекция 4, слайд 22
Новосибирский государственный университет, 2012
String

Использование адаптеровЛекция 4, слайд 22Новосибирский государственный университет, 2012String uriString =

uriString = "content://contacts/people/";
Cursor myCursor = managedQuery(Uri.parse(uriString), null, null, null);

String[]

fromColumns = new String[] {People.NUMBER, People.NAME};

int[] toLayoutIDs = new int[] { R.id.nameTextView, R.id.numberTextView};

SimpleCursorAdapter myAdapter;
myAdapter = new SimpleCursorAdapter(this,
R.layout.simplecursorlayout,
myCursor,
fromColumns,
toLayoutIDs);

myListView.setAdapter(myAdapter);

Слайд 24 Internet resources
Лекция 4, слайд 23
Новосибирский государственный университет, 2012

Internet resourcesЛекция 4, слайд 23Новосибирский государственный университет, 2012String myFeed = getString(R.string.my_feed);try

android:name=“android.permission.INTERNET”/>
String myFeed = getString(R.string.my_feed);
try {
URL url = new

URL(myFeed);

URLConnection connection = url.openConnection();
HttpURLConnection httpConnection = (HttpURLConnection)connection;

int responseCode = httpConnection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
InputStream in = httpConnection.getInputStream();
[ ... Process the input stream as required ... ]
}
}
catch (MalformedURLException e) { }
catch (IOException e) { }

Слайд 25 Лекция 4, слайд 24
Новосибирский государственный университет, 2012
Диалоговые окна
Класс

Лекция 4, слайд 24Новосибирский государственный университет, 2012Диалоговые окнаКласс Dialog и его

Dialog и его производные
Специальные диалоговые окна:
AlertDialog
CharacterPickerDialog
DatePickerDialog
TimePickerDialog
ProgressDialog

Activity в модальном режиме

android:name=“MyDialogActivity” android:theme=“@android:style/Theme.Dialog”>



Слайд 26 Управление диалогами
Новосибирский государственный университет, 2012
Лекция 4, слайд 25
static

Управление диалогамиНовосибирский государственный университет, 2012Лекция 4, слайд 25static final private int

final private int TIME_DIALOG = 1;

@Override
public Dialog onCreateDialog(int id)

{
switch(id) {
case (TIME_DIALOG) :
AlertDialog.Builder timeDialog = new AlertDialog.Builder(this);
timeDialog.setTitle("The Current Time Is...");
timeDialog.setMessage("Now");
return timeDialog.create();
}
return null;
}

@Override
public void onPrepareDialog(int id, Dialog dialog) {
switch(id) {
case (TIME_DIALOG) :
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
Date currentTime = new Date(java.lang.System.currentTimeMillis());
String dateString = sdf.format(currentTime);
AlertDialog timeDialog = (AlertDialog)dialog;
timeDialog.setMessage(dateString);
break;
}
}

Слайд 27 Просмотр данных о землетрясениях (демо)
Новосибирский государственный университет, 2012
Лекция

Просмотр данных о землетрясениях (демо)Новосибирский государственный университет, 2012Лекция 4, слайд 26

4, слайд 26


Слайд 28 Работа с файлами
Новосибирский государственный университет, 2012
Лекция 4, слайд

Работа с файламиНовосибирский государственный университет, 2012Лекция 4, слайд 27String FILE_NAME =

27
String FILE_NAME = "tempfile.tmp";

// Create a new output file

stream that’s private to this application.
FileOutputStream fos = openFileOutput(FILE_NAME, Context.MODE_PRIVATE);
// Create a new file input stream.
FileInputStream fis = openFileInput(FILE_NAME);

Типы режимов доступа к файлам
MODE_APPEND
MODE_PRIVATE
MODE_WORLD_READABLE
MODE_WORLD_WRITEABLE

Resources myResources = getResources();
InputStream myFile = myResources.openRawResource(R.raw.myfileName)

Доступ к файлам из ресурсов:

Другие операции: deleteFile, fileList (также см. java.io.File)


Слайд 29 Настройки
Новосибирский государственный университет, 2012
Лекция 4, слайд 28
Общие (SharedPreferences)

Состояние

НастройкиНовосибирский государственный университет, 2012Лекция 4, слайд 28Общие (SharedPreferences)Состояние приложения/активности (Bundle)Поддерживаемые типы:booleanstringfloatlonginteger

приложения/активности (Bundle)
Поддерживаемые типы:

boolean
string
float
long
integer


Слайд 30 Общие настройки
Новосибирский государственный университет, 2012
Лекция 4, слайд 29

Общие настройкиНовосибирский государственный университет, 2012Лекция 4, слайд 29 // Get the

// Get the stored preferences
int mode = Activity.MODE_PRIVATE;

final String MY_PREFS = "MY_PREFS";
SharedPreferences mySharedPreferences = getSharedPreferences(MY_PREFS, mode);

// Retrieve the saved values.
boolean isTrue = mySharedPreferences.getBoolean("isTrue", false);
float lastFloat = mySharedPreferences.getFloat("lastFloat", 0f);
int wholeNumber = mySharedPreferences.getInt("wholeNumber", 1);
long aNumber = mySharedPreferences.getLong("aNumber", 0);
String stringPreference = mySharedPreferences.getString("textEntryValue", "");
...
SharedPreferences.Editor editor = mySharedPreferences.edit();

// Store new primitive types in the shared preferences object.
editor.putBoolean("isTrue", true);
editor.putFloat("lastFloat", 1f);
editor.putInt("wholeNumber", 2);
editor.putLong("aNumber", 3l);
editor.putString("textEntryValue", "Not Empty");

// Commit the changes.
editor.commit();

Слайд 31 PreferenceScreen
Новосибирский государственный университет, 2012
Лекция 4, слайд 30

PreferenceScreenНовосибирский государственный университет, 2012Лекция 4, слайд 30        

    xmlns:android="http://schemas.android.com/apk/res/android">            

                                                                   

Слайд 32 Работа с PreferenceActivity
Новосибирский государственный университет, 2012
Лекция 4, слайд

Работа с PreferenceActivityНовосибирский государственный университет, 2012Лекция 4, слайд 31public class MySettings

31
public class MySettings extends PreferenceActivity {
SharedPreferences prefs;
@Override


protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
prefs = this.getSharedPreferences("MySettings",
Activity.MODE_PRIVATE);
}

android:label="My Settings">
...

Intent i = new intent(this, MySettings.class);
startActivityForResult(i, SHOW_PREFERENCES);


Слайд 33 Работа с общими настройками
Новосибирский государственный университет, 2012
Лекция 4,

Работа с общими настройкамиНовосибирский государственный университет, 2012Лекция 4, слайд 32Context context

слайд 32
Context context = getApplicationContext();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
// TODO:

use get methods

public class MyActivity extends Activity implements
OnSharedPreferenceChangeListener {
@Override
public void onCreate(Bundle SavedInstanceState) {
// Register this OnSharedPreferenceChangeListener
Context context = getApplicationContext();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
prefs.registerOnSharedPreferenceChangeListener(this);
}

public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
// TODO Check the shared preference and key parameters and change UI or
// behavior as appropriate.
}
}


Слайд 34 Пример PreferenceActivity
Лекция 4, слайд 33
Новосибирский государственный университет, 2012

Пример PreferenceActivityЛекция 4, слайд 33Новосибирский государственный университет, 2012

Слайд 35 На следующей лекции
Лекция 4, слайд 34
Новосибирский государственный университет,

На следующей лекцииЛекция 4, слайд 34Новосибирский государственный университет, 2012SQLite и источники данныхГеокодирование & Карты Геолокационные сервисы

2012
SQLite и источники данных
Геокодирование & Карты
Геолокационные сервисы


Слайд 36 Задание «Записная книжка»
Лекция 4, слайд 35
Новосибирский государственный университет,

Задание «Записная книжка»Лекция 4, слайд 35Новосибирский государственный университет, 2012Разработать приложение с

2012
Разработать приложение с графическим пользовательским интерфейсом, поддерживающее
cоздание,
редактирование,
удаление,
поиск
заметок.
Два варианта

хранения заметок:
А) в базе SQLite;
Б) с использованием файловой системы.

Срок выполнения: 2 недели


  • Имя файла: razrabotka-mobilnyh-prilozheniy.pptx
  • Количество просмотров: 187
  • Количество скачиваний: 3