Создание мобильного приложения на основе геолокации с элементами социальной сети
Обзор рынка мобильных приложений, социальных сетей, аналогов. Обзор инструментов разработки: Android Studio, Microsoft visual С# 2012, PostgreeSQL, API Открытых данных Вологодской области, API Социальных сетей. Программный код, разработка интерфейса.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 10.07.2017 |
Размер файла | 2,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
- Отсутствие премодерации;
- Правила обращения правообладателя;
- Введение процедуры вступления пользователя в спор (авторизации);
- Определение условий блокировки аккаунта и удаления контента;
- Тестовый характер сервиса;
- Упрощенный порядок изменения условий и отзыва оферты, прекращения договора;
- Выделение условий предоставления платных услуг в отдельное соглашение;
- Взимание платы за доступ к функционалу, а не услуги на его основе;
- Снятие ответственности за использование учетных данных;
- Введение требований к размещаемым рекламным материалам;
- Получение согласия на использование персональных данных;
- Определение допустимого порядка уведомления пользователей;
Получившееся соглашение представлено в приложении 4.
Заключение
В рамках данной работы было спроектировано мобильное приложение, разработан его интерфейс, программный код и документация пользователя.
Архитектура приложения на основе геолокации, с элементами социальной сети не сильно отличается от стандартных мобильных приложений на android, в ней так же присутствует GUI и слой доступа к ресурсам. Отличия наблюдаются только в среднем слое - бизнес логике, в отличие от простых android приложений появляются элементы работы с google maps, пользовательскими аккаунтами и чатом. На данный момент все функции, которые должна содержать такая программа - реализуемы встроенными в Android studio классами и подключаемыми к java библиотеками.
Для оценки производительности приложения будет построена модель на базе аппарата сетей Петри [2]. Модель будет включать генератор трафика [3] и сервер приложений для определения времени отклика по запросам пользователя. Задержка передачи данных по сети Интернет будет моделироваться с помощью прибавления ко времени передачи данных случайной величины.
Список использованных источников
1. Анализатор трафиков сайтов: сайт в контакте [Электронный ресурс] // Режим доступа: https://ru.megaindex.com/info/vk.com
2. Суконщиков А.А. Построение и анализ модели сети АСУП на базе аппарата модифицированных нечетких сетей Петри: / А.А. Суконщиков, Д.В. Кочкин - Монография / Вологда: 2015.
3. Кочкин Д.В. Модель генератора трафика на базе аппарата модифицированных нечетких сетей Петри: / Информатизация процессов формирования открытых систем на основе СУБД, САПР, АСНИ и систем искусственного интеллекта / Вологда: 2015. С. 77-81.
4. Герман О.В. Введение в веб-технологии. Учебное пособие. Мн.: ДизайнПро, 1995. - 456 с.
5. Сотник С. Л. Конспект лекций по курсу «Основы проектирования web-систем», 1997-1998.
6. Зандстра М., JAVA: объекты, шаблоны и методики программирования, 3-е издание = JAVA Objects, Patterns and Practice, Third Edition -- М.: «Вильямс», 2010. -- С. 560. -- ISBN 978-5-8459-1689-1.
Приложение 1
(обязательное)
код работы с открытыми данными
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
public class NewsActivity extends Activity {
public static String LOG_TAG = "my_log";
final ArrayList<String> AllEvents = new ArrayList<String>();
ListView listView;
ArrayAdapter<String> adapter;
JSONArray myJsonArray;
public void SetListView()
{
listView = (ListView) findViewById(R.id.main_viev);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View itemClicked, int position,
long id) {
TextView textView = (TextView) itemClicked;
String strText = textView.getText().toString(); // получаем текст нажатого элемента
// Запускаем активность, связанную с определенным событием.
Intent intent = new Intent(NewsActivity.this, ShowNewsActivity.class);
try {
for (int i = 1; i < myJsonArray.length(); i++) {
JSONObject elem = myJsonArray.getJSONObject(i);
if(elem.getString("Название мероприятия").equals(strText)){
intent.putExtra("header", elem.getString("Название мероприятия"));
intent.putExtra("data", elem.getString("Дата"));
intent.putExtra("time", elem.getString("Время"));
intent.putExtra("description", elem.getString("Описание"));
intent.putExtra("picture", elem.getString("Ссылка на картинку"));
intent.putExtra("age", elem.getString("Возрастная категория"));
intent.putExtra("place", elem.getString("Место проведения"));
}
}
}
catch (JSONException e) {
Log.d(LOG_TAG, "cant parse ");
e.printStackTrace();
}
intent.putExtra("header", strText);
startActivity(intent);
}
});
adapter = new ArrayAdapter<String>(this, R.layout.list_item, AllEvents);
// Привяжем массив через адаптер к ListView
listView.setAdapter(adapter);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_news);
new ParseTask().execute();
}
private class ParseTask extends AsyncTask<Void, Void, String> {
HttpURLConnection urlConnection = null;
BufferedReader reader = null;
String resultJson = "";
@Override
protected String doInBackground(Void... params) {
// получаем данные с внешнего ресурса
try {
URL url = new URL("http://api.opendata.gov35.ru/v1/dataset/?id=3525093804-Affiche&format=json");
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.connect();
InputStream inputStream = urlConnection.getInputStream();
StringBuffer buffer = new StringBuffer();
reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = reader.readLine()) != null) {
buffer.append(line);
}
resultJson = buffer.toString();
} catch (Exception e) {
e.printStackTrace();
}
return resultJson;
}
@Override
protected void onPostExecute(String strJson) {
super.onPostExecute(strJson);
JSONArray dataJsonObj = null;
String secondName = "";
try {
dataJsonObj = new JSONArray(strJson);
//обрежем двойные записи
JSONArray bufer = new JSONArray();
for (int i = 1; i < dataJsonObj.length(); i++){
if(!dataJsonObj.getJSONObject(i).getString("Название мероприятия").equals(dataJsonObj.getJSONObject(i-1).getString("Название мероприятия")))
bufer.put(dataJsonObj.getJSONObject(i));
}
dataJsonObj = bufer;
//обрежем двойные записи
myJsonArray = dataJsonObj;
Log.d(LOG_TAG, "количество объектов: " + dataJsonObj.length());
// 2. перебираем и выводим все мероприятия
for (int i = 1; i < dataJsonObj.length(); i++) {
JSONObject event = dataJsonObj.getJSONObject(i);
AllEvents.add(event.getString("Название мероприятия"));
}
SetListView();
} catch (JSONException e) {
Log.d(LOG_TAG, "cant parse ");
e.printStackTrace();
}
}
}
}
Приложение 2
(обязательное)
код веб - сервера
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using Npgsql;
namespace HTTPServer
{
internal class Server
{
private readonly TcpListener _listener; // Объект, принимающий TCP-клиентов
private static void ClientThread(object stateInfo)
{
var client = new Client((TcpClient)stateInfo);
}
// Запуск сервера
public Server(int port)
{
// Создаем "слушателя" для указанного порта
_listener = new TcpListener(IPAddress.Any, port);
_listener.Start(); // Запускаем его
// В бесконечном цикле
while (true)
{
// Принимаем новых клиентов. После того, как клиент был принят, он передается в новый поток (ClientThread)
// с использованием пула потоков.
ThreadPool.QueueUserWorkItem(new WaitCallback(ClientThread), _listener.AcceptTcpClient());
}
}
// Остановка сервера
~Server()
{
// Если "слушатель" был создан
if (_listener != null)
{
// Остановим его
_listener.Stop();
}
}
private static void Main(string[] args)
{
// Определим нужное максимальное количество потоков
// Пусть будет по 4 на каждый процессор
var maxThreadsCount = Environment.ProcessorCount * 4;
// Установим максимальное количество рабочих потоков
ThreadPool.SetMaxThreads(maxThreadsCount, maxThreadsCount);
// Установим минимальное количество рабочих потоков
ThreadPool.SetMinThreads(2, 2);
// Создадим новый сервер
// На порту 80
var serv = new Server(80);
}
}
// Класс-обработчик клиента
internal class Client
{
// Конструктор класса. Ему нужно передавать принятого клиента от TcpListener
public Client(TcpClient client)
{
// Объявим строку, в которой будет хранится запрос клиента
var request = "";
// Буфер для хранения принятых от клиента данных
var buffer = new byte[1024];
// Переменная для хранения количества байт, принятых от клиента
int count;
// Читаем из потока клиента до тех пор, пока от него поступают данные
while ((count = client.GetStream().Read(buffer, 0, buffer.Length)) > 0)
{
// Преобразуем эти данные в строку и добавим ее к переменной Request
request += Encoding.ASCII.GetString(buffer, 0, count);
// Запрос должен обрываться последовательностью \r\n\r\n
// Либо обрываем прием данных сами, если длина строки Request превышает 4 килобайта
// Нам не нужно получать данные из POST-запроса (и т. п.), а обычный запрос
// по идее не должен быть больше 4 килобайт
if (request.IndexOf("\r\n\r\n", StringComparison.Ordinal) >= 0 || request.Length > 4096)
{
break;
}
}
// Парсим строку запроса с использованием регулярных выражений
// При этом отсекаем все переменные GET-запроса
var reqMatch = Regex.Match(request, @"^\w+\s+([^\s\?]+)[^\s]*\s+HTTP/.*|");
// Если запрос не удался
if (reqMatch == Match.Empty)
{
// Передаем клиенту ошибку 400 - неверный запрос
//SendError(Client, 400);
return;
}
// Получаем строку запроса
var requestUri = reqMatch.Value;
// Если в запросе запрашивались координаты вернем их.
if (requestUri.Contains("coordinates=true"))
{
var db = new DatabaseHelper();
// Код простой HTML-странички
var result = db.GetCoordinates();
// Необходимые заголовки: ответ сервера, тип и длина содержимого. После двух пустых строк - само содержимое
var str = "HTTP/1.1 200 OK\nContent-type: text/html\nContent-Length:" + result.Length.ToString() + "\n\n" + result;
// Приведем строку к виду массива байт
var coordinatesBuffer = Encoding.ASCII.GetBytes(str);
// Отправим его клиенту
client.GetStream().Write(coordinatesBuffer, 0, coordinatesBuffer.Length);
// Закроем соединение
client.Close();
}
else if (requestUri.Contains("user") && requestUri.Contains("password"))
{
// Вернем true, если такой логин, пароль есть.
var login = requestUri.Substring(requestUri.IndexOf("user=", StringComparison.Ordinal) + 5, requestUri.IndexOf("&", StringComparison.Ordinal) - requestUri.IndexOf("user=", StringComparison.Ordinal) - 5);
var password = requestUri.Substring(requestUri.IndexOf("password=", StringComparison.Ordinal) + 9, requestUri.IndexOf("HTTP", StringComparison.Ordinal) - requestUri.IndexOf("password=", StringComparison.Ordinal) - 9);
var db = new DatabaseHelper();
if (db.IsUserExist(login, password.Trim()))
{
var result = "true";
// Необходимые заголовки: ответ сервера, тип и длина содержимого. После двух пустых строк - само содержимое
var str = "HTTP/1.1 200 OK\nContent-type: text/html\nContent-Length:" + result.Length.ToString() + "\n\n" + result;
// Приведем строку к виду массива байт
var coordinatesBuffer = Encoding.ASCII.GetBytes(str);
// Отправим его клиенту
client.GetStream().Write(coordinatesBuffer, 0, coordinatesBuffer.Length);
// Закроем соединение
client.Close();
}
else
{
var result = "false";
// Необходимые заголовки: ответ сервера, тип и длина содержимого. После двух пустых строк - само содержимое
var str = "HTTP/1.1 200 OK\nContent-type: text/html\nContent-Length:" + result.Length.ToString() + "\n\n" + result;
// Приведем строку к виду массива байт
var coordinatesBuffer = Encoding.ASCII.GetBytes(str);
// Отправим его клиенту
client.GetStream().Write(coordinatesBuffer, 0, coordinatesBuffer.Length);
// Закроем соединение
client.Close();
}
}
}
}
internal class DatabaseHelper
{
private static NpgsqlConnection GetConnection()
{
const string server = "qdjjtnkv.db.elephantsql.com";
const string userId = "sjzpvdny";
const string psw = "JVAq-oGOUs4DBoA7AAimMJiuWroGnTD6";
return new NpgsqlConnection("Server=" + server
+ ";User Id=" + userId
+ ";Password=" + psw
+ ";Database=" + userId + ";");
}
// Метод, возвращающий координаты из бд.
public string GetCoordinates()
{
var myConnection = GetConnection();
var result = "[";
const string selectQuery = "select * from coordinates";
var myComand = new NpgsqlCommand(selectQuery, myConnection);
try
{
myConnection.Open();
var reader = myComand.ExecuteReader();
while (reader.Read())
{
var lat = reader.GetDouble(1);
var lon = reader.GetDouble(2);
try
{
result += "{ \"lat\" : " + lat + ", \"lon\" : " + lon + " },";
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
}
myConnection.Close();
}
catch (Exception e){
myConnection.Close();
Console.WriteLine(e);
throw;
}
if (result.Length > 1){
result = result.Substring(0, result.Length - 1);
}
return result + "]";
}
// Метод, возвращающий существует пользователь или нет.
public bool IsUserExist(string login, string password){
var myConnection = GetConnection();
var selectQuery = "select * from clients where login='" + login + "' and password='" + password + "'";
var myComand = new NpgsqlCommand(selectQuery, myConnection);
try {
myConnection.Open();
var reader = myComand.ExecuteReader();
if (reader.Read()){
myConnection.Close();
return true;
}
myConnection.Close();
return false;
}
catch (Exception e){
return false;
}
}
}
}
Приложение 3
(обязательное)
Руководство пользователя
1. Назначение системы.
«Мобильное приложение GoMeet предназначено для помощи в организации встреч, для поиска интересных мест поблизости и для участий во встречах с другими пользователями.
Основной целью Приложения является создание социальной сети для людей, которым не хочется сидеть дома, интересно знакомиться с новыми людьми, хочется интересно проводить своё время.
2. Условия применения системы.
Требования к аппаратному обеспечению:
- Смартфон с операционной системой Android 4.0 и выше.
- Наличие стабильного интернет соединения.
- 512мб и более оперативной памяти.
Квалификация пользователя:
- Пользователь должен владеть базовыми навыками работы с ОС Android 4.0 или выше.
- Возраст пользователя должен быть достаточен для того, чтоб принять пользовательское соглашение.
3. Подготовка системы к работе.
Для запуска приложения необходимо:
- Подключиться к интернету.
- Зайти в Play market под своим аккаунтом
- Найти с помощью поиска приложение GoMeet.
- Нажать кнопку «Установить».
- Согласиться на предоставление программе прав на геолокацию и выход в интернет.
- Зарегистрировать аккаунт, через приложение.
- Войти со своего аккаунта в приложение.
4. Описание операций.
- Для просмотра своего профиля нужно нажать на вкладку «Профиль».
- Чтобы просмотреть события на карте нужно нажать вкладку «Карта» и передвигать карту касанием одного пальца.
- Для создания собственной встречи нужно открыть вкладку «Карта», найти там кнопку «+» и нажать на нее. В открытом окне передвинуть маркер на желаемое место и дать название встречи. После этого нажать кнопку «Создать».
- Для просмотра новостей нужно нажать на вкладку «Новости». На открывшейся странице будет доступен список новостей, которые можно просмотреть.
- Для просмотра отдельной новости нужно зайти на вкладку «Новости», выбрать интересующую новость из списка и нажать на нее. После этого возможно присоединиться к встрече или поделиться данной новостью.
- Для удаления своего профиля необходимо написать администрации.
5. Аварийные ситуации.
При отказах или сбоях в системе, необходимо обратиться к администрации приложения, на почту: GoMeet@gmail.com.
Приложение 4
(обязательное)
Пользовательское соглашение
1. Термины, используемые в настоящих Правилах
1.1. Мобильное приложение GoMeet(или Приложение) - социальная сеть и доступная Пользователю через мобильное приложение и иные ресурсы, представляющая собой результат интеллектуальной деятельности в форме программы для ЭВМ. Социальная сеть представлена в объективной форме совокупностью данных и команд, и порождаемых аудиовизуальных отображений (включая входящие в ее состав графические изображения и пользовательский интерфейс), (далее - данные и команды), предназначенных для функционирования ЭВМ и мобильных устройств в целях получения определенного результата в виде организации функционала социальной сети. Совокупность данных и команд состоит из активированных и неактивированных данных и команд.
1.2. Неактивированные данные и команды - данные, команды и порождаемые аудиовизуальные отображения, позволяющие увеличить количество виртуальных ценностей, используемых в рамках функциональных возможностей Приложения. Условия предоставления Администрацией Пользователю права на использование неактивированных данных и команд определены в лицензионном соглашении, заключаемом Администрацией с Пользователем.
2. Статус Правил пользования Приложением
2.1. Настоящие Правила пользования приложением (ранее и далее - Правила) разработаны Администрацией Приложения и определяют условия использования и развития Приложения, а также права и обязанности его Пользователей и Администрации. Правила распространяются также на отношения, связанные с правами и интересами третьих лиц, не являющимися Пользователями приложения, но чьи права и интересы могут быть затронуты в результате действий Пользователей приложения.
2.2. Настоящие Правила являются юридически обязательным соглашением между Пользователем и Администрацией, предметом которого является предоставление Администрацией Пользователю доступа к использованию Приложения и его функционала. Помимо настоящих Правил, к соглашению между Пользователем и Администрацией Приложения относятся все специальные документы, регулирующие предоставление доступа к использованию отдельного функционала Приложения (в том числе его неактивированных данных и команд).
2.3. Пользователь обязан полностью ознакомиться с настоящими Правилами до момента регистрации в Приложении. Регистрация Пользователя в приложении означает полное и безоговорочное принятие Пользователем настоящих Правил в соответствии со ст. 438 Гражданского кодекса Российской Федерации.
2.4. Настоящие Правила могут быть изменены и/или дополнены Администрацией в одностороннем порядке без какого-либо специального уведомления. Настоящие Правила являются открытым и общедоступным документом. Администрация рекомендует Пользователям регулярно проверять условия настоящих Правил на предмет их изменения и/или дополнения. Продолжение использования Приложения Пользователем после внесения изменений и/или дополнений в настоящие Правила означает принятие и согласие Пользователя с такими изменениями и/или дополнениями.
3. Статус Приложения GoMeet
3.1. Права на Приложение принадлежат Администрации Приложения. Последняя предоставляет доступ к Приложению всем заинтересованным лицам в соответствии с настоящими Правилами и действующим законодательством Российской Федерации.
3.2. Настоящими Правилами установлены условия, в соответствии с которыми права на использование информации и результатов интеллектуальной деятельности (включая, но не ограничиваясь литературными, музыкальными, аудиовизуальными произведениями и фонограммами, произведениями графики и дизайна, фотографическими произведениями, программами для ЭВМ) в составе отдельных разделов Программы, могут принадлежать Пользователям Программы и иным лицам, самостоятельно создавшим и/или разместившим указанные объекты в Приложении без непосредственного участия Администрации.
4. Администрация Приложения GoMeet
4.1. Под Администрацией Приложения GoMeet (ранее и далее - Администрация Приложения или Администрация) в настоящих Правилах и иных специальных документах, размещенных в Приложении, понимается создатели приложения «GoMeet», и сотрудники, работающие с ними.
4.2. Обращения, предложения и претензии физических и юридических лиц к Администрации Приложения в связи с настоящими Правилами и всеми вопросами по функционированию Приложения, нарушениями прав и интересов третьих лиц при его использовании, а также для запросов уполномоченных законодательством Российской Федерации лиц могут быть направлены на почтовый адрес GoMeet@gmail.com.
5. Регистрация в Приложении и статус Пользователя
5.1. Регистрация Пользователя в Приложении является бесплатной, добровольной и производится в самом приложении.
5.2. Пользователем Приложения является физическое лицо, зарегистрированное там в соответствии с установленным настоящими Правилами порядком, достигшее возраста, допустимого в соответствии с законодательством Российской Федерации для акцепта настоящих Правил, и обладающее соответствующими полномочиями (ранее и далее - Пользователь).
5.3. При регистрации в приложении Пользователь обязан предоставить Администрации необходимую достоверную и актуальную информацию для формирования персональной страницы Пользователя, включая уникальные для каждого Пользователя логин и пароль доступа к Приложению, а также фамилию и имя. Регистрационная форма Приложения может запрашивать у Пользователя дополнительную информацию.
5.4. Пользователь несет ответственность за достоверность, актуальность, полноту и соответствие законодательству Российской Федерации предоставленной при регистрации информации и ее чистоту от претензий третьих лиц.
5.5. При регистрации Пользователь соглашается с настоящими Правилами и принимает на себя указанные в них права и обязанности, связанные с использованием и функционированием Приложения.
5.6. После успешной регистрации Пользователя в Приложении Администрация принимает на себя права и обязанности перед Пользователем, указанные в настоящих Правилах.
5.7. Обработка персональных данных Пользователя осуществляется в соответствии с законодательством Российской Федерации. Администрация обрабатывает персональные данные Пользователя в целях предоставления Пользователю доступа к использованию функционала Приложения.
5.8. Выбранные Пользователем логин и пароль являются необходимой и достаточной информацией для доступа Пользователя к Приложению. Пользователь не имеет права передавать свои логин и пароль третьим лицам, несет полную ответственность за их сохранность, самостоятельно выбирая способ их хранения.
6. Обязанности Пользователя Приложения
6.1. При использовании Приложения Пользователь обязан:
- соблюдать положения действующего законодательства Российской Федерации, настоящих Правил и иных специальных документов Администрации;
- предоставлять при регистрации достоверные, полные и актуальные данные, следить за их актуализацией;
- информировать Администрацию о несанкционированном доступе к персональной странице и/или о несанкционированном доступе и/или использовании пароля и логина Пользователя;
- не предоставлять доступ другим Пользователям к собственной персональной странице или к отдельной содержащейся на ней информации в случае, если это может привести к нарушению законодательства Российской Федерации и/или настоящих Правил, специальных документов Администрации Приложения;
- не размещать на персональной странице информацию и объекты (включая ссылки на них), которые могут нарушать права и интересы других лиц;
- перед размещением информации и объектов (включая, но не ограничиваясь, изображениями других лиц, чужими текстами различного содержания, аудиозаписями и видеофильмами) предварительно оценивать законность их размещения;
- хранить в тайне и не предоставлять другим Пользователям и третьим лицам ставшие ему известными в результате общения с другими Пользователями и иного использования Приложения персональные данные (включая, но не ограничиваясь, домашними адресами, номерами телефонов, адресами электронной почты, ICQ, паспортными данными, банковской информацией) и информацию о частной жизни других Пользователей и третьих лиц без получения соответствующего предварительного разрешения последних;
- осуществлять резервное копирование важной для Пользователя хранящейся на его персональной странице информации.
6.2. Пользователь несет личную ответственность за любую информацию, которую размещает в Приложении, сообщает другим Пользователям, а также за любые взаимодействия с другими Пользователями, осуществляемые на свой риск.
6.3. В случае несогласия Пользователя с настоящими Правилами или их обновлениями, Пользователь обязан отказаться от использования Приложения, проинформировав об этом Администрацию в установленном порядке.
7. Функционирование Приложения GoMeet и ответственность при его использовании
7.1. Пользователи несут ответственность за собственные действия в связи с созданием и размещением информации на собственной персональной странице в Приложении, а также в связи с размещением информации на персональных страницах других Пользователей и в иных разделах Приложения.
7.2. Администрация Приложения предоставляет техническую возможность его использования Пользователями, не участвует в формировании содержания персональных страниц Пользователей и не контролирует и не несет ответственности за действия или бездействие любых лиц в отношении использования Приложения
7.3. Администрация не занимается предварительной модерацией или цензурой информации Пользователей и предпринимает действия по защите прав и интересов лиц и обеспечению соблюдения требований законодательства Российской Федерации только после обращения заинтересованного лица к Администрации Приложения в установленном порядке.
7.4. Администрация не несет ответственности за нарушение Пользователем настоящих Правил и оставляет за собой право по своему собственному усмотрению, а также при получении информации от других пользователей либо третьих лиц о нарушении Пользователем настоящих Правил, изменять (модерировать), блокировать или удалять любую публикуемую Пользователем информацию, нарушающую запреты, установленные настоящими Правилами.
7.5. Администрация имеет право направлять Пользователю информацию о развитии Приложения и его функционала, а также рекламировать собственную деятельность.
7.6. Ограничение ответственности Администрации Приложения:
· 7.6.1. Во избежание недоразумений пользователю следует соблюдать меры предосторожности в скачивании с приложения или по размещенным на нем ссылкам, и использовании любых файлов, в том числе программного обеспечения. Администрация настоятельно рекомендует использовать только лицензионное, в том числе антивирусное, программное обеспечение;
· 7.6.2. Используя приложение, пользователь соглашается с тем, что скачивает из приложения или с его помощью любые материалы на свой собственный риск и несет личную ответственность за возможные последствия использования указанных материалов, в том числе за ущерб, который это может причинить компьютеру пользователя или третьим лицам, за потерю данных или любой другой вред;
· 7.6.3. Ни при каких обстоятельствах администрация или ее представители не несут ответственность перед пользователем или перед любыми третьими лицами за любой косвенный, случайный, неумышленный ущерб, включая упущенную выгоду или потерянные данные, вред чести, достоинству или деловой репутации, вызванный в связи с использованием приложения.
8. Заключительные положения
8.1. Настоящие Правила составляют соглашение между Пользователем и Администрацией относительно порядка использования Приложения и его функционала и заменяют собой все предыдущие соглашения между Пользователем и Администрацией.
8.2. Настоящие Правила регулируются и толкуются в соответствии с законодательством Российской Федерации. Вопросы, не урегулированные Правилами, подлежат разрешению в соответствии с законодательством Российской Федерации.
8.3. В случае возникновения любых споров или разногласий, связанных с исполнением настоящих Правил, Пользователь и Администрация приложат все усилия для их разрешения путем проведения переговоров между ними. В случае, если споры не будут разрешены путем переговоров, споры подлежат разрешению в порядке, установленном действующим законодательством Российской Федерации.
8.4. Настоящие Правила вступают в силу для Пользователя с момента его присоединения к ним и действуют в течение неопределенного срока.
8.5. Если по тем или иным причинам одно или несколько положений настоящих Правил будут признаны недействительными или не имеющими юридической силы, это не оказывает влияния на действительность или применимость остальных положений.
Размещено на Allbest.ru
Подобные документы
Обзор существующих решений на основе открытых данных. Выбор социальных сетей для извлечения данных. Ограничение геолокации сообщений из социальных сетей. Разработка формата хранения. Визуализация собранных данных методом теплой карты. Архитектура системы.
дипломная работа [1,0 M], добавлен 18.11.2017Современное состояние рынка мобильных приложений. Основные подходы к разработке мобильных приложений. Обоснование выбора целевой группы потребителей приложения. Этапы проектирования и разработки мобильного приложения для операционной системы Android.
курсовая работа [987,1 K], добавлен 27.06.2019Обзор существующих решений на основе открытых данных. Технологии обработки данных и методы их визуализации. Социальные сети для извлечения данных. Ограничение географической локации. Выбор набора и формат хранения открытых данных, архитектура системы.
курсовая работа [129,5 K], добавлен 09.06.2017Обзор мобильной ОС Android. Выбор инструментов и технологий. Проектирование прототипа графического интерфейса. Характеристика и описание пользовательского интерфейса. Проектирование и разработка базы данных. Определение списка необходимых разрешений.
курсовая работа [376,6 K], добавлен 13.09.2017Архитектура операционной системы Android, набор библиотек для обеспечения базового функционала приложений и виртуальная машина Dalvik. Объектно-ориентированный язык программирования Java как инструмент разработки мобильных приложений для ОС Android.
дипломная работа [1,6 M], добавлен 08.07.2015Обзор подходов к разработке музейных приложений с элементами дополненной реальности, формирование требований к ним. Выбор методов разработки приложения, разработка пользовательского интерфейса. Принципы тестирования. Реализация раздела "Распознавание".
дипломная работа [2,8 M], добавлен 03.07.2017Типы социальных сетей, их влияние на современного человека. Тенденции и перспективы развития социальных сетей. Внедрение в повседневную жизнь мобильных интернет-технологий. Анализ социальной сети на примере VK.com - крупнейшей в Рунете социальной сети.
курсовая работа [48,0 K], добавлен 07.08.2013Создание, изучение и разработка приложение на Android. Среда разработки приложения DelphiXE5. Установка и настройка среды программирования. Этапы разработки приложения. Инструменты для упрощения конструирования графического интерфейса пользователя.
курсовая работа [1,6 M], добавлен 19.04.2017Разработка приложений для смартфонов на ОС Android для сети аптек "Фармация". Архитектура операционной системы Android. Архитектура и реализация приложения. Его функциональность. Описание работы мобильного приложения. Расчет затрат на создание продукта.
дипломная работа [1,6 M], добавлен 17.06.2017Анализ методов и средств выявления мнений пользователей социальных сетей. Обзор средств мониторинга и анализа, подбор необходимого программного обеспечения и технических средств. Разработка архитектуры базы данных, реализация программных модулей.
дипломная работа [3,7 M], добавлен 19.01.2017