• Stars
    star
    433
  • Rank 100,464 (Top 2 %)
  • Language
    Objective-C
  • License
    MIT License
  • Created about 9 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

这是一款类似于印象笔记Evernote的生活类iOS应用——朝夕笔记 Oncenote。我希望能为更多的iOS开发者提供帮助与服务。当然App中还有不少bug和可扩展的功能模块,也希望各位开发者为该项目贡献自己的code力量。大家可以通过点击右上角的fork到自己的Github仓库,也可以点击star实时关注项目进度。

iOS-Oncenote

   这是一款类似于印象笔记Evernote的生活类iOS应用——朝夕笔记 Oncenote。我希望能为更多的iOS开发者提供帮助与服务。当然App中还有不少bug和可扩展的功能模块,也希望各位开发者为该项目贡献自己的code力量。大家可以通过点击右上角的fork到自己的Github仓库,也可以点击star实时关注项目进度。 ##1.项目简介    该应用基本实现了一款笔记类应用的所有基本功能,如使用手机号进行注册登录以及短信验证;密码昵称以及个人资料的修改;笔记的增删改查等功能和笔记分享功能。其中最重要的是使用了Bmob移动后端云作为应用的服务器。对于开发者来说,Bmob可以快速架构应用的服务器后台和数据库,几乎能免去所有服务器端编码工作量。让你的所有个人资料和笔记资料保存在云端,能够随时的对数据进行访问。这可以让你在不同的iOS设备上对自己的笔记进行管理与同步,实现了一款真正可使用的App。
   注意下:该项目我使用Cocoapods进行第三方包管理的,并且在Xcode7下进行开发。运行程序前需要先安装好Cocoapods,并在在项目根目录下执行pod install,pod update命令,来加载更新第三方包。由于Xcode不同版本原因,也建议升级到Xcode7下调试程序。有多人反映说项目编译不成功或者运行时报错,经本人多次测试,代码是没有问题的。原因可能是Xcode版本不同问题或者Cocoapods更新问题。想要了解如何安装Cocoapods,请参考《iOS包管理工具Cocoapods的安装与使用》这篇博客。如果有任何问题,请及时与我联系。还不能进行发布。
   其中我还留出多个接口可供大家开发其他模块:照片功能、提醒功能和群聊功能等等。之后我还会适配到Apple Watch上。如果你有好的idea,也可以在App里面实现。希望在更多开发者的共同努力下,把这个应用开发成一个优秀的产品。让我们一起来超越印象笔记吧!。系统主界面如下:
Alt text ##2.开发指南 ###(1)Bmob后端云简介    Bmob后端云官网:http://www.bmob.cn/.大家可以去注册一个账号,然后进入我的控制台,然后就可以创建应用进行开发了。Bmob非常方便的集成了数据库,你可以可视化的对数据库进行操作和管理。我将在Bmob存储用户信息和笔记资料,并对用户和笔记进行增删改查操作。为了便于开发,大家也可以去学习使用一下Bmob。
Alt text ###(2)数据库设计    目前我的数据库中有2张表。分别是_User表和Note表。这是最简单的数据库设计,大家也可以根据自己的需求设计。数据库设计如下: ######1)_User表 objectId:String
username:String
password:String
mobilePhoneNumberVerified:Boolean
mobilePhoneNumber:String
nickname:String
Password:String
emailVerified:Boolean
email:String
authData:authData
createdAt:Date
updatedAt:Date
ACL:ACL ######1)Note表 objectId:String
userId:String
noteText:String
noteTitle:String
username:String
createdAt:Date ###(3)短信验证    为了防止用户的恶意注册和无效账户,该应用使用手机号进行验证并登陆。一个手机号对应一个账户,不能进行重复注册。其中短信验证接口我使用了mob移动开发者服务平台:http://www.mob.com/#/index中的短信验证码SDK。里面包含了不错的SDK和demo,大家可以研究和试玩一下。但是要注意,进行短信验证时,一个手机号码12小时内只能发送5条验证短信,24小时内只能发送10条验证短信,规定时间内超过该额度就不能收到验证短信了。同时在进行验证的时候,无论你验证输入正确与否,你只能在服务器端验证一次。第二次即使你验证码输入正确,也不能验证成功。这就是短信验证的机制。
Alt text ###(4)分享功能    在该应用中,你可以把笔记分享到QQ好友、QQ空间、微信好友、微信朋友圈、微信收藏、新浪微博、邮件、短信等等。同样的,分享接口我也使用了mob移动开发者服务平台:http://www.mob.com/#/index中的ShareSDK社会化分享。ShareSDK可以分享到国内外主流的几十个社交平台。配置和开发也非常的方便,几十行代码即可。里面也包含了不错的SDK和demo,大家可以研究和试玩一下。
Alt text ###(5)笔记功能    笔记功能当然是该应用的核心功能了。一条笔记包括了标题、正文和创建时间。当你打开App的时候,自动会从服务器同步下你的所有笔记。你可以随时增加一条笔记、删除一条笔记、修改笔记等操作,在服务器端也能进行实时的备份与更新。默认在主界面会显示3条笔记,在全部界面显示所有笔记,在全部界面可以删除笔记。 ###(6)其他业务逻辑    在App中还包括了其他比较繁琐的业务逻辑,比如: ######1)引导页    第一次在手机上安装App时会出现引导页,这和其他App是一样的。之后就再也不会出现引导页了,除非你重新安装。 ######2)登录    用户成功登录一次后,以后每次都可以直接登录自己App账户,而不会再出现登录界面。除非用户在App中点击了退出登录按钮。 ######3)忘记密码    忘记密码功能使用了同样的短信验证机制,如果用户还未注册,需要先注册,然后才能重置密码。 ##3.开发建议    通过查看主界面可以知道,照片功能、提醒功能、群聊功能还没有实现,大家如果有其他比较好的实现方式,也可以进行体现。如果找到了bug,欢迎fix it。希望这个开源项目可以在大家的努力下越来越好,期待你的code。 ##4.运行效果 ###(1)引导页 Alt text

Alt text ###(2)登录界面 Alt text ###(3)注册界面 Alt text ###(4)主界面 Alt text ###(5)所有笔记界面 Alt text ###(6)笔记详情界面 Alt text ###(7)设置界面 Alt text ##5.技术博客 我的个人技术博客:http://blog.csdn.net/chenyufeng1991 。欢迎大家访问!

More Repositories

1

BaiduMap-TrafficAssistant

该项目是基于百度地图SDK开发的一款交通助手App,目前已经上线豌豆荚、魅族应用市场、搜狗手机助手等多个安卓应用市场。希望各位开发者为该项目贡献自己的code力量。This Android App is based on BaiduMap SDK called TrafficAssistant.At present,the app is sold on Peasecod,Meizu App Market,Sougou Assistant. I hope developers could contribute your nice code to this app.
Java
186
star
2

CollectionView

这里我在iOS中使用三种不同的方式实现UICollectionView,也就是一种瀑布流视图。分别使用storyboard、nib和纯代码的方式来实现。
Objective-C
171
star
3

Android-HowOld

该项目是基于Face++开发的一款人脸识别App,通过照片可以检测性别和年龄。目前已经上线豌豆荚、搜狗手机助手等多个安卓市场。希望开发者为该项目贡献自己的code力量。This project is an Android app based on Face++ SDK which could detect people face through photos.The app could recognize people's gender and age.At present,the app is sold on Peasecod,Sougou Assistant. I hope developers could contribute your nice code to this app.
Java
101
star
4

BinaryTree

C语言实现二叉树的基本操作
C
33
star
5

iOS-InterviewQuestion

我会在这里和大家分享自己在面试iOS工程师时遇到的各大公司的面试题。和大家分享,实现共同进步!
16
star
6

LinkedList_HeadNode

C语言实现单链表(带头结点)的基本操作
C
15
star
7

iOS-NetworkRequest

iOS进行网络请求的示例代码
Objective-C
14
star
8

GCD

里面是6个关于GCD实践的案例,包括GCD队列的实现、GCD延时操作、GCD线程组、GCD定时器、GCD信号量和一个综合的案例。
Objective-C
12
star
9

Queue_Array

C语言实现使用静态数组实现循环队列
C
9
star
10

LocationCity

这是一个使用苹果官方提供的CoreLocation来进行定位的Demo,去除了所有其他冗余的功能,直接能显示出当前你所在的城市名称。
Objective-C
9
star
11

JumpAndNavigationCode

在这个Demo中的3个例子,将会使用纯代码来实现UI的简单设计、界面跳转与导航栏的实现,将不会使用storyboard和segue的方式来实现UI和逻辑跳转。
Objective-C
8
star
12

SpaceOfCollectionView

如何设置CollectionView中cell之间的间距详解
Objective-C
8
star
13

FrameAndBounds

区别iOS开发中的frame和bounds的区别
Objective-C
7
star
14

AuthorityOfCameraAndPhoto

优化相机相册第一次授权时的用户体验。
Objective-C
7
star
15

Ethereum-HyperScore

基于以太坊的通用积分系统,后端使用Node.js+Web3.js作为框架来实现,为前端提供RESTful接口,前端可以是移动端或者Web。
JavaScript
6
star
16

MergeSort

C语言实现归并排序
C
6
star
17

DFS

C++实现深度优先搜索
C++
6
star
18

tech_repo

各项技术的知识框架图,使用思维导图的形式呈现。
6
star
19

HeapSort

C语言堆排序
C
5
star
20

Queue_DynamicArray

C语言实现使用动态数组来构建循环链表
C
5
star
21

HitTest

UIView中HitTest:withEvent:方法和pointInside:withEvent方法的使用与响应链。
Objective-C
5
star
22

BinarySearch

C语言实现二分查找。
C
5
star
23

NewsClient

这个一个iOS 新闻客户端的UI模板,使用Swift进行构建,可以作为其他阅读类App的开发模型。提高你的开发效率和进度。
Swift
5
star
24

ShellSort

C语言实现希尔排序
C
4
star
25

AvatarPhoto

设置iOS开发中的圆形头像,该头像可以调用照相机拍摄,也可以从图库中取出。并最终保存到应用程序沙盒中,下次进入应用可以直接读取该头像。
Objective-C
4
star
26

BinarySearchTree

C语言实现二叉查找树(二插排序树)的基本操作。
C
4
star
27

DeleteNodeDoubleLinkedList_HeadList

C语言实现删除带头结点尾结点的双向非循环链表中的一个节点
C
4
star
28

Calendar

使用Objective-C开发的一个控制台程序,模拟的是Mac下的cal命令打印日历。可以打印某个月份、某个年份的日历,和cal命令的输出格式完全一样。
Objective-C
4
star
29

iOS-TaskList

使用iOS开发的一个任务列表,可以输入你需要完成的任务或者事件。使用TableView进行显示,CoreData进行存储。
Objective-C
3
star
30

HeadInsertAndTailInsert_HeadNode

C语言实现头插法、尾插法两种方法来构建带头结点的单链表
C
3
star
31

gcr

gcr
3
star
32

tomcat-centos7-dockerfile

tomcat在centos7上的镜像。
3
star
33

SwiftCallOC

该项目使用了Swift和Objective-C混合编程,然后去请求WebService数据,用来查询手机号码归属地。
Objective-C
3
star
34

BubbleSortLinkedList_HeadNode

C语言实现对带头结点的单链表进行冒泡排序
C
3
star
35

CreateSpringMVCProject

使用IDEA创建的SpringMVC项目。
Java
3
star
36

iOS-UIView-Animation

使用UIView实现iOS的动画。
Objective-C
3
star
37

HashSearch

C语言实现哈希查找
C
3
star
38

UseSourceTree

演示Git可视化工具SourceTree的使用。
Objective-C
3
star
39

Handoff

使用Swift实现了iOS上面的Handoff功能,可以在两台iOS设备上进行协同工作。可以在当前设备关闭的同时在另一台设备上观察到最新内容。
Swift
3
star
40

ImageWithModeCutLayer

实现图片的不同contentMode,以及layer属性,图片裁剪的实现。
Objective-C
3
star
41

ShallowAndDeepCopy

Objective-C深拷贝、浅拷贝理解
Objective-C
3
star
42

ResponderChain

研究iOS开发中的响应链。
Objective-C
3
star
43

Stack_DynamicArray

C语言实现使用动态数组来构建栈结构
C
2
star
44

LinkedList

C语言实现单链表(不带头结点)
C
2
star
45

BinaryTree_CPP

用C++实现二叉树的基本操作。
C++
2
star
46

Objective-C_Protocol

该Demo演示了如何在Objective-C中使用Protocol协议。
Objective-C
2
star
47

InsertSort_CPP

C++实现直接插入排序。
C++
2
star
48

MoreNavigation

使用Navagaton和TabBar来构造项目,并且实现界面栈的重构。
Objective-C
2
star
49

iOS-ActionSheet

使用ActionSheet和AlertController实现弹出提示对话框进行点击选择。
Objective-C
2
star
50

iOS-Delegate

使用委托(Delegate)的方法来进行数据的在界面间传递。
Objective-C
2
star
51

iOS-ParsePushDemo

使用Parse作为后台服务,进行iOS客户端的远程消息推送,该示例也是Parse自带的Demo。
Objective-C
2
star
52

blockchain-recruitment

2
star
53

Objective-C_Category

该Demo演示了如何在Objective-C中使用Category类别对类中的方法进行添加。
Objective-C
2
star
54

DoubleLinkedList_HeadList

C语言实现带头结点尾结点的双向非循环链表的基本操作
C
2
star
55

mysql-centos-dockerfile

MySQL基于centos6的构建。
2
star
56

JudgeNetworkConnect

使用苹果提供的Reachability来判断网络的连接情况。其中的第二种方法可以实时监听网络状态。
Objective-C
2
star
57

SumTo100

快速找出一个数组中的两个数字,让这两个数字之和等于100(特定值)。
C
2
star
58

BitAddAlgorithm

使用位运算符实现两个整数的加法。(递归与非递归两种方式实现)
C++
2
star
59

TabBarTest

在不使用storyboard的情况下,基于nib文件来构建项目,使用代码生成TabBar和Navigation,并进行界面跳转。
Objective-C
2
star
60

Stack_LinkedList

C语言实现使用带头结点的单链表构造栈
C
2
star
61

iOS-Singleton

在iOS开发中实现单例模式的设计与架构。
Objective-C
2
star
62

ReactiveCocoaDemo

学习使用ReactiveCocoa进行响应式编程。
Objective-C
2
star
63

iOS-Notification

这是一个使用Notification进行消息传递的Demo。
Objective-C
2
star
64

MoreGCD

使用iOS原生的GCD接口方法来进行多线程编程。
Objective-C
2
star
65

blockchain-alliance

欢迎大家在群里讨论区块链技术,我们也会不定期发布招聘信息,创建一个良好的区块链技术+招聘的联盟。
2
star
66

Objective-C_Extension

该Demo演示了如何在Objective-C中使用Extension扩展对类中的方法进行添加。
Objective-C
2
star
67

88.-Merge-Sorted-Array

Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2. The number of elements initialized in nums1 and nums2 are m and n respectively.
C++
2
star
68

iOS-ScreenshotsAndIcon-

提交iOS应用到App Store,需要一些截屏和Icon素材,这里面是一些案例。需要在itunes Connect 中进行配置。
2
star
69

26.-Remove-Duplicates-from-Sorted-Array

Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length. Do not allocate extra space for another array, you must do this in place with constant memory.
C++
2
star
70

Waterfall

该项目实现了在iOS下瀑布流的实例,使用Objective-C来实现。目前有很多的App比如购物类应用都使用了瀑布流来实现布局,比较优雅美观易于用户操作。
Objective-C
2
star
71

STL_vector

C++ STL vector学习
C++
1
star
72

NavigationTest

测试界面的跳转与返回,并使用代码实现导航栏的功能。
Objective-C
1
star
73

STL_algorithm

C++ STL algorithm学习
C++
1
star
74

ReverseLinkedList_HeadNode

C语言实现逆序打印带头结点的单链表
C
1
star
75

STL_deque

C++ STL deque学习
C++
1
star
76

48.-Rotate-Image

You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwise).
C++
1
star
77

nginx-centos7-dockerfile

nginx在centos7上的镜像。
1
star
78

FirstAppearOnce

第一个只出现一次的字符
C++
1
star
79

BubbleSort_CPP

C++实现冒泡排序
C++
1
star
80

NodeUser

Node服务器保存用户
JavaScript
1
star
81

7.-Reverse-Integer

Reverse digits of an integer.Example1: x = 123, return 321 Example2: x = -123, return -321
C++
1
star
82

ReverseLeftRightChild

交换二叉树的左右子树。
C++
1
star
83

BinarySearchTree_CPP

C++实现二叉查找树的基本操作。
C++
1
star
84

DoubleLinkedList

C语言实现非循环双向链表(不带头结点)的基本操作
C
1
star
85

BinaryTreeLeafCount

求二叉树的叶子节点的个数。
C++
1
star
86

DeleteLinkedList

删除单链表(不带头结点)中的某个节点。(1)删除pos位置的节点;(2)判断x值是否在链表中,如果存在则删除该节点;
C
1
star
87

JavaLearn

Java学习代码。
Java
1
star
88

HeadInsertAndTailInsert

C实现单链表的头插法和尾插法来构建单链表(不带头结点)
C
1
star
89

tomcat-ubuntu-dockerfile

tomcat基于ubuntu16.04的镜像,比基于centos的镜像更小。
1
star
90

mysql-dockerfile

mysql-dockerfile构建文件
1
star
91

BubbleSortLinkedList

使用单链表(不带头结点)实现冒泡排序
C
1
star
92

tomcat-centos-dockerfile

Tomcat基于centos6的镜像。
1
star
93

ShowHiddenKeyboard

隐藏键盘案例
Objective-C
1
star
94

QuickSort

使用C语言实现快速排序算法
C
1
star
95

SelectSort

C语言实现选择排序
C
1
star
96

Fibonacci

C语言实现斐波那契数列。
C
1
star
97

HeapSort_CPP

C++实现堆排序
C++
1
star
98

STL_queue

C++ STL queue学习
C++
1
star
99

chenyufeng1991.github.io

Write Technology Bolg
JavaScript
1
star
100

Front-N_CPP

找出数组中第N大的数。
C++
1
star