原创 Android6.0,7.0拍照和相冊異常,運行時權限

關於Android7.0調用系統相機拍照、訪問相冊的一些問題: 在Android6.0中Google提出了動態申請權限的Api,調用相機拍照,訪問SDcard等操作都需要先申請對應的權限如下: <uses-permissio

原创 Android MediaPlayer+SurfaceView播放視頻 (異常處理)

MediaPlayer,顧名思義是用於媒體文件播放的組件。Android中MediaPlayer通常與SurfaceView一起使用,當然也可以和其他控件諸如TextureView、SurfaceTexture等可以取得holder,用

原创 AndroidStudio2.2+環境下的JNI環境搭建

[cpp] view plain copy 在Eclipse環境下進行JNI環境配置非常的複雜,需要記憶的東西很多,相比較,IDE變爲AS之後整個過程都變的更簡單,AS2.2版本發佈後讓我覺得很有用的更新內容之一就是NDK

原创 Android:你要的WebView與 JS 交互方式

前言 現在很多App裏都內置了Web網頁(Hyprid App),比如說很多電商平臺,淘寶、京東、聚划算等等,如下圖 上述功能是由Android的WebView實現的,其中涉及到Android客戶端與Web網頁交互的實現今天我將全面介

原创 AIDL靈活運用,避免創建多個Service

    前面轉載了一篇AIDL的入門文章,從那時開始接觸的AIDL。  AIDL的使用一般是一個客戶端,一個服務端。服務端返回一個AIDL接口,客戶端拿到該接口調用方法。 但是,如果項目中有大量的AIDL文件,那麼就要建相應個數的Serv

原创 Android MediaPlayer 常用方法介紹

Android MediaPlayer 常用方法介紹  方法:create(Context context, Uri uri) 解釋:靜態方法,通過Uri創建一個多媒體播放器。 方法:create(Context context, in

原创 AIDL異常總結

      在AndroidStudio上新建AIDL文件,會自動生成AIDL文件夾以及包名。所以如果分別在 客戶端和服務端新建AIDL文件,就會導致異常,因爲要求客戶端和服務端的AIDL文件的包名一致。     我的解決方法是,在服務

原创 ECTranslation----->Android Studio翻譯神器

插件作者的Github:https://github.com/Skykai521/ECTranslation 今天給大家推薦一款名爲ECTranslation的Android Studio翻譯神器。 經團隊好友推薦,發現一款And

原创 Ubuntu 16.04 獲取 root 用戶權限並以 root權限登錄

一.以 root 身份登錄ubuntu 16.04 系統中,使用 su root 命令可以以 root 身份登錄 ubuntu 系統,操作如圖:二.重置 root 密碼 打開終端,使用 sudo passwd root 命令進行 Ubun

原创 導入項目時遇到的plugin with id com.android.application not found問題解決方案

出現這個問題主要是因爲缺少build.gradle文件導致的。因爲一般項目會有兩個build.gradle文件。其作用如下: build.gradle(Project: xxxx) 該文件是整個工程編譯的全局文件,優先級最高  源

原创 Android 實現倒計時的幾種方法

Android 實現倒計時的方式有多種,Handler 延時發送 Message,Timer 和 TimerTask 配合使用,使用 CountDownTimer 類等。相比而言,經過系統封裝的 CountDownTimer 算是使用起

原创 Android最簡單的屏幕適配方法

一、概述 相信Android的開發者對於設配問題都比較苦惱,Google官方雖然給出了一系列的建議,但是想要單純使用這些建議將設備很輕鬆的做好,還是相當困難的。個人也比較關注適配的問題,之前也發了幾篇關於適配的文章,大致有: Andr

原创 Android屏幕適配px和dp適配兩種方式

“又是屏幕適配,這類文章網上不是很多了嗎?” 我也很遺憾,確實又是老問題。但本文重點對網上的各種方案做一個簡短的總結,和具體使用方法。 若想了解具體Android設備適配的前世因果,請閱讀hongyang文章:http://blog

原创 簡單的數據轉換

問題只是源於在調試的時候發現的一句微不足道的一行代碼如下:/*su.setOperType((Integer)param.get(SpeedMessageKey.OPERTYPE.getValue()));*/首先 將現出上面各個類的原型