David_Wimbley
Поскольку вы упомянули, что это для саморазвития и изучения новых навыков, я предлагаю разбить вашу «проблему» на более мелкие части и начать решать желаемую функциональность как отдельные «проблемы». Таким образом, вы начнете с основы веб-разработки и продвинетесь к реализации всей желаемой функциональности. Кроме того, я не собираюсь предоставлять вам ссылки или примеры кода в рамках самостоятельной разработки, на мой взгляд, это должно быть для вас, чтобы вы выясняли, как решать проблемы самостоятельно (я имею в виду, научитесь гуглить) . Теперь, если вы попытаетесь реализовать какие-либо из моих комментариев / предложений, приведенных ниже, не стесняйтесь возвращаться с образцами вашего кода, которые те из нас, кто хочет помочь, могут использовать для воспроизведения вашей проблемы и четкого объяснения вашей проблемы / того, что вы пытаются достичь, и я уверен, что вы найдете здесь полезную помощь.
Итак, основываясь на вашем вопросе, я вижу 3 или 4 вопроса, которые вы можете вырвать из своего вопроса
1)
Цитата:
Как создать приложение, которое использует кнопку в качестве счетчика, и каждый раз при нажатии на кнопку оно будет загружать этот номер на мой сайт?
Вы перечисляете python и PHP, первое, что вам нужно сделать, это выбрать язык на стороне сервера. В конце концов, не имеет значения, какой язык вы выберете, если он решает вашу проблему и отвечает потребностям бизнеса.
Кроме того, вам нужно определить здесь, что такое "приложение". Позже вы говорите, что это телефонное приложение, но я думаю, что вам стоит подумать, поскольку вы только учитесь, о мобильном первом/дружественном веб-сайте и о создании мобильного приложения позже.
С учетом сказанного я собираюсь сделать свои комментарии вокруг мобильного первого / дружественного приложения.
Чтобы создать кнопку, которая влияет на счетчик, вам понадобится следующее
а) выбран язык на стороне сервера
б) html/css
c) библиотека javascript (lets go with jquery) для ajax-вызовов.
d) хранилище данных, учитывая простоту, полная реляционная база данных blow может быть излишней, но вы более чем можете использовать mysql. Поскольку вы учитесь, возможно, лучше всего начать с реляционной БД. Альтернативой является база данных типа nosql, такая как mongo db.
Вам нужно будет изучить/реализовать следующее, чтобы поместить кнопку на свой сайт
а) поместите элемент на свой сайт там, где вы хотите, прикрепите событие click к этой кнопке с помощью jquery, которое добавляет 1 к сохраненному счетчику на стороне сервера с помощью вызова ajax.
б) Итак, узнайте, как реализовать ajax-вызов с помощью jquery
в) узнайте, как запустить клик даже с помощью jquery.
d) выясните, как реализовать открытый API на стороне сервера, который принимает введенное число, извлекает значение из вашего хранилища данных, увеличивает его на 1 и затем сохраняет новый результат обратно в хранилище данных.
2)
Цитата:
Я хотел бы добавить раздел на своем сайте, который рассказывает читателю, сколько чашек кофе я выпил за этот день.
Аналогично #1, вам нужно будет реализовать новый вызов API на выбранном вами серверном языке, который считывает из вашего хранилища данных значение инкрементированного поля из вашего хранилища данных. Вам нужно будет создать серверный API, который вызывается через jquery/ajax, чтобы вытащить значение и отобразить его на вашем сайте.
3)
Цитата:
Я хотел бы разработать мобильное приложение, которое я могу поставить на свой телефон (Galaxy S7), чтобы я мог просто нажимать кнопку каждый раз, когда я заканчиваю чашку кофе.
Как я уже упоминал выше, поскольку вы учитесь, попытка изучить веб-разработку + разработку мобильных приложений может быть очень сложной задачей сразу и может привести к тому, что вы впадете в уныние. Поэтому мое предложение состояло бы в том, чтобы сначала создать мобильный дружественный сайт, который вы можете добавить в качестве значка в список приложений на вашем телефоне (по крайней мере, вы можете на apple, я не так хорошо знаком с android), чтобы он вел себя как приложение, но был веб-сайтом.
Если вы хотите сделать это только как нативное приложение, то вам нужно будет изучить использование android studio + java для создания вашего приложения. Существуют и другие фреймворки, которые могут позволить вам использовать веб-технологии для создания собственных приложений, но это приведет вас в кроличью нору, когда вы будете перегружены таким количеством различных вариантов.
4)
Цитата:
Кнопка в основном была бы счетчиком и содержала бы только целочисленное значение. Как только эта кнопка нажата, я хотел бы, чтобы она загрузила это целочисленное значение на мой сайт, чтобы он отображал количество чашек кофе, которые я выпил.
Как только день закончится, я бы хотел, чтобы он сбросился до 0 на моем сайте.
Я думаю, что единственное, к чему здесь следует обратиться, - это сброс до 0.
Здесь есть несколько подходов: вы можете просто использовать свое хранилище данных для хранения 1 единичного значения и перезаписывать его ежедневно, или вы можете использовать свое хранилище данных, иметь 2 столбца, дату и столбец счетчика, а после 12:00 вы добавляете новую строку, которая позволяет вам хранить исторически потребленный кофе сверхурочно.
В любом случае, самый простой способ (для меня) реализовать это-посмотреть на время в вашем вызове на стороне сервера, скажем, "прошло 12 часов утра", если это так, либо принять решение вставить новую строку + семя этой новой строки/счетчика в 1, либо реализовать оператор обновления в вашем хранилище данных, чтобы повторно ввести значение обратно в 1.
В вашем API, который вы будете создавать, вам нужно будет убедиться, что ваш инкрементирующий вызов API достаточно умен, чтобы знать, Следует ли повторно заполнять или вставлять новую строку и обновлять ее. Если вы идете по пути вставки новой строки, вам фактически нужно будет убедиться, что оба ваших вызова API (вызов post/update/increment и вызов get value api) знают, что нужно получить последнюю строку по дате для увеличения. В основном говоря
SELECT * FROM CoffeeConsumption ORDER BY Date DESC Limit 1
...я ржавый на синтаксисе mysql...но версия sql server
SELECT TOP 1 * FROM CoffeeConsumption ORDER BY Date DESC
где CoffeeConsumption-это таблица, в которой хранится ваше целое число.