Time of Update: 2018-12-03
Android BinderAndroid Interprocess CommunicationThorsten SchreiberFirst Advisor: Juraj SomorovskySecond Advisor: Daniel Buβmeyer 在看《Android Binder》文檔時,讀到:1. 特權級英文叫ring,並且是需要硬體支援的。Intel的硬體實現了4個特權級,linux只用0和3。2. linux通訊機制:訊號,管道,通訊端,訊息佇列,訊號量,共用記憶體。3.
Time of Update: 2018-12-03
在 frameworks/base/libs/binder/ProcessState.cpp 的 startThreadPool() 函數中,函數一開始,就聲明了:AutoMutex _l(mLock);就去瞭解了一下,不複雜,但感覺很有思想。在 frameworks/base/include/utils/threads.h 中,有:class Mutex { ... ... class Autolock { public: inline
Time of Update: 2018-12-03
下面是之前編輯的一個自訂log的草稿,現在看著,對va_list的功能不大記得了,當初應該也把它寫清楚的,現在也懶的看了。/* * my log for trace code */#ifndef MYLOG#define MYLOG(...) \ MYLOG_PRINT(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__) #define MYLOG_PRINT(prio, tag, fmt...) \ MYPRINT(prio,
Time of Update: 2018-12-03
public class wifi extends Activity{ private TextView mTextView01; private CheckBox mCheckBox01; /* 建立WiFiManager對象 */ private WifiManager mWiFiManager01; /** Called when the activity is first created. */ @Override public void
Time of Update: 2018-12-03
/** * <p>將檔案轉成base64 字串</p> * @param path 檔案路徑 * @return * @throws Exception */public static String encodeBase64File(String path) throws Exception {File file = new File(path);FileInputStream inputFile = new FileInputStream(file);byte[]
Time of Update: 2018-12-03
public class duan extends Activity { /*聲明變數一個Button與兩個EditText*/ private Button mButton1; private EditText mEditText1; private EditText mEditText2; /** Called when the activity is first created. */ @Override public void
Time of Update: 2018-12-03
本文主要是寫關於ImageSwitcher結合Gallery組件如何展示SDCard中的資源圖片,相信大家都看過API Demo 中也有關於這個例子的,但API Demo 中的例子是展示工程中Drawable目錄下的資源圖片,這樣調用系統的API比較容易實現,但我們在開發項目過程中,但有些圖片還不能完全確定下來,例如需要展示相機拍照的圖片,SDCard中某個目錄下的資源圖片等功能。其實系統中也提供相應的API給我們應用去實現該功能,下面就用異於API
Time of Update: 2018-12-03
這裡貼三個檔案的原始碼,第一個是main.javapackage com.example.test;import java.util.ArrayList;import java.util.List;import com.example.test.MyXZ;import com.example.test.R;import com.example.test.ZoomListener;import com.example.test.test;import
Time of Update: 2018-12-03
以下均轉自Android遊戲編程入門經典,轉載請標明出處一首3分鐘的歌曲就要佔用大量的記憶體。當播放音樂時,我們需要持續使用音頻樣本流,而不是將所有的音頻樣本預先載入到記憶體中。通常情況下,我們只能使用單個的音樂流進行播放,所以只需要訪問磁碟一次。對於較短的音效例如爆炸、槍擊,情況則不同。我們需要經常多次同時地播放這類音效,每次從磁碟讀取音效執行個體的音頻樣本流不是一個好主意。不過,幸運的是短的音效並沒有佔用太多記憶體,因此我們可以從音效檔案中讀取多個樣本到記憶體中,然後直接從記憶體中同時播放它
Time of Update: 2018-12-03
最近有一個項目需求,水平滑動實現視圖切換(分頁顯示效果)最先想到的是ImageSwitcher + ViewFilpper 來實現,這效果做出來我自己都不想用,更不用說客戶的感覺了:滑動效果生硬,只支援圖片上的滑動,不是整個View上面的滑動然後嘗試了使用Gallery +
Time of Update: 2018-12-03
更改瀏覽器設定中的搜尋引擎 1. 需求 將瀏覽器設定中的搜尋引擎更改為XXXX, Google搜尋,百度搜尋。預設 XXXX 選中。 2. 分析源碼 我們先找到瀏覽器的設定介面代碼, com.android.browser.BrowserPreferencesPage.java 構造介面部分代碼在onCreate 函數中 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
Time of Update: 2018-12-03
之前每次修改BoardConfig.mk後,都傻傻的先make clean然後重新編譯,這樣浪費的時間不計其數。後來忍受不了這種效率,Google了一下,果然不出所料是可以模組獨立編譯的。1、進入Android源碼根目錄,執行source build/envsetup.sh;2、可以執行mm、mmm等模組編譯命令了。如要編譯audioflinger,則執行mmm frameworks/base/services/audioflinger/ -B即可。3、make
Time of Update: 2018-12-03
//通過openRawResource擷取一個inputStream對象InputStream inputStream = getResources().openRawResource(R.drawable.temp);//通過一個InputStream建立一個BitmapDrawable對象BitmapDrawable drawable = new BitmapDrawable(inputStream);//通過BitmapDrawable對象獲得Bitmap對象Bitmap bitmap =
Time of Update: 2018-12-03
閑話少說,全在注釋中: package demo.camera;import java.io.FileNotFoundException;import android.app.Activity;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import
Time of Update: 2018-12-03
通過PieceManager獲得的一個9*9的二維方塊Piece類的數組,其中我們值繪製1-8的格子,因為最外層的格子我們將會用來,畫線,效果如現在我們可以通過這個數組來繪製基本的介面了我們會使每一塊的小方塊之間有6個像素點的距離繪製的代碼如下protected void onDraw(Canvas canvas) {super.onDraw(canvas);canvas.drawBitmap(background, 0, 0, null);for (int i = 0; i < 8;
Time of Update: 2018-12-03
第一步,建立廣播接收類public class MyBroadcastReceiver extends BroadcastReceiver{@Overridepublic void onReceive(Context context, Intent intent){// TODO Auto-generated method stub// 收到系統啟動完畢廣播if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){Intent
Time of Update: 2018-12-03
第一步:顯示一張圖片:方法一、public class PicshowMainActivity extends Activity {LinearLayout mLinearLayout;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);this.mLinearLayout = new LinearLayout(this);ImageView i =
Time of Update: 2018-12-03
發表於09月27日 10:10圖片平鋪的三種方式: 1)第一種利用系統提供的api實現 Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.pic); //bitmap = Bitmap.createBitmap(100, 20,Config.ARGB_8888); BitmapDrawable drawable = new BitmapDrawable(bitmap);
Time of Update: 2018-12-03
最近在寫一個點播的APP,所以就對流媒體播放研究了一下,下面是一個最簡單的視頻播放代碼1:layout檔案 <?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: 2018-12-03
try { Thread.sleep(10); Toast.makeText(getApplicationContext(), "睡醒了", Toast.LENGTH_LONG).show(); } catch (InterruptedException e1) {