Программирование мобильных приложений

Subscribe to RSS feed

Переезд на платный хостинг

Если еще недоступен, то скоро будет по адресу:
gargo.of.by

Из 3 трех старых блогов на бесплатном хостинге остались два - этот и:
landout.blog.tut.by

Windows Mobile. Разница между типами проектов Win32 и MFC

,

MFC = Win32 + библиотеки

iOS. Считывание информации из файла plist

,

Если файл данных содержит словарь в качестве корневого элемента, а элементы этого словаря - массивы.

NSString *dataPath = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"plist"];
NSDictionary *dictionary = [NSDictionary dictionaryWithContentsOfFile:dataPath];
NSArray *array = [[NSArray alloc] initWithArray:[dictionary objectForKey:key]];

Файл plist можно отредактировать, например, заменив dict на array, чтобы сделать корневым элементом объект другого типа. Тип корневого элемента можно изменить только когда файл представлен в виде xml-документа

iOS. Добавление UITableViewController в уже существующий проект

,

File >> New File >> UIViewController subclass.
Далее выбираем Subclass of UITableViewController, далее задаем имя и новые файлы будут добавлены к проекту.
Далее повторяем то, что делается автоматически при создании таблицы в Navigation based application.

ВАЖНО: по умолчанию в файле implementation объявлен метод initWithStyle, остальные генерируются автоматически. Поэтому важно следить, чтобы был вызван нужный init...

iOS. Спрятать клавиатуру после окончания редактирования UITextField

, ,

Оригинал находится здесь:
http://www.techotopia.com/index.php/Writing_iOS_4_Code_to_Hide_the_iPhone_Keyboard

Если коротко, то создаем textField, в Interface Builder меняем UIView на UIControl, который может отлавливать события типа "touch up inside", добавляем следующие методы в реализацию:


-(IBAction)textFieldReturn:(id)sender
{
[sender resignFirstResponder];
}

-(IBAction)backgroundTouched:(id)sender
{
[textField resignFirstResponder];
}



Первую функцию связываем с окончанием редактирования текста, например, с событием - (BOOL)textFieldShouldReturn:(UITextField *)textField
Вторую функцию связываем с touch up inside для UIControl

iOS. Navigation-based application

, ,

http://imaladec.com/story/uinavigationcontroller
Здесь описано, как сделать простое приложение с несколькими View

Android. Проблемы игры из стандартного sdk JetBoy

, , ,

1)тормозит даже тетрис, созданный на основе этой игры. Добавить звук я не решился
2)поток, создаваемый SurfaceView, на которой рисуется фон игры, завершить невозможно. Более того, в примере используются функции, помеченные в sdk как deprecated.
3)для красоты делал, чтобы размер поля для тетриса высчитывался на основе размеров рабочей области, которая должна сначала нарисоваться без поля, чтобы можно было получить ее размеры. При этом размеры области то задаются конкретно в пикселях, то нужно, чтобы эта область заполняла все доступное ей пространство. Долго не работало из-за того, что даже изменение размеров этой области происходит после нескольких шагов в потоке, создаваемом SurfaceView

Android. Обращаться к элементам xml может только работающий с ними поток

, , ,

Решение проблемы:
view.post(new Runnable() {

 public void run() {

 //действия, которые надо произвести

 }

});

Android. Разметка с тремя вертикальными полосами

, , , ...

Особенность заключается в том, чтобы левая и правая полосы имели фиксированный размер, а средняя заполняла все оставшееся пространство на экране. Подсказали на сайте 4pda.ru

Read more...

Android. Программирование под несколько разрешений

, ,

Нужно в проекте созадть несколько папок с названиями типа:
layout-port-finger-854x480

Означает разметку в положении Portrait разрешения 854x480.

Можно использовать ту же разметку просто подкладывать изображения нужного размера:
drawable-port-854x480
May 2012
M T W T F S S
April 2012June 2012
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31