Convert Figma logo to code with AI

Automattic logosimplenote-android

Simplenote for Android

1,769
299
1,769
135

Top Related Projects

5,241

Think fearlessly with end-to-end encrypted notes and files. For issues, visit https://standardnotes.com/forum or https://standardnotes.com/help.

45,034

Joplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.

22,585

The Markdown-based note-taking app that doesn't suck.

27,112

Build your personal knowledge base with Trilium Notes

32,499

A privacy-first, open-source platform for knowledge management and collaboration. Download link: http://github.com/logseq/logseq/releases. roadmap: http://trello.com/b/8txSM12G/roadmap

1,676

A plain text note-taking assistant

Quick Overview

Simplenote-android is the official Android app for Simplenote, a cross-platform note-taking service. It provides a clean, minimalist interface for creating, editing, and syncing notes across devices. The app is open-source, allowing developers to contribute and customize the application.

Pros

  • Simple and intuitive user interface
  • Cross-platform synchronization with other Simplenote apps
  • Open-source, allowing for community contributions and customization
  • Markdown support for rich text formatting

Cons

  • Limited advanced features compared to some competing note-taking apps
  • Requires a Simplenote account for full functionality
  • May not be suitable for users who need complex organization or extensive formatting options

Getting Started

To get started with the Simplenote Android app:

  1. Clone the repository:

    git clone https://github.com/Automattic/simplenote-android.git
    
  2. Open the project in Android Studio.

  3. Build and run the app on an emulator or physical device.

  4. To contribute, create a new branch, make your changes, and submit a pull request.

Note: This is not a code library, so code examples are not applicable.

Competitor Comparisons

5,241

Think fearlessly with end-to-end encrypted notes and files. For issues, visit https://standardnotes.com/forum or https://standardnotes.com/help.

Pros of Standard Notes

  • End-to-end encryption for enhanced security and privacy
  • Cross-platform compatibility (Android, iOS, desktop, web)
  • Open-source with a strong focus on user data ownership

Cons of Standard Notes

  • Less intuitive user interface compared to Simplenote
  • Fewer built-in formatting options in the free version
  • Steeper learning curve for new users

Code Comparison

Standard Notes (TypeScript):

export function decryptNoteContents(note: Note): Promise<DecryptedNote> {
  return new Promise((resolve, reject) => {
    const decrypted = SFItemTransformer.decryptItem(note);
    resolve(decrypted);
  });
}

Simplenote (Java):

public Note decryptNote(Note encryptedNote) {
    String decryptedContent = Crypto.decrypt(encryptedNote.getContent());
    encryptedNote.setContent(decryptedContent);
    return encryptedNote;
}

Both repositories implement note decryption, but Standard Notes uses TypeScript and promises, while Simplenote uses Java and synchronous methods. Standard Notes' approach allows for better asynchronous handling, which can be beneficial for performance in larger applications.

45,034

Joplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.

Pros of Joplin

  • Cross-platform support (desktop, mobile, terminal)
  • End-to-end encryption for enhanced security
  • Rich text editing and Markdown support

Cons of Joplin

  • More complex user interface
  • Steeper learning curve for new users
  • Larger app size due to additional features

Code Comparison

Simplenote-android (Java):

public class Note implements Parcelable {
    private String simperiumKey;
    private String content;
    private Calendar creationDate;
    private Calendar modificationDate;
    private String shareURL;
}

Joplin (TypeScript):

interface Note {
    id: string;
    parent_id: string;
    title: string;
    body: string;
    created_time: number;
    updated_time: number;
    is_conflict: number;
    latitude: number;
    longitude: number;
    altitude: number;
    author: string;
    source_url: string;
    is_todo: number;
    todo_due: number;
    todo_completed: number;
    source: string;
    source_application: string;
    application_data: string;
    order: number;
    user_created_time: number;
    user_updated_time: number;
    encryption_cipher_text: string;
    encryption_applied: number;
    markup_language: number;
    is_shared: number;
    share_id: string;
}

The code comparison shows that Joplin's Note interface is more comprehensive, including additional fields for geolocation, todo functionality, and encryption. Simplenote-android's Note class is simpler, focusing on basic note properties.

22,585

The Markdown-based note-taking app that doesn't suck.

Pros of Notable

  • Cross-platform support (Windows, macOS, Linux)
  • Markdown-centric with advanced features like KaTeX and mermaid diagrams
  • Extensible architecture with plugin support

Cons of Notable

  • Electron-based, potentially higher resource usage
  • Steeper learning curve for non-technical users
  • Lacks mobile apps (Android/iOS)

Code Comparison

Notable (TypeScript):

export const noteActions = {
  new: () => async (dispatch: Dispatch) => {
    const note = await Note.create();
    dispatch(actions.add(note));
    dispatch(actions.select(note.filePath));
  },
  // ...
};

Simplenote Android (Kotlin):

class NoteListFragment : Fragment() {
    private lateinit var viewModel: NoteListViewModel

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        viewModel = ViewModelProvider(this).get(NoteListViewModel::class.java)
        // ...
    }
}

Notable uses a more functional approach with TypeScript, while Simplenote Android employs Kotlin with Android-specific patterns. Notable's codebase is geared towards desktop environments, whereas Simplenote Android is tailored for mobile development.

27,112

Build your personal knowledge base with Trilium Notes

Pros of Trilium

  • More advanced note organization with hierarchical structure and custom attributes
  • Supports scripting and automation for enhanced functionality
  • Offers end-to-end encryption for better privacy and security

Cons of Trilium

  • Steeper learning curve due to more complex features
  • Less polished mobile experience compared to Simplenote
  • Requires self-hosting for full functionality, which may be challenging for some users

Code Comparison

Trilium (JavaScript):

const note = await becca.getNote(noteId);
note.setLabel('myLabel', 'myValue');
await note.save();

Simplenote Android (Kotlin):

val note = Note()
note.content = "New note content"
noteStore.saveNote(note)

Both projects use different programming languages and approaches. Trilium's code snippet demonstrates its more advanced features like custom attributes, while Simplenote Android focuses on simplicity and ease of use.

Trilium is a feature-rich, self-hosted note-taking application with powerful organization and scripting capabilities. Simplenote Android, on the other hand, is a streamlined, cloud-based note-taking app focused on simplicity and cross-platform synchronization. The choice between the two depends on the user's needs for advanced features versus ease of use and mobile accessibility.

32,499

A privacy-first, open-source platform for knowledge management and collaboration. Download link: http://github.com/logseq/logseq/releases. roadmap: http://trello.com/b/8txSM12G/roadmap

Pros of Logseq

  • Open-source knowledge management and collaboration platform with advanced features like graph view and bidirectional linking
  • Supports multiple data formats (Markdown, Org-mode) and local-first approach for data ownership
  • Extensible with plugins and themes, allowing for customization

Cons of Logseq

  • Steeper learning curve due to its advanced features and unique structure
  • Less focused on mobile experience compared to Simplenote's dedicated Android app
  • May be overwhelming for users seeking a simple note-taking solution

Code Comparison

Logseq (ClojureScript):

(defn get-block-property [block property-name]
  (when-let [properties (:block/properties block)]
    (get properties property-name)))

Simplenote (Kotlin):

fun getNoteContent(noteId: String): String? {
    return noteDB.getNote(noteId)?.content
}

The code snippets demonstrate different approaches:

  • Logseq uses ClojureScript and focuses on block-level properties
  • Simplenote uses Kotlin and implements straightforward note retrieval

Both projects are open-source, but Logseq offers a more comprehensive knowledge management system, while Simplenote provides a simpler, mobile-focused note-taking experience.

1,676

A plain text note-taking assistant

Pros of zk

  • Written in Rust, offering better performance and memory safety
  • Designed as a command-line tool, providing flexibility for power users
  • Supports Zettelkasten method, ideal for knowledge management and research

Cons of zk

  • Limited to command-line interface, less user-friendly for non-technical users
  • Smaller community and fewer contributors compared to Simplenote Android
  • Lacks cross-platform synchronization features

Code Comparison

zk (Rust):

pub fn new_note(content: &str) -> Note {
    Note {
        id: Uuid::new_v4(),
        title: extract_title(content),
        content: content.to_string(),
        created_at: Utc::now(),
        modified_at: Utc::now(),
    }
}

Simplenote Android (Kotlin):

fun createNote(content: String): Note {
    return Note(
        id = UUID.randomUUID().toString(),
        content = content,
        creationDate = Date(),
        modificationDate = Date()
    )
}

The code snippets show similar functionality for creating notes, but zk uses Rust's struct syntax while Simplenote Android uses Kotlin's data class constructor. zk includes a separate title field, reflecting its focus on the Zettelkasten method.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Simplenote for Android

Simplenote for Android. Learn more at Simplenote.com.

How to Configure

  • Clone repository.
git clone https://github.com/Automattic/simplenote-android.git
cd simplenote-android
  • Import into Android Studio using the Gradle build option. You may need to create a local.properties file with the absolute path to the Android SDK. Sample local.properties:
sdk.dir=/Applications/Android Studio.app/sdk
  • Install debug build with Android Studio or command line with:
./gradlew Simplenote:installDebug
  • Create a new account in order to use a development build. Logging in with an existing Simplenote account won't work. Use the account for testing purposes only as all note data will be periodically cleared out on the server.

Note: Simplenote API features such as sharing and publishing will not work with development builds.

Android Wear

To properly install the wear app, run ./gradlew assembleRelease to package up the app and then adb install with the generated .apk to the host device.

If you want to debug the Wear app, simply connect the device to adb and then run the Wear project from Android Studio.

Tests

To run the test suite, execute the following gradle command:

./gradlew testRelease

Setup Credentials

Simplenote is powered by the Simperium Sync'ing protocol. We distribute testing credentials that help us authenticate your application, and verify that the API calls being made are valid. Once the Simperium account is created, you can register an app and access the APP ID and necessary API keys.

⚠️ Please note → We're not accepting any new Simperium accounts at this time.

After you've created your own Simperium application, you can edit the fields simperiumAppId and simperiumAppKey in the file Simplenote/gradle.properties.

This will allow you to compile and run the app on a device or a simulator. Please note that this will only work the Simperium account credentials, no other Simplenote account will work.

Note: Simplenote API features such as sharing and publishing will not work with development builds.

Contributing

Read our Contributing Guide to learn about reporting issues, contributing code, and more ways to contribute.