Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
46 / 38 / 15
Регистрация: 28.09.2012
Сообщений: 818
1

Как подойти к разработке магазина?

20.01.2017, 07:46. Просмотров 1206. Ответов 28
Метки нет (Все метки)


хочу сделать приложение тип магазина
писать думаю в android studio
основы вроде понял, дебилизмом не страдаю
так как планирую приложение без всяких наворотов делать для начала, с минимум функционала.
например если магаз будет на тематику деталей автомобиля
в андроид студио есть уже Navigation Drawer - левое окошко там планирую розмещать типы товаров. т.е. пункты меню будут например моторы, колеса ну и тдп. а на главной странице лишь выводить их список да и что бы при нажатии на товар переходить на описание конкретного товара. так к чему я веду а веду к тому что у меня возникли вопросы по поводу каким лутше способом реализовывать то или иное решение.Если хранить всю инфу на другом сервере думаю не рационально что ли(подскажите по данному поводу )- темболие товар то будет каждый иметь картинку. да и как с дизайном страницы обойтися как я понял все эти товары можно разместить на одном layout и только при нажатии на одну из кнопок Navigation Drawer фильтровать их. но еще хотелось что бы подсказали как все ето выводить и во что оборачивать что бы имело нормальный стиль. использовать ListView или может что по лутше есть?
0
Миниатюры
Как подойти к разработке магазина?  
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.01.2017, 07:46
Ответы с готовыми решениями:

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

Как подойти к решению задачи
Кода и готового решения не прошу!!! Есть задачка грубо говоря звучит так: есть аудитория в...

как подойти к решению задачи?
привет всем! очередная проблема, но на этот раз даже не знаю с какой стороны подкрасться к ее...

Не знаю как подойти к изучению Ассемблера
Надо написать пару задачек на Ассемблере. Сказали учить по Юрову. Я открыл этот учебник, но мне он...

28
46 / 38 / 15
Регистрация: 28.09.2012
Сообщений: 818
20.01.2017, 07:53  [ТС] 2
то чуство когда неможешь вопрос свой поправить хотел добавить уточнение что меня волнует Где хранить инфу? на телефоне или отдаленом сервере? или как то смешать 2 эти варианта? так как ето телефон там инет в большенства же дерьмовый но и обновлятся же список должен будет. да и не подгружать же каждый раз кучу картинок к каждому товару
0
95 / 46 / 13
Регистрация: 20.04.2014
Сообщений: 687
20.01.2017, 09:00 3
Lynatik001, Как вариант можете в настройках поставить возможность сохранять картинки. Вопрос только куда (в память приложения или на внутренюю память, тут уже как пожелается)

А в принудительном варианте закидывать картинки пользователю смысла точно нету. У меня к примеру инет через файфай а значит хоть по 10 раз можно из инета тащить. Зачем память мне засорять лишним.

Добавлено через 2 минуты
Lynatik001, Если правильно понимаю то увас сайт то есть интнернет магазина то в чем проблема сделать его мобильный вид, и просматривать через браузер? не проще ли это будет при том что инет магозин явно на каком то движке сделан а нынче движки имеют возможность делать и под тел и под планшет и под монитор
0
46 / 38 / 15
Регистрация: 28.09.2012
Сообщений: 818
20.01.2017, 09:31  [ТС] 4
Цитата Сообщение от КВА696 Посмотреть сообщение
Lynatik001, Если правильно понимаю то увас сайт то есть интнернет магазина то в чем проблема сделать его мобильный вид, и просматривать через браузер? не проще ли это будет при том что инет магозин явно на каком то движке сделан а нынче движки имеют возможность делать и под тел и под планшет и под монитор
Неа меня знакомый попросил сделать именно ему прогу надо) - заодно и вот учусь да и вроде изи делать че там вобще он минимум функций перечислил))
0
95 / 46 / 13
Регистрация: 20.04.2014
Сообщений: 687
20.01.2017, 09:34 5
Lynatik001, Ну в любом случае
Цитата Сообщение от Lynatik001 Посмотреть сообщение
Где хранить инфу? на телефоне или отдаленом сервере?
Без сервера не как. Ассортимент все равно будет пополняться
А значет программе надо черпать от куда то информацию
0
46 / 38 / 15
Регистрация: 28.09.2012
Сообщений: 818
20.01.2017, 09:36  [ТС] 6
да и лутше конкритизовать вот допустим есть такой способ он реализуется таким кодом
Цитата Сообщение от КВА696 Посмотреть сообщение
Lynatik001, Как вариант можете в настройках поставить возможность сохранять картинки. Вопрос только куда (в память приложения или на внутренюю память, тут уже как пожелается)
и тдп
да и придумать можно разное - просто не хотел придумывать собственные велосепеды если уже есть решения которые используют по умолчанию. Ну как Storage в Laravel - сначало думал реализовывать велосипед пока не подсказали что все уже за тебя сделано)))
0
95 / 46 / 13
Регистрация: 20.04.2014
Сообщений: 687
20.01.2017, 09:38 7
В данной сатуации я бы сделал сайт на php (груба говоря сервер) от куда бы вытаскивал данные так как напрямую не в коем случае к MySQL не подключайтесь потеряете всё

Добавлено через 1 минуту
Цитата Сообщение от Lynatik001 Посмотреть сообщение
просто не хотел придумывать собственные велосепеды если уже есть решения
Ну тогда ждём профессионалов так как я специалист только по велосипедам)))))
1
46 / 38 / 15
Регистрация: 28.09.2012
Сообщений: 818
20.01.2017, 11:01  [ТС] 8
Цитата Сообщение от КВА696 Посмотреть сообщение
MySQL не подключайтесь потеряете всё
сказали А скажите и Б т.е. что потеряю и почему это(причина)

Добавлено через 2 минуты
Цитата Сообщение от КВА696 Посмотреть сообщение
В данной сатуации я бы сделал сайт на php (груба говоря сервер) от куда бы вытаскивал данные так как напрямую не в коем случае к MySQL не подключайтесь потеряете всё
клиент- сервер наше всё. в данном случае планировал сделать это на java
0
95 / 46 / 13
Регистрация: 20.04.2014
Сообщений: 687
20.01.2017, 11:16 9
Цитата Сообщение от Lynatik001 Посмотреть сообщение
сказали А скажите и Б т.е. что потеряю и почему это(причина)
Чтобы подключиться к MySQL(то бишь базе где будут храниться ваши товары) вы должны будите по мимо адреса в клиенте прописать логин и пароль. Но так как apk легко декомпилируется ваш логин и пароль от базы будет знать любой юзер и делать что ему захочется с вашей базой.

Для этого нужен сервер. Что обеспечит связь клиента с базай, и в этом случае база уже может быть чем угодно как MySQL так и просто блокнотом.

Цитата Сообщение от Lynatik001 Посмотреть сообщение
клиент- сервер наше всё. в данном случае планировал сделать это на java
Раз планируете сделать и сервер на джава, то где вы его планируете разместить?
Не забывайте что сервер должен работать постоянно и иметь всегда один и тот же IP
0
46 / 38 / 15
Регистрация: 28.09.2012
Сообщений: 818
20.01.2017, 11:34  [ТС] 10
Цитата Сообщение от КВА696 Посмотреть сообщение
Раз планируете сделать и сервер на джава, то где вы его планируете разместить?
Не забывайте что сервер должен работать постоянно и иметь всегда один и тот же IP
мда... вот не надо обяснять тут что такое сервер и почему он должен работать постоянно єто уже не смешно)))
где-где, где то на орендованом Linux сервере где ж еще. да и ввобще что за бред несешь. Я вобще вот находу придумал что вот можно иметь базу с инфой на самом телефоне и просто делать запросы на сервер ли нет чего нового. а сервер отвечает и если есть что новое отсылает и так обновляется база на телефоне. и таким способом можно решить и херовую проблему с инетом и тдп. но может есть какое кеширование файлов и тд, или готовая библиотека по работе с этим которую все и юзают да бы не плодить велосепеды при этом не ефектывные. Вы больше так не прикалуйтесь ХД как можно не знать таких прописных истин.
0
95 / 46 / 13
Регистрация: 20.04.2014
Сообщений: 687
20.01.2017, 11:40 11
Цитата Сообщение от Lynatik001 Посмотреть сообщение
вобще вот находу придумал что вот можно иметь базу с инфой на самом телефоне и просто делать
Я бы если узнал что приложение жрет мою драгоценную память на жоском, нафиг бы её снес)) но если товара(картинок там максимум метра на 3 то да можно и так)
1
2881 / 2293 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
20.01.2017, 12:58 12
ТС, что ты хочешь услышать? я так и не понял
начни хотя бы что-то делать, а когда полезут ошибки - выкладывай код и лог ошибки сюда
0
313 / 256 / 81
Регистрация: 31.10.2016
Сообщений: 619
20.01.2017, 17:30 13
Лучший ответ Сообщение было отмечено Lynatik001 как решение

Решение

Lynatik001
1. Для хранения инфы о товарах нужен сайт, точнее АПИ, привязанное к БД магазина.
В АПИ: запрос на категории товаров, запрос на список товаров в категории (с пагинацией), запрос на детальное описание товара, отправка заказа на сервер. Все данные передавать в json. Хорошо бы иметь https, если будете передавать личные данные пользователя, больше чем имя и номер телефона.
Внутри приложения инфу о товарах нельзя хранить, потому что цена постоянно обновляется или номенклатура.
2. Для работы с сетью использовать Retrofit и OkHttp.
3. Для загрузки картинок используйте библиотеки Glide, Piccasso, UIL. Они почти все сделают за вас. Типа закэшировать в памяти и т.д.
4. Для отображения списка лучше использовать RecyclerView.
5. Естественно сделать экран с корзиной и подсчетом все суммы покупки.
6. Экран ввода персональных данных. Хранить локально, чтоб пользователь при отправлении заказа не вводил постоянно свое имя+номер телефона или какие данные вам нужны.

Опционально добавить экраны с историй покупок и шаблонами постоянных покупок.

Вот так выглядит простой инет магазин.
2
46 / 38 / 15
Регистрация: 28.09.2012
Сообщений: 818
20.01.2017, 20:35  [ТС] 14
Цитата Сообщение от demixdn Посмотреть сообщение
Для хранения инфы о товарах нужен сайт, точнее АПИ, привязанное к БД магазина.
апи (ето же клиент-сервер(сервер) и общение между ними) предлагаете делать на php?. примеры можно? именно в моем случае когда нужно это делать в android studio(т.э. это же ж java)
0
313 / 256 / 81
Регистрация: 31.10.2016
Сообщений: 619
20.01.2017, 20:52 15
Lynatik001, вы АПИ на чем хотите можете писать. Знаете PHP, пишите на нем. Знаете java, пишите сервер на нем. Главное чтоб ваше АПИ могло подключиться в БД, и отдать ответ в json.
Тут начальный пример, как делать Rest API. В инете или github полагаю можно найти примеры получше.

Добавлено через 59 секунд
Сервер не имеет отношения к Android Studio никакого. На ваш сервер хоть другой сервер может стучаться.
0
46 / 38 / 15
Регистрация: 28.09.2012
Сообщений: 818
25.01.2017, 10:01  [ТС] 16
как мне сделать список такой же как и на картинке?(что обведен синим)
+ обвел красным то что тоже интересует как реализовать прозрачный блок на низу картинки и розместить там описание)
0
Миниатюры
Как подойти к разработке магазина?  
46 / 38 / 15
Регистрация: 28.09.2012
Сообщений: 818
25.01.2017, 10:08  [ТС] 17
меня смуто именно то как реализовать имитацию того что 2рая строка она как буд то впалая а 1 и 3тяя как буд то возвышаются над ней( вот это интересно как реализовать(то что синим обведено)
0
313 / 256 / 81
Регистрация: 31.10.2016
Сообщений: 619
25.01.2017, 12:16 18
Lynatik001, красный блок: ImageView внутри RelativeLayout, и TextView привязанное layout_alignBottom к картинке. Заливка TextView - черный с прозрачностью 54% примерно, это цвет #89000000.
Синий блок: это просто 3 TextView, у них тоже полупрозрачные заливки. Только между ними внешние отступы (1 или 2 dp). Но косяк с 3им TextView, она налезла на 2ую, поэтому заливки наложились и получилась белая однопиксельная полоска.
1
CoolMind
25.01.2017, 21:20
  #19

Не по теме:

Ужас, русский язык - "два", даже читать невозможно.

0
46 / 38 / 15
Регистрация: 28.09.2012
Сообщений: 818
27.01.2017, 12:47  [ТС] 20
Цитата Сообщение от demixdn Посмотреть сообщение
Для работы с сетью использовать Retrofit и OkHttp.
есть какие библиотечки без там фреемворков и тдп для api клиента на пхп?
или все так голым запросом без всякой там структуры в файлах пишут?
- нашел пример в инете
PHP
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php // сохранить в utf-8 !
// ---------------------------------------------------------- эти значения задавались при создании БД на сервере
$mysql_host = "localhost"; // sql сервер
$mysql_user = "root"; // пользователь
$mysql_password = "root"; // пароль
$mysql_database = "test"; // имя базы данных chat
 
// ---------------------------------------------------------- проверяем переданные в строке запроса параметры
// например ...chat.php?action=select
//-----------------------------------------------------------
// переменная action может быть:
// select - формируем содержимое таблицы chat в JSON и отправляем назад
// insert - встваляем новую строку в таблицу chat, так же нужны 4 параметра : автор/получатель/время создания/сообщение
// ВАЖНО время создания мы не передаем в параметрах, его берем текущее на сервере
// delete - удаляет ВСЕ записи из таблицы chat - пусть будет для быстрой очистки
 
// ------------------------------------------- получим переданный action
if (isset($_GET["action"])) { 
    $action = $_GET['action'];
}
// ------------------------------------------- если action=insert тогда получим еще author|client|text
if (isset($_GET["author"])) { 
    $author = $_GET['author'];
}
if (isset($_GET["client"])) { 
    $client = $_GET['client'];
}
if (isset($_GET["text"])) { 
    $text = $_GET['text'];
}
// ------------------------------------------- если action=select тогда получим еще data - от после какого времени передавать ответ
if (isset($_GET["data"])) { 
    $data = $_GET['data'];
}
 
 
mysql_connect($mysql_host, $mysql_user, $mysql_password); // коннект к серверу SQL
mysql_select_db($mysql_database); // коннект к БД на сервере
mysql_set_charset('utf8'); // кодировка
$db = new PDO("mysql:host=$mysql_host;dbname=$mysql_database", $mysql_user, $mysql_password);
$q = $db->prepare("SELECT _id FROM chat");
$q->execute();  
$data = $q->fetchAll(PDO::FETCH_ASSOC);
print(json_encode($data));
 
 
 
// ------------------------------------------------------------ обрабатываем запрос если он был
if($action == select){ // если действие SELECT
 
if($data == null){
// выберем из таблицы chat ВСЕ данные что есть и вернем их в JSON
$q=mysql_query("SELECT * FROM chat");
 
 
}else{
    
// выберем из таблицы chat ВСЕ данные ПОЗНЕЕ ОПРЕДЕЛЕННОГО ВРЕМЕНИ и вернем их в JSON
$q=mysql_query("SELECT * FROM chat WHERE data > $data");    
    
}
while($e=mysql_fetch_assoc($q))
        $output[]=$e;
print(json_encode($output));
 
}
 
 
if($action == insert && $author != null && $client != null && $text != null){ // если действие INSERT и есть все что нужно
 
// время = время сервера а не клиента !
$current_time = round(microtime(1) * 1000);
// пример передачи скрипту данных:
// chat.php?action=insert&author=author&client=client&text=text
// вставим строку с переданными параметрами
mysql_query("INSERT INTO `chat`(`author`,`client`,`data`,`text`) VALUES ('$author','$client','$current_time','$text')");
 
}
 
 
if($action == delete){ // если действие DELETE
// полностью обнулим таблицу записей
mysql_query("TRUNCATE TABLE `chat`");   
}
 
mysql_close();
?>
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.01.2017, 12:47

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Подскажите как подойти к этой задаче
Есть mp3 и надо его визуализировать в виде волны как во многих аудиоредакторах и плеерах. То есть...

Как подойти правильно к выбору кондиционера?
На работу нужно покупать кондиционер и по идее, требуется только на лето, когда сильная жара,...

Как рационально подойти к сокращению и упрощению кода?
Добрый день! Прошу подсказать новичку как рационально подойти к сокращению и упрощению...

Как подойти к вызову одной программы в другой?
Следуюшая задача: Имеется готовая программа, написанная на C++ уже достаточно давно и хорошо...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

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