原创 android studio之ffmpeg初步使用
ffmpeg提供了強大的多媒體處理功能,並且由於跨平臺,所以也可以使用在android 平臺.很多第三方平臺的後臺程序也使用了這個庫,如七牛,趣拍等. 下面我要記錄在android studio中使用它的步驟: 一.配置ndk,
原创 android的viewpager 指示文字過渡效果
有android客戶端隨着viewpager的滑動,它上方的文字出現兩種顏色,左邊一半是一種,右邊一半是一種,其實這是繪製兩層文字,上邊一層clip的效果,見如下代碼: public class TransitTextView e
原创 android 實現車輪滾動效果
晚上下班看到有美女騎車,就想做一個車輪滾動的效果,空間有限,就沒有一直滾,我做的車輪是左右滾動: 效果圖: //車輪半徑 int radius = centerImg.getHeight()/2;
原创 仿酷狗歌詞的滾動效果
先上圖: 我只是做了個假的效果,真正做的時候需要根據當前歌曲的進度判斷歌詞掃描的進度; 原理是:1. 自定義一個歌詞的view,用來控制每行歌詞的掃描進度 2.自定義一個viewGroup,控制歌詞的上下滾動 3.通過
原创 阿里雲(Centos)下配置FTP服務器
每次直接在終端中download東西感覺好慢,晚上沒事研究了一下ftp的配置,以後就可以直接通過ftp上傳了,真好。 1.安裝vsftpd: yum install vsftpd 2.增加用戶名 sudo user
原创 Centos配置nodejs環境
1.官網下載nodejs,linux版的 解壓之,並通過ftp上傳工具上傳至/usr/下 2.環境配置 vi /etc/profile編輯環境變量 結尾添加 export NODE_HOME
原创 android 錄音時報 MediaRecorder: setOutputFile called in an invalid state(1)
因爲code是完全按照google的Demo寫的,覺得比較奇怪。看描述是說setOutputFormat的時候,狀態應該錯亂了, 最後又看了一下google文檔,原因在於google對於設定MediaRecorder是有要求的,寫代碼的時
原创 android的drawText方法的起始點問題
幾個月前做彈幕,需要用到drawText,一開始彈幕的位置總是不太準確,調好之後也沒有記錄,今天有點空餘時間,就寫下來吧 方法: canvas.drawText(“都可能是策略調整”,startX,startY,paint);
原创 輕鬆集成Mybatis框架
衆所周知,Mybatis是一個JAVA輕量級(相對於Hibernate與)的數據庫處理框架,支持xml映射文件、動態SQL。對於習慣了寫複雜SQL語句的開發人員來說,是非常方便的,他摒除了jdbc的冗長寫法,極大地減少了代碼行數。
原创 android文字描邊效果
關於這種效果,網上能找出一堆,主要是兩種方法,一種是一個textview裏嵌套一個textview,另一種是通過雙層繪製的方法.前一種需要兩個textview明顯不優雅,後一種如果在描邊寬度很寬時,會出現顯示不全的問題,究其原因就
原创 android滾動通知的效果
這是很久以前寫的控件,最近離職比較空閒,重新整理一下,發出來供大家批判... 這種效果在淘寶android客戶端上也能看到,首頁就有,就是有多條廣告逐條滾動顯示,不過我這個只是文字,沒有附加圖片,如果需要圖片,這個例子完全不能用
原创 android實現波紋效果
前幾天公司需要做錄音的波紋效果,原理很簡單:定義一個記錄所有同心圓半徑的list,只要動態改變list的size,然後遍歷之,並以每一個半徑繪製圓(drawCircle), 通過在onDraw方法裏面不停invalidate就可以了
原创 Android studio下使用jni(一)
android 下使用jni開發的好處是在複雜運算時提升效率;提高反編譯的難度;可以跨平臺使用,避免重複開發. 下面簡單記錄下android studio下使用jni的基本步驟: 1.配置NDK: (1)安裝NDK,點擊a
原创 android下多線程多任務下載,及斷點續傳
使用了一個第三方庫:filedownloader 引用compile 'com.liulishuo.filedownloader:library:1.6.9'使用: //下載單個文件public static void downloadS
原创 Android app之間通過socket通信
一臺手機作爲server,另一臺作爲client,使用了Mina框架。一. Server端代碼如下: NioSocketAcceptor localNioSocketAcceptor = new NioSocketAcceptor();