All Projects → yydcdut → Photonoter

yydcdut / Photonoter

📓Material Design风格的开源照片笔记。(MVP+Dagger2+RxJava+AspectJ+Dex处理)

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Photonoter

Geeknews
📚A pure reading App based on Material Design + MVP + RxJava2 + Retrofit + Dagger2 + Realm + Glide
Stars: ✭ 3,496 (+119.6%)
Mutual labels:  rxjava, mvp-architecture, mvp-android, material-design
Mvpandroid
Sample app to demonstrate MVP (Model - View - Presenter) architecture in android
Stars: ✭ 91 (-94.28%)
Mutual labels:  rxjava, rxandroid, mvp-architecture, mvp-android
Android Clean Architecture Boilerplate
Apply clean architecture on Android
Stars: ✭ 141 (-91.14%)
Mutual labels:  rxjava, rxandroid, mvp-architecture, mvp-android
T Mvp
Android AOP Architecture by Apt, AspectJ, Javassisit, based on Realm+Databinding+MVP+Retrofit+Rxjava2
Stars: ✭ 2,740 (+72.11%)
Mutual labels:  rxjava, mvp-architecture, aspectj, material-design
Kotlin Life
App界的一股清流 音视频vr应有尽有 完全按照Material design规范设计的App (written with java and Kotlin)
Stars: ✭ 864 (-45.73%)
Mutual labels:  rxjava, rxandroid, mvp-architecture, material-design
Androidbasemvp
🚀一个快速搭建MVP+RxJava2+Retrofit 基础框架,主要是封装有Http网络请求、日志、缓存、加载等待、toast、页面状态布局管理、权限、RxBus、Glide图片加载等组件,方便快速开发新项目、减少开发成本。
Stars: ✭ 184 (-88.44%)
Mutual labels:  rxjava, rxandroid, mvp-architecture, mvp-android
Kotlinrxmvparchitecture
Clean MVP Architecture with RxJava + Dagger2 + Retrofit2 + Mockito + Fresco + EasiestGenericRecyclerAdapter using Kotlin. Includes Unit Tests(Kotlin Tests)!
Stars: ✭ 94 (-94.1%)
Mutual labels:  rxjava, rxandroid, mvp-architecture, mvp-android
Todo
To-Do application written on Kotlin with RxJava and Dagger 2.
Stars: ✭ 61 (-96.17%)
Mutual labels:  rxjava, rxandroid, mvp-android
Readhub
Readhub AndroidClient
Stars: ✭ 40 (-97.49%)
Mutual labels:  rxjava, rxandroid, mvp-architecture
Android Movies App
Stars: ✭ 329 (-79.33%)
Mutual labels:  rxjava, mvp-architecture, material-design
Android-Model-View-Presenter
No description or website provided.
Stars: ✭ 26 (-98.37%)
Mutual labels:  rxandroid, mvp-architecture, mvp-android
Android Kotlin Mvp Architecture
This repository contains a detailed sample app that implements MVP architecture in Kotlin using Dagger2, Room, RxJava2, FastAndroidNetworking and PlaceholderView
Stars: ✭ 615 (-61.37%)
Mutual labels:  rxjava, mvp-architecture, mvp-android
Baby
一个私密社交APP,采用Dagger2+Rxjava+LeanCloud+环信+MVP+Tinker进行开发。
Stars: ✭ 687 (-56.85%)
Mutual labels:  rxjava, mvp-architecture, material-design
AndroidMVPArchitecture
Android MVP architecture sample project with or without RxJava and Dagger2 and Kotlin
Stars: ✭ 78 (-95.1%)
Mutual labels:  rxjava, rxandroid, mvp-architecture
Fineract-CN-mobile
DEPRECATED project - Check the Apache fineract-cn-mobile project instead
Stars: ✭ 17 (-98.93%)
Mutual labels:  rxjava, rxandroid, mvp-architecture
AndroidTutorials
Ejemplos Android [Dagger2,RxJava,MVP,Retrofit2,SQLite]
Stars: ✭ 22 (-98.62%)
Mutual labels:  rxjava, rxandroid, mvp-android
Mvpframes
整合大量主流开源项目并且可高度配置化的 Android MVP 快速集成框架,支持 AndroidX
Stars: ✭ 100 (-93.72%)
Mutual labels:  rxjava, rxandroid, mvp-android
Afmall
A pure shopping App based on Kotlin + ARouter + MVP + RxJava2 + Retrofit + Dagger2 + 七牛云 + Glide
Stars: ✭ 20 (-98.74%)
Mutual labels:  rxjava, rxandroid, mvp-android
Supermvp
MVP“美”图+新闻+天气预报+Material+RxJava3+Retrofit2+Glide4+AndroidX+Leakcanary+Butterknife
Stars: ✭ 763 (-52.07%)
Mutual labels:  rxjava, mvp-architecture, mvp-android
Elephant
Elephant is PHPHub Community Android unofficial client, base on Material Design + MVP+RxJava+Retrofit .
Stars: ✭ 949 (-40.39%)
Mutual labels:  rxjava, rxandroid, material-design

照片笔记 PhotoNoter

Material Design风格的开源照片笔记。

GitHub release License Build Status

下载:

编译

'signingConfig.storeFile' does not exist

如果编译不过,错误日志是:

Error:A problem was found with the configuration of task ':app:packagexxxxDebug'.

File ‘/xxxxxxxxxx/debug.keystore' specified for property 'signingConfig.storeFile' does not exist.

将/app/build.gradle中的下面代码注释或者删除

signingConfigs {
	debug {
		//storeFile file("debug.keystore")
	}
}

release.properties (No such file or directory)

如果编译不过,错误日志是:

What went wrong:

A problem occurred evaluating project ':app'.

xxxxxxxx/app/release.properties (No such file or directory)

将/app/build.gradle中的下面代码注释或者删除

signingConfigs {
	release {
		//Properties p = new Properties()
		//p.load(new FileInputStream(project.file('release.properties')))
		//storeFile file(p.storeFile)
        //storePassword p.storePassword
		//keyAlias p.keyAlias
		//keyPassword p.keyPassword
	}
}

NDK

如果编译不过,错误日志是跟NDK有关的:

开发环境的ndk版本是android-ndk-r10e

Others

如果还是不行,请将错误日志issues,谢谢!

应用截图

动画gif

界面

Dribbble

有些界面是模仿Dribbble网站App效果图实现的:

Dribbble

技术点

  1. 整体项目MVP结构(1.2.0版本之前是 MVC )。
  2. Dagger2 。
  3. 相机部分,API >= 21使用 Camera2 ,API < 21使用 Camera 。
  4. 相机的状态机,聚焦状态机。
  5. 照片缓存分为两种,一个是大图,一个是小图,小图是相册界面缩略图的时候加载的,大图是查看图片的时候加载的。
  6. 图片处理。但是在 App 中,发现很多这方面的问题我还没有解决。比如红米1s后置摄像头800W,那么拍一张图是3M左右,但是 Camera 的照片的0度是我们正常手机视角的90度。那么我们需要把这个3M的图片给翻转过来,但是呢又不想失分辨率,就会导致OOM!那么现在的解决办法是设置EXIF信息,然后显示图片通过 Exif 信息去旋转角度。
  7. 沙盒。每次拍完照都是先把数据放到沙盒数据库中,然后再到服务中去作图,做完的话再从数据库中删除掉。作图的 Service 是和 Camera 那个 Activity 绑定的(bind方式),当不再拍照的时候就退出了 Service,然后回到相册界面的时候会去判断沙盒数据库中是否有没有做完的图,没有做完的话另外启一个进程的 Service 继续作图。
  8. Activity 退出和进入的动画。这块弄了很久,主要是想模仿 Android5.0 的那种,但是有些界面做出来超级卡。
  9. 一些 UI 的动画,比如 “ 意见反馈”、 “ 语音输入” 这里面的动画。
  10. 主题设置,沉浸式状态栏(Android 5.0)。
  11. 切换主题。
  12. 可以滑动 item 和可以拖放 item 的 ListView(SlideAndDragListView)。
  13. Android 原生平台的 Markdown,支持 EditText 编辑实时预览 (RxMarkdown)。
  14. RxJava + RxAndroid(RxCategory/ RxPhotoNote/ RxSandBox/ RxFeedBack/ RxUser)。
  15. dex分包处理。第一次开启App的时候 install dex + dexopt 时间很长,所以第一次开启的时候另启进程专门做这个事情,防止主线程因为时间长而发生ANR。以及自己去配置主dex是为了以防自动分包ClassNotFound异常。
  16. Dex自动分包脚本。
  17. 使用 AOP 进行 Android 6.0 权限适配。
  18. NDK && AIDL。

更新版本说明

ChangeLog

致谢

License

Copyright 2015 yydcdut

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].