Time of Update: 2016-01-11
標籤:KVO 內部實現原理1. KVO 是基於runtime機制實現的.2. 當某個類的對象第一次被觀察時,系統就會在運行期動態建立該類的一個衍生類別,在這個衍生類別中重寫基類中任何被觀察屬性的setter方法; 衍生類別在被重寫的setter方法中實現真正的通知機制 (Person ->
Time of Update: 2016-01-11
標籤:概述類android.graphics.PorterDuffXfermode繼承自android.graphics.Xfermode。在用Android中的Canvas進行繪圖時,可以通過使用PorterDuffXfermode將所繪製的圖形的像素與Canvas中對應位置的像素按照一定規則進行混合,形成新的像素值,從而更新Canvas中最終的像素顏色值,這樣會建立很多有趣的效果。當使用PorterDuffXfermode時,需要將將其作為參數傳給Paint.setXfermode(Xfer
Time of Update: 2016-01-11
標籤:本文章全文轉載:http://www.2cto.com/kf/201304/206747.html1、在項目上右鍵,選擇android tools->rename application package,輸入需要改為的名稱,然後選擇需要改的包,有部分包可能不需要更名 2、上一步並沒有修改源碼的包,只是將工程中涉及包名的地方改了,下面修改源碼的包名,右鍵要改包名的源碼包,選擇refactor->rename,注意一定要將rename
Time of Update: 2016-01-11
標籤:啟動Fiddler,開啟功能表列中的 Tools > Fiddler Options,開啟“Fiddler Options”對話方塊。在Fiddler Options”對話方塊切換到“Connections”選項卡,然後勾選“Allow romote computers to connect”後面的複選框關閉設定後再開啟設定,如果服務沒有正常開啟,可以嘗試使用其他連接埠,連接埠修改的位置,
Time of Update: 2016-01-11
標籤:點擊會開啟服務。sivAddress.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (sivAddress.isChecked()) { sivAddress.setChecked(false);
Time of Update: 2016-01-11
標籤: 在App中增,刪功能都有了,這次我們來做改的功能。在項目中點擊items項時對對應的條目中的商店名稱進行修改。 點擊items跳出一個對話方塊,裡麵包含了輸入框、修改按鈕和取消按鈕: AlertDialog.Builder builder = new Builder(MainActivity.this); builder.setTitle("刪除?"); final EditText et = new
Time of Update: 2016-01-11
標籤:1、當你使用 ng-model, ng-repeat 等等來綁定一個元素的值時, AngularJS 為那個值建立了一個 $watch,只要這個值在 AngularJS 的範圍內有任何改變,所有的地方都會同步更新。而你在寫自訂的 directive 時,你需要定義你自己的 $watch 來實現這種自動同步。2、有時候你在代碼中改變了 model 的值,view 卻沒有更新,這在自訂事件綁定中經常遇到。這時你就需要手動調用 scope.$apply() 來觸發介面更新。上面
Time of Update: 2016-01-10
標籤:【轉自:http://blog.csdn.net/happyhell/article/details/6086973】The entire OpenGL ES API on Android is implemented in three libraries, located under /system/lib (for more information about OpenGL ES visit the official Khronos page):* libEGL.so:
Time of Update: 2016-01-10
標籤:關於UIView的位置都會遇到,一般需要改變UIView的位置,需要先擷取原有的frame位置,然後在frame上面修改,有的時候如果只是改變了一下垂直方向的位置,寬度和高度的一種,這種寫法很麻煩。下面兩種寫法第二種明顯更簡單,如果需要實現第二種方法就需要擴充UIView。 //1 CGRect frame=self.testView.frame; frame.size.width=120; self.testView.frame=frame; [self
Time of Update: 2016-01-10
標籤:主要是記錄下iOS的介面觸摸事件處理機制,然後用一個執行個體來說明下應用情境.一、處理機制介面響應訊息機制分兩塊,(1)首先在視圖的階層裡找到能響應訊息的那個視圖。(2)然後在找到的視圖裡處理訊息。【關鍵】(1)的過程是從父View到子View尋找,而(2)是從找到的那個子View往父View回溯(不一定會往回傳遞訊息)。 1.1、尋找響應訊息視圖的過程可以借用M了個J的一張圖來說明。處理原理如下:•
Time of Update: 2016-01-10
標籤:這兩天好好的研究了下推送這功能,關於它我將分成兩部分來講,一、IOS手機端,二、Servlet服務端,今天先講下IOS端一、感受下面講下我對推送這個功能在IOS下的感受,這個算是我做了服務端的功能和手機端的功能後的一個體會吧,
Time of Update: 2016-01-10
標籤:前言:畢業設計的內容,僅僅有Java基礎。沒學過Android。本著用到什麼學什麼。花費了10多個晚上完畢畢業設計。當然,僅僅是簡單的實線了電子詞典功能,自始至終沒有考慮過效能等問題。本電子詞典的資料檔案是不錯的,有道的API是分析有道電子詞典的記錄檔得到的,離線的柯林斯詞典是Mdict詞典的MDX檔案轉換(https://bitbucket.org/xwang/mdict-analysis)來的。這個是本電子詞典的唯一亮點吧。由於我一直認為資料比介面更重要。檔案布局:watermark/
Time of Update: 2016-01-10
標籤:安卓原始碼: https://android.googlesource.com/?format=HTML 使用binder,應用可以跟系統或者其他應用通訊 (it is used in almost everything that happens across processes in the core platform)當應用要啟動一個服務時,that process is going through the
Time of Update: 2016-01-10
標籤:預覽一下效果:素材:建立一個布局title_bar.xml,代碼如下:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"
Time of Update: 2016-01-10
標籤:DDMSAndroid SDK單獨提供了DDMS的命令,我們在[android-sdk-home]/tools目錄下輸入ddms,也會彈出獨立的DDMS視窗。這裡我們還是直接使用Eclipse整合的DDMS。DDMS 的全稱是Dalvik Debug Monitor
Time of Update: 2016-01-10
標籤: 一、使用DDMS1.將程式使用apktool轉化為smali代碼,在關鍵代碼左右注入log代碼(的smali形式,如輸出寄存器v0的值),之後重新打包apk,再執行時可以從 logcat 中看到輸出。2.棧跟蹤法:如,在關鍵代碼左右插入new Exception("print trace").printStackTrace();的smali代碼形式,之後重新打包簽名,再次運行可以在logcat視窗中得到棧跟蹤資訊。3.method profiling: 可以用ddms中的method
Time of Update: 2016-01-10
標籤:設計模式./-->是一種手段,一種工具.可以使代碼的寫起來更方便1. 代理設計模式(委託設計模式)<1>. 監聽器的場合 對象B(保姆)想監聽對象A(嬰兒)的一些行為<2>. 通知的場合 對象A(嬰兒)發生了一些行為,想通知B(保姆)[B(保姆)為代理對象]<3>. 有些事情,不想自己處理,可以交給別人處理 對象嬰兒發生了一些事情,不想自己處理,交給保姆處理2.
Time of Update: 2016-01-10
標籤:寫幾篇文章記錄一下我學習OpenGL的過程,這是第一篇。本片文章通過實現一個清屏操作,先瞭解一些基本知識。1.建立一個activity,作為展示頁面:/** * 視圖展示頁面,只實現了清屏的操作<br/> * 1.建立GLSurfaceView<br/> * 2.調用GLSurfaceView的setRenderer方法,設定Renderer<br/> * 3.實現Renderer<br/> * 4.處理Activity的生命週期事件<
Time of Update: 2016-01-10
標籤:什麼是JSON JSON(JavaScript Object Notation)是一種輕量級的資料交換格式,易於閱讀和編寫,同一時候也易於機器解析和產生,很適合於server與client的互動。JSON 採用與程式設計語言無關的文本格式,可是也使用了類C 語言的習慣。這些特性使JSON 成為理想的資料交換格式。和 XML 一樣,JSON 也是基於純文字的資料格式。因為 JSON
Time of Update: 2016-01-10
標籤:1.在代碼裡實現this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉標題列,this指當前的Activity這句代碼一定要加在setContentView()前面。this.requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);View Code2.在資訊清單檔裡實現<application