Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 33, средняя оценка - 4.64
Carpe-diem
1 / 1 / 0
Регистрация: 11.10.2014
Сообщений: 57
#1

Можно ли написать приложение для Андроид на С# или С++? И если да, то на чем лучше писать? - Программирование Android

13.12.2014, 05:27. Просмотров 4815. Ответов 92
Метки нет (Все метки)

Нужно написать приложение-справочник,
предполагается ,что информация хранится в базе данных.

Можно ли написать такое приложение для Андроид на С# или С++? И если да, то на чем лучше писать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2014, 05:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Можно ли написать приложение для Андроид на С# или С++? И если да, то на чем лучше писать? (Программирование Android):

Какое приложение можно написать для диплома по ос Андроид? - Программирование Android
У меня тема диплома - "Программирование для ОС Android". Какой проект можете посоветовать для написания в рамках этой темы?

Можно ли написать веб сервер на Яве для клиента на Андроид,имея под рукой только телефон на том самом андроид? - Программирование Android
Уважаемые гуру программирования, если можно, пожалуйста, напишите поподробнее- какой программой компилировать код, какой лучше выбрать...

на чем лучше писать динамичное приложение для браузера - JavaScript
К примеру нужно разработать игру по типу tower defence для браузера, на каком языке ее лучше писать? Серверная часть я думаю php+mysql (...

Как лучше учиться: писать консольные приложения или оконные? И если писать оконные, то на чём лучше? - C++
На днях я узнал про Borland c++ builder и хочу воспользоваться им, но можно и писать код, что-бы было оконное приложение, так что-же лучше?...

На чем лучше написать приложение для работы с микроконтроллерами? - Программирование
Не так давно стал программистом микроконтроллеров. Кодю на заточенный под контроллер basic и немного работаю c HTML и javascript для...

"Система регистрации заявок для ИТ отдела", на чем лучше писать: php или Java? - PHP
Cистема регистрации и мониторинга заявок для ИТ отдела, на чем лучше писать: php или Java? P.S. Это тема моей дипломной работы!))

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Fulcrum_013
664 / 732 / 72
Регистрация: 14.12.2014
Сообщений: 5,701
Завершенные тесты: 3
21.12.2014, 09:50 #46
Цитата Сообщение от Kastaneda Посмотреть сообщение
В С++ уже есть foreach
а с таким
он работать будет?
C++
1
     void *Data=new byte[DataSize*Width*Height];
т.е. перебирать приведенное потом к какому либо другому типу? ну например
C++
1
2
3
4
     TDateStructure *Ptr=(TDateStructure*)Data;
for (auto &some : Ptr) {
...
}
Насколько понимаю так работать не будет?
Kastaneda
Форумчанин
Эксперт С++
4652 / 2860 / 228
Регистрация: 12.12.2009
Сообщений: 7,268
Записей в блоге: 2
Завершенные тесты: 1
21.12.2014, 10:07 #47
Так не будет, да. С некоторым допиливанием можно заставить это работать, но проще использовать обычный for в этом случае.
Fulcrum_013
664 / 732 / 72
Регистрация: 14.12.2014
Сообщений: 5,701
Завершенные тесты: 3
21.12.2014, 12:12 #48
Цитата Сообщение от Kastaneda Посмотреть сообщение
Так не будет, да.
И сто лет не надо. Как уже писал выше такое просто нелогично, потому что количество итераций все равно явно указывается, а соответственно от выхода за границы буфера не защитит.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.12.2014, 13:32 #49
А каким боком контроль границ к фоичу? Границы отлично контролируются во второй позиции обычного for вне какой либо связи с количеством иттераций:
C++
1
for (p=Start; p!=NULL; p=p->Next)
.
Fulcrum_013
664 / 732 / 72
Регистрация: 14.12.2014
Сообщений: 5,701
Завершенные тесты: 3
21.12.2014, 14:05 #50
Цитата Сообщение от taras atavin Посмотреть сообщение
Границы отлично контролируются во второй позиции обычного for вне какой либо связи с количеством иттераций:
Это если список указателей перебираешь. А если просто динамически распределенный массив?
Кстати можно и так:
C++
1
for (p=Start; p; p=p->Next)
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.12.2014, 14:29 #51
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Это если список указателей перебираешь. А если просто динамически распределенный массив?
В массиве в каждый момент известны количество элементов и диапазон адресов. Что опасного:
C++
1
for (i=0; i<Count; ++i)
, или:
C++
1
for (p=Data, e=Data+Count-1; p<=e; ++p)
?
Fulcrum_013
664 / 732 / 72
Регистрация: 14.12.2014
Сообщений: 5,701
Завершенные тесты: 3
22.12.2014, 06:30 #52
Цитата Сообщение от taras atavin Посмотреть сообщение
А каким боком контроль границ к фоичу
То его тезка из PHP

Добавлено через 15 часов 34 минуты
Цитата Сообщение от taras atavin Посмотреть сообщение
В массиве в каждый момент известны количество элементов и диапазон адресов. Что опасного:
ничего. Только в С++ этот Count самому приходится помнить. а в языках которые на виртуальном проце исполняются его среда выполнения помнит, соответсвенно там foreach - прямой аналог for (i=0; i<Count; ++i), только с укороченной запись.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
22.12.2014, 07:04 #53
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Только в С++ этот Count самому приходится помнить. а в языках которые на виртуальном проце исполняются его среда выполнения помнит, соответсвенно там foreach - прямой аналог for (i=0; i<Count; ++i), только с укороченной запись.
Тоже мне проблема, тем более что сама прога помнит Count в любом случае. Зато не надо городить коллекцию для
C++
1
2
3
4
for (i=1; i<=10; ++i)
{
 std::cout<<i;
}
, да и циклы с произвольного элемента до конца и с первого до предпоследнего не требуют сотворения специальных вспомогательных контейнерных сущностей:
C++
1
2
3
4
5
6
7
8
9
10
11
12
for (i=0, l=Cont-2; i<=l; ++i)
{
 for (j=i+1; j<Count; ++j)
 {
  if (a[i]>a[j])
  {
   t=a[i];
   a[i]=a[j];
   a[j]=t;
  }
 }
}
.

Добавлено через 13 минут
Count же кроме собственно циклов нужен для того, чтоб при присваивании значения элементу с конкретно заданным индексом решить, надо ли увеличивать массив. Всякое присваивание за границу массива увеличивает его? Эйси. А может именно эта функция увеличивать не должна, а получив заграничный индекс должна выдать код ошибки, или исключение, или не делать ничего, кроме проверки индекса? Так что это проблему не решает. А сохранить в массив в файл? При чтении будешь еоф искать? Так за массивом может понадобиться сохранить ещё что нибудь. Может массивов в файле несколько? Или массив вообще многомерен? Как при загрузке массива с диска восстановить правильные размеры массива, если прога на момент сохранения сама их не знала? Считать в фоиче и писать в конце писать? Во-первых не удобно, во-вторых размеры будут приняты за элементы, а в-третьих к моменту их чтения массив будет уже прочитан и его надо будет переделывать. Так что сама прога в любом случае обязана помнить все свои каунты.

Добавлено через 2 минуты
Пузырёк здесь - только пример, такие циклы юзаются не только для сортировки. Например, в центральной разнице нужен цикл со второго до предпоследнего.

Добавлено через 10 минут
А вот циклы с первого до предпоследнего и со следующего до последнего без связи с количеством:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
for (p1=Start; p1->Next!=NULL; p1=p1->Next)
{
 for (p2=p1->Next; p2!=NULL; p2=p2->Next)
 {
  if (p1->Data>p2->Data)
  {
   t1=p1->Previous;
   t2=p1->Next;
   p1->Previous->Next=p2;
   p1->Next->Previous=p2;
   p2->Previous->Next=p2;
   p2->Next->Previous=p2;
   p1->Previous=p2->Previous;
   p1->Next=p2->Next;
   p2->Previous=t1;
   p2->Next=t2;
  }
 }
}
.
Fulcrum_013
664 / 732 / 72
Регистрация: 14.12.2014
Сообщений: 5,701
Завершенные тесты: 3
22.12.2014, 07:34 #54
Цитата Сообщение от taras atavin Посмотреть сообщение
Тоже мне проблема, тем более что сама прога помнит Count в любом случае
пока программист помнит где это помнит программа У С++ и PHP задачи разные в большинстве случаев.
Цитата Сообщение от taras atavin Посмотреть сообщение
А сохранить в массив в файл? При чтении будешь еоф искать? Так за массивом может понадобиться сохранить ещё что нибудь. Может массивов в файле несколько?
в большинстве случаев в PHP массив вот так сохраняется (и не только массив)
PHP
1
file_putcontents($filename,serialize($Data));
хотя если надо то можно и размер массива посмотреть
PHP
1
array_count($Data);
ну а о присавивании за границы массива, то очень часто использую
PHP
1
$Data[]=//вычисление данных
потом потребитель данных foreach перебирает.

Добавлено через 7 минут
Да кстати, химию на конвертер считать ассоциативные массивы очень пригодятся. Правда в сишной версии, и желательно через константы. А то и создать классы под каждое соединение и переопределить для них операторы.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
22.12.2014, 08:40 #55
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
в большинстве случаев в PHP массив вот так сохраняется (и не только массив)
Код PHP
1
file_putcontents($filename,serialize($Data));
И в какой формат этот serialize насериализует? Читать ведь может локальное приложение, написанное на любом другом языке, значит фактический формат должен соответствовать спецификации, а она может быть чужая и предусматривать сохранение каунтов чёрт знает где, а потом в других местах офсеты самих массивов и уже по этим офсетам непосредственно данные. Так что в топку этот неуправляемый serialize.

Добавлено через 5 минут
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
пока программист помнит где это помнит программа
1. А чего там помнить? В декларации членов класса описаны и прокоментированы не только каунты, но и всё остальное. Сколько каунтов может быть даже в многомерном массиве? 3? 4? 11? Ну и прикиньте, сколько весит массив, у которого хотя бы по десятке каждый каунт. Так что много их быть не может. А чаще всего 1-2 на весь класс динамического массива.
2. Если "программист" умудряется забыть, куда он чего положил, то ни какая среда ему не поможет, так как он забудет и где у него сами данные. Причём, гораздо раньше.

Добавлено через 3 минуты
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
хотя если надо то можно и размер массива посмотреть
array_count($Data);
1. Сколько занимает обращение к функции, а сколько доступ к переменной?
2. Как раз array_count забыть проще всего. А в результате переврать в ArrayCount($Data), CountArray($Data), ___CountArray($Data), ___ArrayCount($Data) и даже Length($Data).
3. И как она дружит с многомерными массивами?
Fulcrum_013
664 / 732 / 72
Регистрация: 14.12.2014
Сообщений: 5,701
Завершенные тесты: 3
22.12.2014, 08:40 #56
Цитата Сообщение от taras atavin Посмотреть сообщение
фактический формат должен соответствовать спецификации, а она может быть чужая и предусматривать сохранение каунтов чёрт знает где, а потом в других местах офсеты самих массивов и уже по этим офсетам непосредственно данные. Так что в топку этот неуправляемый serialize
Он там сам для себя сделан. Для хранения данных сессии. кстати формат текстовый с типами длинами и скопами. Пожиратель процессорного времени и места на диске по большому счету. Но для небольших объемов самое то. А если с другими приладами то прийдется утрясать спецификации. Делал на PHP как то кодек анимированного GIF. ниче. те же функции чтения/записи в файл как и в С++, а функции определения размеров массивов есть.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
22.12.2014, 08:42 #57
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
ну а о присавивании за границы массива, то очень часто использую
PHP
1
$Data[]
=//вычисление данных[/PHP]потом потребитель данных foreach перебирает.
Ога. Без помощи циклов и таская за собой все элементы ради присваивания одного. Не смешно.
Fulcrum_013
664 / 732 / 72
Регистрация: 14.12.2014
Сообщений: 5,701
Завершенные тесты: 3
22.12.2014, 08:45 #58
Цитата Сообщение от taras atavin Посмотреть сообщение
2. Если "программист" умудряется забыть, куда он чего положил, то ни какая среда ему не поможет, так как он забудет и где у него сами данные. Причём, гораздо раньше.
программистов там мало, гораздо больше разработчиков. Специфика такая. запрос сшил-в БД отправил-данные в шаблон выплюнул. больше редко когда чего надо.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
22.12.2014, 08:50 #59
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Он там сам для себя сделан. Для хранения данных сессии.
А при чём здесь сессии? Сохранение файлов должно быть гибким, простым и универсальным и предназначено в первую очередь для обмена данными с другими программами, а только во вторую на случай сохранения перед выключением компа данных длительного хранения.

Добавлено через 3 минуты
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
кстати формат текстовый с типами длинами и скопами.
В первую очередь надо поддерживать двоичные форматы. Тем более при сохранении массивов.
Fulcrum_013
664 / 732 / 72
Регистрация: 14.12.2014
Сообщений: 5,701
Завершенные тесты: 3
22.12.2014, 08:50 #60
А вот в таких случаях очень удобно
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        function Draw(){
                 $Source=get_object_vars($this);
                 preg_match_all('/({)(\w+)(})/',$Template,$Matches);
                 foreach ($Matches[2] as $Match){
                          $Value='';
                          if (array_key_exists($Match,$Source)){
                              if (is_object($Source[$Match])) $Value=$Source[$Match]->Paint();
                              else $Value=$Source[$Match];
                           }
                           $Values[$Match]=$Value;
 
                 }
                 return str_replace($Matches[0],$Values,$Template);
        }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2014, 08:50
Привет! Вот еще темы с ответами:

На чем лучше писать игры - Java, C++ или C#? - Графика и игры
Приветствую... Передо мною стоит выбор - изучать Java, C++ или C#? Хотел бы заняться игростроем.

Есть определенная задача. На чем лучше писать, C++ или C# - Программирование
Прошу не пинать ногами, отличия C# от C++ я уже изучил. Интересует ваше мнение. Сам привык работать в Visual C++. Есть определенная задача:...

В чем лучше писать базу данных MySql или accec - C#
В чем лучше писать базу данных MySql или accec. Хочу спросить MySql тоже можно без сервера оперировать на C# (вин формс) или без сервера...

На чем лучше учиться писать сайты ASP.NET или DreamWear 8.0? - C# ASP.NET
На чем лучше всего учиться писать сайты? есть две среды(не знаю как точно называется это в web-разработке) ASP.NET и DreamWear 8.0....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.12.2014, 08:50
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru