發佈了Android的App,我要開源幾個組件!

作了一款App,原本是畢業設計可是畢業的時候尚未作完,由於大部分時間都改論文去了,大家都懂的。如今畢業了在工做之餘把App基本上作完了。爲何說基本上呢,由於我以爲還有不少功能還沒實現,還要不少bug,還要不少東西有待研究。我還會繼續更(ren)新(jian)版(bu)本(chai)的,即便沒多少人下載~!java

原本當時命題的時候想的是作學校範圍內的照片筆記App,由於畢竟咱們上課的筆記都是用手機拍下來的,有時候還會錄像,而後會有個小小的社交,相似超級課程表那樣的,可是其目的是分享本身上課的時候拍攝的筆記,考試前復(yu)習的時候更方便。可是時間不夠沒有作成誒,服務器那塊PHP也基本上忘的差很少了,並且我也沒有服務器。。。android

App

http://android.myapp.com/myapp/detail.htm?apkName=com.yydcdut.notegit

(能夠直接下載)github

目前就上了應用寶和Flyme的商店,由於身份證拿回來老家處理檔案和戶口去了,因此無法申請開發者。數據庫

應用信息

習慣了用手機拍照來記錄一些重要的事情和資料?服務器

拍完照以後回過頭卻早已忘記當初拍攝的緣由和照片的意義,只恨當初無法在照片上寫上一筆!mvc

各類凌亂的照片沒法歸類整理?想起一張照片卻又怎麼都找不到?app

拍攝的照片不是美美的?拍攝的照片不清晰?ide

換了手機照片和筆記都無法導過來?學習

PhotosNoter - 就是這樣一款:

~能幫你快速整理和分類你的照片

~能在第一時間將照片分類,永遠不會忘記拍下它的理由

~經過不一樣的角度來玩轉你的照片

~照片不是美美的話能夠濾鏡一下下

~在圖片上寫寫畫畫

~第三方登陸,雲備份

~想把重要的照片和筆記分享給朋友

大概功能

App實際上能夠說是一個相冊,只是在相冊的基礎上加上了筆記這塊功能。

  • 相冊功能(ImageLoader加載圖片)
  • 分類功能
  • 拍照功能(系統和本身寫的)
  • 本地上傳圖片(系統的,後期打算本身寫)
  • 文字編輯
  • 濾鏡(Camera360 EDIT SDK)
  • 文字編輯

App中我認爲的乾貨

  1. 相機的狀態機(狀態機不對很容易崩哦~還要參數部分)。
  2. 照片分爲兩種,一個是大圖,一個是小圖,小圖是相冊界面縮略圖的時候加載的,大圖是能夠照片詳情頁面的時候加載的。
  3. 每一個筆記的數據庫ID都是某個分類的外鍵。
  4. 圖片處理,這是一個老生常談的了。可是在App中,發現不少這方面的問題我尚未解決。好比紅米1s後置攝像頭800W,那麼拍一張圖是3M左右,可是Camera的照片的0度是咱們正常手機視角的90度。那麼咱們須要把這個3M的圖片給翻轉過來,又不想失分辨率,誒,java臣妾作不到啊!那麼如今的解決辦法是不去拍攝800W像素的,拍大概400-500W像素的不會OOM的。
  5. 沙盒。每次拍完照都是先把數據放到沙盒數據庫中,而後再到服務中去做圖,作完的話再從數據庫中刪除掉。做圖的Service是和Camera那個Activity綁定的(bind方式),當再也不拍照的時候就退出了Service,而後回到相冊界面的時候會去判斷沙盒數據庫中是否有沒有作完的圖,沒有作完的話另外啓一個進程的Service繼續做圖。
  6. 圖片處理完以後(好比在Service中作完了圖以後)通知更新界面,用的是廣播。
  7. 高斯模糊(網上找的),若是圖大的話會很是慢。
  8. activity退出和進入的動畫。這塊弄了好久,主要是想模仿Android5.0的那種,可是有些界面作出來超級卡,卡到爆。
  9. 主題設置,沉浸式狀態欄(5.0)。
  10. (後續添加GridView的動畫)。
  11. (文字編輯中的Emoji和語音輸入)。
  12. (等等等等。。。。。。)

大概想到的只有那麼多,在寫App的過程當中學習到了許多,去看了許多開源的東西,真的學到了好多。因此我也想要開源!

我也要開源

由於整個App技術含量不高,有不少控件都是開源的直接拿來用的,可是在App中我也作了許多控件,打算把他們開源出來。

SlideAndDragListView

https://github.com/yydcdut/SlideAndDragListView

歡迎Star!

這個已經放到github上了,可是我尚未整理好,如今抽離出來功能都已經實現了,bug也被我改掉了很多,目前我這邊簡單測試的話基本上沒有什麼bug了。接下來我要作的是把控件抽成一個Module。

好消息:我註釋寫的很詳細。

不要問我爲何那麼詳細,我不會告訴你青軸鍵盤碼起來根本停不下來。

主要功能

  1. item能夠側滑,側滑以後顯示出來的兩個button可點擊。
  2. item能夠拖放移動。

大概實現

  1. ListView中的setOnItemClick()和setOnItemLongClick()都被我覆蓋掉了,由於和手勢衝突,因此我就本身另外在onTouch中本身定義了LongClick事件。
  2. 側滑是Scroller實現的。
  3. 拖放是經過OnDragListener實現的。

Camera&Camera2 MVC

這部分的Camera2部分都尚未寫,只寫了Camera部分。

https://github.com/yydcdut/Camera-Camera2-MVC

當上面那個弄完以後我就開始弄這個辣。到時候另啓一篇文章吧,由於Camera2真的很棒。(N5,N6上基本上支持因此參數,可是像魅族,小米那些5.0的Rom大部分都不支持,仍是Legacy-Level的)。

目錄結構:

我是天王蓋地虎的分割線

我不敢直接開源App,由於我以爲App寫的並非那麼的好,並且還要不斷的更新版本。可是後面仍是回考慮開源出來的。

https://github.com/yydcdut/SlideAndDragListView
https://github.com/yydcdut/Camera-Camera2-MVC

謝謝你們,散花~歡迎到github上star喲~

相關文章
相關標籤/搜索