Time of Update: 2017-01-19
我們需要讀取以上歌詞檔案的每一行轉換成成一個個歌詞實體: 複製代碼 代碼如下: public class LyricObject { public int begintime; // 開始時間 public int endtime; // 結束時間 public int timeline; // 單句歌詞用時 public String lrc; // 單句歌詞 } 可根據當前播放器的播放進度與每句歌詞的開始時間,得到當前螢幕中央高亮顯示的那句歌詞。在UI線程中另起線程,通過回呼函數
Time of Update: 2017-01-19
代碼和注釋如下: 複製代碼 代碼如下: private Cursor getCursor(String filePath) { String path = null; Cursor c = getContentResolver().query( MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER); //
Time of Update: 2017-01-19
Android Service是分為兩種: 本地服務(Local Service): 同一個apk內被調用 遠程服務(Remote Service):被另一個apk調用遠程服務需要藉助AIDL來完成。AIDL 是什麼 AIDL (Android Interface Definition Language) 是一種IDL 語言,用於產生可以在Android裝置上兩個進程之間進行處理序間通訊(interprocess communication,
Time of Update: 2017-01-19
網上關於這個方面的文章也不少,基本的思路是線程+緩衝來解決。下面提出一些最佳化: 1、採用線程池 2、記憶體緩衝+檔案快取 3、記憶體緩衝中網上很多是採用SoftReference來防止堆溢出,這兒嚴格限制只能使用最大JVM記憶體的1/4 4、對下載的圖片進行按比例縮放,以減少記憶體的消耗 具體的代碼裡面說明。先放上記憶體緩衝類的代碼MemoryCache.java: 複製代碼 代碼如下: <SPAN style="FONT-SIZE:
Time of Update: 2017-01-19
工作內容集中到Contact模組,這個應用查詢資料的地方很多,其使用了CursorLoader這個工具大大簡化了代碼複雜度。android自3.0提供了Loader機制,當時google的API只是簡單的介紹了一下沒有給出用法,大家很少有關注。後來因為重度模型下的效能最佳化,R&D的朋友發現這個東西非常給力,這才開始注意到這個強大的工具。CursorLoader是Loader的子類,可以說是Loader的升級版。這篇小結以loader為基礎說明,弄懂原理之後也就明白了CursorLoader。先
Time of Update: 2017-01-19
複製代碼 代碼如下:/* * Java檔案操作 擷取副檔名 * */ public static String getExtensionName(String filename) { if ((filename != null) &&
Time of Update: 2017-01-19
直接上代碼和圖片。情況一:[html]複製代碼 代碼如下:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
Time of Update: 2017-01-19
在android中,照相功能系統已經提供,在app中可以直接使用。當手機從android play裡面下載有照相功能的應用時, 會判斷手機是否支援。不支援,不給予下載。照相有幾個步驟:1. 聲明許可權2. 使用Camera照相3. 顯示圖片1. 聲明許可權在manifest裡面聲明使用Camera:複製代碼 代碼如下:<uses-feature android:name="android.hardware.camera" /> 2.
Time of Update: 2017-01-19
首先你得寫好xml檔案,這也是最主要的。然後,在activity中加入一個線程,延時2秒,用來跳轉到主介面。activity中線程代碼如下:(順便檢測一下網路是否開啟)[java] 複製代碼 代碼如下:@Override protected void onStart() { super.onStart();
Time of Update: 2017-01-19
先看效果圖: 首先,你得寫一個類我們命名為CornerListView[java]複製代碼 代碼如下:/** * 圓角ListView樣本 * @Description: 圓角ListView樣本 * @FileName: CornerListView.java */ public class CornerListView extends ListView { public
Time of Update: 2017-01-19
具體代碼如下:main.xml複製代碼 代碼如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:background="#000000"
Time of Update: 2017-01-19
Android中很重要的一個機制就是線程+訊息,當然線程並不是android專屬的,下面,簡單的說說使用線程的時候應該注意的地方我們採用最簡單的方法來建立一個android的線程+訊息的例子1.Thread + Handler[java]複製代碼 代碼如下:package com.example.test_thread; import android.app.Activity; import android.os.Bundle; import android.os.Handler;
Time of Update: 2017-01-19
手機裝置太多,解析度也不一樣,看到網上大部分的適應字型的方法是定義values320×480或value-hdpi方式去處理。採用第一種的就慘了,很多裝置的解析度是不一樣的,難道要每種都定義嗎?採用第二種的在平板電腦裡沒有效果。最後還是代碼的方式方便快捷。。。[java]複製代碼 代碼如下://遍曆設定字型 public static void changeViewSize(ViewGroup viewGroup,int screenWidth,int screenHeight) {
Time of Update: 2017-01-19
這陣子在做Lephone的適配,測試組提交一個bug:標題列的文字較長時沒有顯示完全,其實這並不能算個bug,並且這個問題在以前其他機器也沒有出現,只是說在Lephone的這個平台上顯示得不怎麼美觀,因為聯想將原生的標題列UI進行了修改。修改的過程中遇到了一個難題,系統內建的那個標題列進度總能夠到達100%後漸退,但是我每次最後到100%那一段顯示不全,嘗試了用線程程式死了卡主了不說,還是一樣的效果,後來同事一句話提醒了我用動畫。確實是這樣我猜系統的也是這樣實現的,等進度到達100%後,用動畫改
Time of Update: 2017-01-19
部分客戶客戶使用第三方視頻播放器,有立體聲與單聲道之間切換,發現切換後無作用 原因是由於在HAL層預設沒有處理上層發的stereo 轉mono的命令,所以會沒有效果, 可按如下修改,添加相關處理: 1修改AudioMTKHardware.cpp 添加:static String8 keySetStereo2MonoMode = String8("EnableStereoOutput"); 2.修改status_t AudioMTKHardware::setParameters(const
Time of Update: 2017-01-19
1.修改FMRadioService.java 添加: 複製代碼 代碼如下: public static final int MSG_EXIT_FM = 1234; private Handler sHandler11 = new Handler() { @Override public void handleMessage(Message msg) { FMRadioLogUtils.d(TAG, "sHandler11 = " + msg.what); switch (msg.what) {
Time of Update: 2017-01-19
範例程式碼: 這是一個讀取連絡人的代碼: 複製代碼 代碼如下: package com.ui.domain; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.database.Cursor; import android.database.DataSetObserver; import android.graphics.Color; import
Time of Update: 2017-01-19
一、如何顯示assets/license.txt(中文)的內容? (1)方法1:InputStream.available()得到位元組數,然後一次讀取完。 複製代碼 代碼如下: private String readUserAgreementFromAsset(String assetName) { String content =""; try { InputStream is= getAssets().open(assetName); if (is != null){
Time of Update: 2017-01-19
1.背景選取器(位於res/drawable/,使用方法:android:background=”@drawable/XXX”) 複製代碼 代碼如下: <?xml version="1.0" encoding="utf-8"?> <selectorxmlns:android="http://schemas.android.com/apk/res/android">
Time of Update: 2017-01-19
功能要求: (1)比如每頁顯示2X2,總共2XN,每個item顯示圖片+文字(點擊有連結)。 如果單行水平滾動,可以用Horizontalscrollview實現。 如果是多行水平滾動,則結合Gridview(一般是垂直滾動的)和Horizontalscrollview實現。 (2)水平滾動翻頁,下面有顯示當前頁的icon。1.實現自訂的HorizontalScrollView(HorizontalScrollView.java):