Офлайн-календарь для Android с хотя бы базовым функционалом

Я ищу рекомендацию для приложения календаря Android, которое включает в себя некоторые важные функции.

Загвоздка в том, что мне это нужно для работы с автономными календарями. Офлайн -календари — это календари Android, которые не синхронизируются с Google. Их часто называют местными календарями .

Вот единственные функции, которые требуются (более продвинутые функции приветствуются, но это все, что мне нужно):

  1. Можно добавлять/редактировать/удалять события календаря, в том числе повторяющиеся.
  2. Можно удалять и редактировать отдельные события в повторяющейся серии.
  3. Можно редактировать или удалять все оставшиеся события в серии, не затрагивая предыдущие события.
  4. Не страдает от ошибок.

Кажется простым, правда?

Я тоже так думал, но ничего не нашел, поэтому добавил награду к этому вопросу в надежде получить некоторые рекомендации.

Какое бы приложение я ни использовал, мне нужно иметь возможность успешно выполнять резервное копирование и восстановление календаря в автономном режиме. Это можно сделать в самом приложении или с помощью дополнительного приложения, такого как импорт/экспорт календаря .

Хотя бесплатное программное обеспечение и программное обеспечение с открытым исходным кодом всегда предпочтительнее, ни одно из них не является обязательным. С другой стороны, совместимость с KitKat является обязательным требованием.

До сих пор я часами пробовал все следующие приложения, и ни в одном из них эта базовая функциональность не работает:

  1. Деловой календарь
  2. Деловой календарь Pro
  3. Деловой календарь 2
  4. Деловой календарь 2 Pro
  5. календарь
  6. aCalendar+ Календарь и задачи
  7. Календарь на сегодня
  8. Календарь на сегодня Pro
  9. Солнечный календарь
  10. Календарь Йорте
  11. изотаймер
  12. vcКалендарь Lite

Информация, которую нужно прочитать только тем, кто заинтересован:

В моем тестировании:

  • Business Calendar 2 и Business Calendar 2 Pro, похоже, страдают от серьезной ошибки, которая делает невозможным успешный экспорт/импорт и создает серьезные проблемы с конфиденциальностью/безопасностью. См. https://security.stackexchange.com/questions/124310/are-deleted-offline-calendar-events-in-android-actually-deleted .

  • Программам aCalendar и aCalendar+ Calendar & Tasks неоднократно не удавалось без проблем экспортировать данные календаря. Эти проблемы выявили возможные проблемы с надежностью в том, как aCalendar и aCalendar+ управляют данными пользователя.

  • Sol Calendar не позволял пользователю редактировать или удалять отдельные события в повторяющихся сериях. Кроме того, хотя это и не является обязательным требованием, в пользовательском интерфейсе используется серый текст среднего тона мелким шрифтом на голубом фоне, что делает текст нечитаемым, кроме как в идеальных условиях освещения.

  • Jorte Calendar не зависит от системы календаря Android, что делало его многообещающим. Но это не позволит пользователю завершить повторяющееся событие без восстановления всех удаленных событий в серии. Хотя и не требования:

    • Я обнаружил, что пользовательский интерфейс плохо разработан.
    • Он не разрешает импорт/экспорт .ics (только .csv).
    • Это требует регулярных платежей разработчику только для того, чтобы иметь более одного календаря.
  • isoTimer глючил. У него есть собственный несинхронизируемый режим, что приятно. Но редактирование имени повторяющегося события, казалось бы, меняет название события (для всех событий в серии), но это изменение не отражалось при фактическом просмотре календаря. Кроме того, только для локального резервного копирования вашего календаря пользователь должен платить 1,97 доллара каждый месяц.

  • vcCalendar Lite выглядел многообещающе. Он имеет полностью автономный режим календаря, который даже не использует систему календаря Android. Но при редактировании повторяющегося события для указания конечных данных пользователь теряет все изменения, внесенные в эту серию. Например, если пользователь удалил второе событие в серии, оно внезапно появится снова.

Просто чтобы убедиться, что вам не нужна совместимость с каким-либо конкретным продуктом Google, верно?
@NicolasRaoul Что это за Google, о котором ты говоришь?
@NicolasRaoul IOW, совсем нет ;-)
Возможно, невозможно сделать все с помощью одного приложения. Вы можете попробовать автономный календарь и импорт/экспорт календаря для управления своими календарями, а также любое другое приложение календаря, которое вам нравится.
@vclaw Спасибо! Возможно, мне придется немного переформулировать вопрос, основываясь на ваших отзывах. То, что вы предлагаете, это именно то, что я пытался сделать, но я не нашел ни одного приложения для календаря, которое могло бы успешно выполнять пункты № 1–3 и не содержало бы столько ошибок, которые препятствовали бы успешному экспорту/импорту, даже к третьему партийные инструменты, которые вы упомянули.
@vclaw Хорошо, я обновил формулировку, чтобы она стала лучше. Спасибо еще раз. Знаете ли вы какие-либо инструменты календаря, отвечающие этим основным требованиям?

Ответы (4)

RockPaperLz — я знаю, что ваш пост написан много лет назад, но он все еще имеет значение здесь, в 2022 году! В 2022 году, наконец, избавившись от своего самого первого старого смартфона 2016 года выпуска, я только сейчас узнал о страшном феномене автономного календаря Android, «отмеченного для удаления». Вот как я решил свою ситуацию, которая для таких людей, как вы, обычно не встречается у большинства пользователей Android (которые охотно предоставляют Google свои данные...). Моя история:

В качестве моего первого смартфона я до последнего месяца использовал очень старый Moto G4 (под управлением Android 7). Я всегда пользовался телефоном без учетной записи Google, только с локальным календарем. Я загрузил все приложения, включая Business Calendar 2. В прошлом месяце я перешел на свой новый Pixel 4a под управлением CalyxOS и снова использовал Business Calendar 2. Для переноса телефона я использовал Calendar Import-Export v2.6 из F-Droid для извлечения мой местный календарь из моего старого Moto G4. И, к удивлению, я сталкиваюсь со «старыми удаленными событиями» в моем файле .ics = потому что мой локальный календарь никогда не синхронизировался.

Я рассматривал много разных решений. Я пробовал много способов и много искал (в том числе читал ваш пост здесь!), И много проб и ошибок. Вот секретный соус для моей уникальной ситуации, когда я хотел продолжать использовать Business Calendar 2, но также обойти мусор «deleted=1» в моем никогда не синхронизируемом локальном календаре:

  1. Удалить импорт-экспорт календаря v2.6 из моего старого Moto G4
  2. Установите CalendarImportExport-v27tw.apk на мой старый Moto G4 (см. https://github.com/SufficientlySecure/calendar-import-export/pull/91 ==> https://it-tw.de/android/CalendarImportExport-v27tw .apk )
  3. Используя CalendarImportExport-v27tw.apk, получите хороший экспорт моего локального календаря Moto G4 (Ура! Никакого мусора «deleted=1»!!!)
  4. Получите и запустите свой собственный частный сервер CalDAV = я установил Radicale ( https://radicale.org/v3.html ) на свой Raspberry Pi (который я использую 24x7 для запуска Pi-Hole) ПРИМЕЧАНИЕ = Radicale очень маленький, супер легкий. Нет ничего страшного в том, чтобы работать на моем Пи. Radicale также будет установлен в Windoze... Я тоже нашел этот сайт немного полезным ==> https://qasimk.io/2017/radicale-server/
  5. На моем новом сервере Radicale CalDAV создайте новый пустой календарь
  6. На моем новом Pixel 4a, используя DAVx5 (который уже доступен в CalyxOS), войдите на мой сервер Radicale CalDAV и подключитесь к новому пустому календарю.
  7. Установите Calendar Import-Export v2.6 через F-Droid на мой Pixel 4a (работает под управлением CalyxOS, Android 12) ПРИМЕЧАНИЕ = Меня не волновало, что v2.6 не имеет возможности пропускать события «удалено = 1».. , Теперь у меня есть очищенный входной файл .ics благодаря версии v2.7tw! И мне не нужно было беспокоиться о возможном сбое версии 2.6 в Android 12.
  8. Используя Calendar Import-Export v2.6, я импортировал очищенный файл .ics, созданный с помощью CalendarImportExport-v27tw.apk, и направил импорт в мой новый пустой календарь.
  9. Используя DAVx5, синхронизируйте мой Pixel 4a с моим сервером CalDAV = это «заполнило» мой календарь на моем сервере CalDAV моим очищенным календарем (включая так называемые «дубликаты» = см. ниже...)

С помощью этих шагов я выполнил следующее:

  1. Я получил чистые данные из моего "грязного" местного календаря = никакого мусора "deleted=1"!

  2. Мне удалось загрузить данные календаря в новый телефон.

  3. Мой новый телефон теперь никогда не должен попадать в сумеречную зону «deleted=1», потому что:

    Более новые версии ОС Android могут не страдать от «deleted=1».

    ИЛИ ЖЕ

    Теперь, когда у меня есть собственный сервер CalDAV, я могу безопасно синхронизировать свой календарь «локально», и с помощью синхронизации события «удалено = 1» уходят до свидания...

  4. У меня есть резервная копия моего календаря на моем сервере CalDAV, и мой календарь по-прежнему является, так сказать, «локальным» и все еще приватизирован, поскольку он не отправляется куда-то еще при синхронизации.

  5. Теперь я могу поделиться своим календарем с другими устройствами (телефоном жены, своим компьютером и т. д.), если захочу.

  6. Я все еще могу создать резервную копию календаря в своем Pixel 4a, используя Calendar Import-Export v2.6.

Да, я попытался импортировать мой очищенный файл .ics непосредственно на мой сервер CalDAV - это не сработало, так как я не мог выбрать дублирующую обработку "Не проверять наличие дубликатов вообще, всегда вставлять все импортированные события" = мне нужна была мощность Calendar Import-Export v2.6, чтобы импортировать все мои события, даже события, которые кажутся дубликатами (которые выглядели похожими, но на самом деле не были точными дубликатами, и я хотел их!).

Ваши полезные сообщения всегда приветствуются и ценятся, независимо от возраста исходного вопроса! :) Спасибо за ваше сообщение. Это очень полезно. Проголосовал. Не могли бы вы добавить в свой пост версии сервера Radicale CalDAV и DAVx5, которые вы использовали?
По какой-то причине я не могу отредактировать свой ответ = может быть, я слишком новичок здесь? Спасибо за голосование! На момент написания этой статьи я установил Radicale v3.1.5 и использовал DAVx5 v4.1.1-ose (www.davx5.com, доступен на F-Droid).

Для тишины некоторое время я использую Личный Календарь . Я не был уверен, что он поддерживает все ваши требования, поэтому я провел несколько быстрых тестов:

  1. Автономный календарь: Да, это была причина, по которой я его использовал. С помощью CalDAV-Sync я также могу синхронизировать его с моим почтовым провайдером (вместо облака Google).
  2. Резервное копирование: Экспорт в файл *.ics.
  3. Редактировать события: Да
  4. Редактировать события в повторяющейся серии: попробовал, и это сработало, удаление серии с отредактированными событиями было немного сложным.
  5. Изменить оставшиеся события: Тест сработал.
  6. Никаких ошибок: работает как шарм. Единственная проблема, с которой я столкнулся, заключается в том, что несвободная версия постоянно проверяет лицензию (каждую неделю или около того) и поэтому в данный момент нуждается в WLAN.
Спасибо большое. Разработчик, возможно, случайно ограничил свое приложение очень узкой локалью. Если в приложении есть форма обратной связи, можете ли вы попросить его сделать ее доступной везде?
@RockPaperLizard - Жаль, не знал. Вы можете связаться с ним через его домашнюю страницу: www.miwiapps.de адрес электронной почты, который вы можете найти на странице выходных данных. Некоторое время назад он даже прислал мне новейший файл *.apk для тестов. Если язык будет проблемой, я с радостью помогу вам.
@RockPaperLizard — у меня был короткий контакт по электронной почте с разработчиком, и он был готов опубликовать его и в других странах. После того, как магазин игр синхронизирует информацию о приложении, вы сможете загрузить и протестировать его.
Благодарю вас! Вы оба такие! Я только что понял. Я вижу, что для экспорта требуется разумная единовременная оплата (это нормально), но прежде чем я заплачу, не могли бы вы создать новый офлайн-календарь, внести в него 2 события, а затем удалить первое. Затем выполните экспорт и посмотрите, содержит ли экспорт 1 или 2 события. Конечно, он должен иметь только 1, но Business Calendar 2 Pro не справляется с этим простым тестом. Итак, прежде чем я куплю еще одно бесполезное приложение, у вас есть минутка, чтобы быстро его попробовать?
@RockPaperLizard - Вы правы, здесь то же самое, удаленные события останутся в файле экспорта ics. Возможно, это проблема с функцией экспорта Android, я нашел другие сообщения разработчиков на эту тему. Похоже, вам придется продолжить поиск, извините. Возможно, тогда вам придется работать с отдельным решением для резервного копирования, или, конечно, вы можете настроить сервер OwnCloud и синхронизировать свой календарь с ПК. Я сам в конечном итоге синхронизировал календарь с моим провайдером электронной почты в качестве резервной копии, что дает больше конфиденциальности, чем облако Google.
Большое спасибо, Мартин. Стыдно подходить так близко! Не могли бы вы поделиться, какого провайдера электронной почты вы используете для резервного копирования своего календаря? Я полностью понимаю, если это то, чем вы не хотите делиться.
@RockPaperLizard - Это не секрет, но я сомневаюсь, что это вам сильно поможет, потому что это немецкий сайт www.gmx.net . На самом деле любой провайдер, поддерживающий протокол CalDav , может быть использован для синхронизации календаря.
Еще раз спасибо за вашу помощь, Мартин. Награда заканчивается через 2 часа, и если кто-то другой не опубликует лучший ответ, я награжу вас наградой. В настоящее время я не собираюсь отмечать его как принятый ответ из-за проблемы с экспортом, и я хочу оставить его открытым на случай, если кто-то найдет приложение, отвечающее всем критериям. Но большая награда, скорее всего, будет вашей, и, что более важно, моя искренняя благодарность! :-)
Вам присуждена награда! И, конечно же, мой плюс! :-)
@RockPaperLizard - Надеюсь, что рано или поздно вы найдете то, что ищете. Большое спасибо!

Я думаю, что Etar заслуживает упоминания.

Редактировать: я заметил удаленные события (даже много лет назад) в моем экспорте .ics, как вы упомянули. Я провел расследование и сначала подумал, что проблема возникла не с Etar, поэтому я ошибочно подумал, что виноват Samsung S Planner. Однако я попытался воспроизвести проблему еще раз и обнаружил, что возникновение этой проблемы, вероятно, зависит от версии системного com.android.providers.calendarприложения (Calendar Storage). Я обновил ответ на security.stackexchange.com , чтобы отразить это.

В некоторых других приложениях (например, Samsung S Planner) я заметил ту же проблему с экспортом, о которой вы упоминаете (об удаленных событиях, которые все еще появляются в экспорте календаря). Etar не страдает от той же проблемы, удаленные события должным образом очищаются (даже если вы используете локальные / автономные календари, а не облачные календари).

Проблему можно обнаружить, используя приложение импорта-экспорта календаря и просмотрев счетчик событий. После удаления события у меня оно не уменьшилось при использовании S Planner, но уменьшилось при использовании Etar. Так что Etar правильно убирает.

Связанный:

Добро пожаловать, Джелле! И спасибо за отличный ответ!

Одним из лучших приложений для управления личной информацией FOSS на Android являются Simple Mobile Tools . Например , Simple Calendar Pro ( com.simplemobiletools.calendar.proдоступно @ F-Droid ) может импортировать дни рождения из контактов. Или вы можете управлять ими вручную. Использую от F-Droid на LineageOS 18.1. Оно намного богаче, чем стандартное org.lineageos.etarприложение «Календарь» в ПЗУ.