Time of Update: 2018-07-27
Android 開發遇到的坑 作為一個iOS開發人員,突然讓我去接觸Android的開發的內容,其實我的內心是非常不情願的。
Time of Update: 2018-07-27
(1)Android.mk檔案首先需要指定LOCAL_PATH變數,用於尋找源檔案。由於一般情況下 Android.mk和需要編譯的源檔案在同一目錄下,所以定義成如下形式: LOCAL_PATH:=$(call my-dir) 上面的語句的意思是將LOCAL_PATH變數定義成本檔案所在目錄路徑。 (2)Android.mk中可以定義多個編譯模組,每個編譯模組都是以include $(CLEAR_VARS)開始以include $(BUILD_XXX)結束。 include
Time of Update: 2018-07-27
Android 記憶體流失整理 參考文獻: 1、https://www.ibm.com/developerworks/cn/java/l-JavaMemoryLeak/#icomments 2、http://blog.csdn.net/anxpp/article/details/51325838 3、http://www.jianshu.com/p/ac00e370f83d 4、http://www.jianshu.com/p/c5ac51d804fa 理論
Time of Update: 2018-07-27
一、WebKit簡介WebKit是一個開源的瀏覽器網頁排版引擎,包含WebCore排版引擎和JSCore引擎。WebCore和JSCore引擎來自於KDE項目的KHTML和KJS開源項目。Android平台的Web引擎架構採用了WebKit項目中的WebCore和JSCore部分,上層由Java語言封裝,並且作為API提供給Android應用開發人員,而底層使用WebKit核心庫(WebCore和JSCore)進行網頁排版。
Time of Update: 2018-07-27
QVGA (240x320) HVGA (320x480) WQVGA400(240x400) WQVGA432 (240x432) WVGA800 (480x800) WVGA854 (480x854)
Time of Update: 2018-07-27
真是“工欲善其事,必先利其器” 之前想用下好的as學學java,結果一直不會用,人家的教程都不是2.2的,也不會要填什麼“scratch file” 比如這個1.4的, https://www.zhihu.com/question/37318295/answer/71433842 不錯,但是到了2.2非得多些東西,“scratch file”翻譯過來是“臨時檔案”,百度scratch又是一種麻省理工給小孩寫的程式設計語言= =…… 一張圖說明一切:“scratch
Time of Update: 2018-07-27
問題描述:Windows2008中的MyEclipse項目在Windows2003中運行時無法啟動模擬器. 解決要點:啟動模擬器管理工具,在啟動中設定屬性中不勾選預設尺寸顯示。 系統錯誤如下: [2013-08-26 09:14:25 - gpmedicine] ------------------------------[2013-08-26 09:14:25 - gpmedicine] Android Launch![2013-08-26 09:14:25 -
Time of Update: 2018-07-27
本學期開始安卓的學習,更幾篇部落格來記錄一下 首先建立工程,建立兩個empty activity,此處名稱都採用預設的名稱。 目的是:實現從MainActivity傳參數給Main2Activity(value1和value2),然後計算兩個參數的和為sum,之後再返回給MainActivity。activity的轉換通過按鈕觸發事件。 MainActivity.java檔案如下: package
Time of Update: 2018-07-27
/******************************************************************************************** *
Time of Update: 2018-07-27
private Configuration config;private DisplayMetrics dm;private Resources resources;resources = getResources();// 獲得res資來源物件config = resources.getConfiguration();// 獲得設定對象dm = resources.getDisplayMetrics();button.setOnClickListener(new
Time of Update: 2018-07-27
Android效能最佳化之利用Rxlifecycle解決RxJava記憶體流失 前言: 其實RxJava引起的記憶體流失是我無意中發現了,本來是想瞭解Retrofit與RxJava相結合中是如何通過適配器模式解決的,結果卻發現了RxJava是會引起記憶體流失的,所有想著尋找一下資料學習一下如何解決RxJava引起的記憶體流失,就查到了利用Rxlifecycle開源架構可以解決,今天周末就來學習一下如何使用Rxlifecycle。 引用泄漏的背景:
Time of Update: 2018-07-27
Java1.8新添了一些特性,比如對lambda運算式的支援,父類推斷等等,這篇文章講述了1.8的新特性,有興趣的同學可以點進去看看。但是由於AndroidStudio並不能直接支援Java1.8,我們需要手動匯入一些外掛程式來支援1.8: 首先在app層的build.gradle的最外層添加外掛程式: apply plugin: 'me.tatarka.retrolambda' 然後找到該build.gradle檔案的dependencies,在這層中加入以下代碼:
Time of Update: 2018-07-27
Java Native Interface (JNI)標準是java平台的一部分,它允許Java代碼和其他語言寫的代碼進行互動。JNI 是本地編程介面,它使得在 JAVA 虛擬機器 (VM) 內部啟動並執行 Java 代碼能夠與用其它程式設計語言(如 C、C++ 和組合語言)編寫的應用程式和庫進行互動操作。 由於Android的應用程式層的類都是以Java寫的,這些Java類編譯為Dex型式的Bytecode之後,必須靠Dalvik虛擬機器(VM: Virtual
Time of Update: 2018-07-27
Date curDate = new Date();String dateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS", Locale.CHINA).format(curDate); JAVA中各種日期表示字母如下: 字母 日期或時間元素 表示 樣本 G Era 標誌符
Time of Update: 2018-07-27
今天金山wps來學校開宣講會,抱著試一試的態度去參加了宣講筆試,報的伺服器端工程師職位,但是筆試職位並沒有這個職位,因為這學期開了android開發的課,所以選了android開發工程師的筆試題。不出所料,差不多都不會做,因為沒有複習基礎。在這裡做一下總結以及學習。 基礎題: 堆記憶體與棧記憶體: 詳解Java的堆記憶體與棧記憶體的儲存機制http://www.jb51.net/article/77361.htm java回收機制: android鎖的用法與異同:
Time of Update: 2018-07-27
在Android的開發中,經常需要參數的傳遞,從一個Activity傳到另一個Activity,或者從Activity傳到Service,系統自身支援一些java基礎類型的傳遞,但是複雜的自訂類型,就需要序列化以後才可以傳遞。 Serializable public class Book implements Serializable { //這個參數是當類參數有變化時,防止還原序列化失敗。因為系統在進行還原序列化的時候會校正serialVersionUID值是否相同, //
Time of Update: 2018-07-27
Android開發中無處不在的設計模式——單例模式 Android開發中無處不在的設計模式——Builder模式 前面介紹了單例模式和Builder模式,有興趣的見上面兩個連結,這篇文章著重介紹一下觀察者模式。先看下這個模式的定義。 定義對象間的一種一對多的依賴關係,當一個對象的狀態發送改變時,所有依賴於它的對象都能得到通知並被自動更新 還是那句話,定義往往是抽象的,要深刻的理解定義,你需要自己動手實踐一下。 先來講幾個情景。 情景1
Time of Update: 2018-07-27
隱式Intent的使用 在上篇文章中寫了關於顯式Intent的使用,這次,寫一下關於隱式Intent的使用。 那麼什麼是隱式Intent。 定義:隱式Intent是沒有明確目標組件名稱的Intent。 那麼隱式Intent有什麼作用呢。 在顯示Intent中,主要的是用於程式本身的Activity、Service、Broadcaster之間的通訊。而隱式Intent主要用於程式與其他不同應用程式之間的通訊。 下面我來舉一個例子:
Time of Update: 2018-07-27
相信很多人對於volatile關鍵字既熟悉又陌生,熟悉是對這個名字很熟悉,陌生是對他的原理和用法很陌生,最近幾天通過查閱大量資料和書,終於對volatile有了一定的理解,寫此部落格一來做了記錄,二來使大家減少學習成本 volatile為什麼不能保證原子性。
Time of Update: 2018-07-27
String str = "Hello";canvas.drawText( str , x , y , paint);//1. 粗略計算文字寬度Log.d(TAG, "measureText=" + paint.measureText(str));//2. 計算文字所在矩形,可以得到寬高Rect rect = new Rect();paint.getTextBounds(str, 0, str.length(), rect);int w =