Time of Update: 2018-07-26
1.Java基礎 很多朋友一上手就開始學習Android,似乎太著急了一些。Android應用程式開發是以Java語言為基礎的,所以沒有紮實的Java基礎知識,只是機械的照抄別人的代碼,是沒有任何意義的。那麼Java學到什麼程度才算是過關呢。我個人認為至少要掌握以下兩個方面的內容: a)
Time of Update: 2018-07-26
首先先上一張小編的系統詳情圖 安裝完JAVA環境就可以開始安裝Android Studio 了,沒有安裝JAVA的朋友請看我上一篇博文[linux 裝java的兩種方法](http://blog.csdn.net/u010849674/article/details/47377659) 這裡也有兩種方法 PPA 方式安裝 Android Studio 命令如下: sudo add-apt-repository
Time of Update: 2018-07-26
正常情況下,在java項目代碼中出現中文的時候都會出現這個錯誤 或者是編譯通過,但是啟動並執行時候中文亂碼。 這個時候只需要在build.gradle中添加下面一句話就可以解決 tasks.withType(JavaCompile) { options.encoding = 'UTF-8'} 例如下面這段代碼 package com.liran.main.Stream;import
Time of Update: 2018-07-26
目錄 1工具準備 2具體操作 1海馬玩模擬器配置共用資料夾 2提取db檔案 3使用Navicat_Premium開啟提取出來的db檔案 註:若是圖片不可見可用Google瀏覽器試試 1、工具準備 MySql Navicat_Premium:提供一個安裝包連結,也可自己百度下載。http:/
Time of Update: 2018-07-26
在android應用程式開發中,在使用到資料庫的時候,交易處理是非常重要的。 首先android資料庫操作(特別是寫操作)是非常慢的,將所有操作打包成一個事務能大大提高處理速度。 其次是保證資料的一致性,讓一個事務中的所有操作都成功執行,或者失敗,或者所有操作復原。
Time of Update: 2018-07-27
http://satyan.github.io/sugar/index.html 通過android原生提供的一些API操作資料庫的時候,代碼編寫的時候存在很大的不方便。 而通過Sugar這個jar包實現的時候,可以將資料庫的錶轉化成對象,表與表之間的關係也可以通過將一個對象作為另一個對象的變數來實現。 public class Book extends SugarRecord<Book> { String name; String ISBN;
Time of Update: 2018-07-26
public List<PointBean> getAllPoints() {String sql = "select * from points";SQLiteDatabase db = helper.getWritableDatabase();List<PointBean> pointList = new ArrayList<PointBean>();PointBean point = null;Cursor cursor =
Time of Update: 2018-07-27
根據開啟檔案的類型不同啟動不同的activity 1、假如我們要關聯所有的檔案 則需要在AndroidManifest中這麼寫 <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.
Time of Update: 2018-07-26
這幾天的研究Android的持久化, 總共研究了三個架構,一個是ORMLite, 一個是Hadi, 還有一個叫Prueba 一 最成熟的是ORMLite,但也是最複雜的。目前的版本是4.3.1 二 Hadi是蠻簡單概要的一個開源架構,讀了所有的代碼,簡單明了,但還有一些bug需要修複。比如 插入後該對象並沒有重新進行查詢,如果插入的記錄有多個預設值,那麼會拋中斷 三
Time of Update: 2018-07-27
問題淺析見部落格:http://www.cnblogs.com/avenwu/p/4180193.html 從http://stackoverflow.com/questions/28387602/notification-bar-icon-turns-white-in-android-5-lollipop看到的答案,嘗試成功。只實現了白色圖案。一定要完全按照下面的設定來。 To avoid Notification icons to turn white, use “Silhouette”
Time of Update: 2018-07-27
一.Android單元測試 Mockito的簡單用法 三.Android單元測試 PowerMock給私人變數賦值 四.Android單元測試 PowerMock mock靜態方法 相對於上篇文章,這篇介紹了更多mockito的用法,對照著MeetingPresenterImp.java和MeetingPresenterImpTest.java大家可以看看Android單元測試用例怎麼寫. public class MeetingPresenterImp implements
Time of Update: 2018-07-27
屏蔽系統下拉狀態列 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //屏蔽系統下拉狀態列 sendBroadcast(new
Time of Update: 2018-07-27
在android平台下,進行多線程編程時,經常需要在主線程之外的一個單獨的線程中進行某些處理,然後更新使用者介面顯示。但是,在主線線程之外的線程中直接更新頁面顯示的問題是:系統會報這個異常,android.view.viewroot$calledfromwrongthreadexception: only the original thread that created a view hierarchy can touch its views. (只有原始建立這個視圖層次(view
Time of Update: 2018-07-27
Android App真實的邏輯構成 App UI構成層級結構 在Android中絕大部分的UI組件都是存放在android.widget包及其子包、android.view包及其子包,其中所有的UI視圖組件都是繼承自View類,View類還有一個重要的子類ViewGroup,所以它也具有View的特性,但它主要用來充當View的容器,將其中的View視作自己的孩子,對它的子View進行管理,當然它的孩子也可以是ViewGroup類型。ViewGroup往往是作為其他的組件的容器。
Time of Update: 2018-07-27
使用ContentProvider共用資料【組件必須放在應用程式套件或者子包下面,還需要在資訊清單檔中配置,像圖庫、簡訊、通訊錄都是內容提供者】 當應用繼承ContentProvider類,並重寫該類用於提供資料和儲存資料的方法,就可以向其他應用共用其資料。以前我們學習過檔案的操作模式,通過指定檔案的操作模式為Context.MODE_WORLD_READABLE或Context.MODE_WORLD_WRITEABLE同樣可以對外共用資料,但資料的訪問方式會因資料存放區的方式而不同,
Time of Update: 2018-07-27
先簡單說說RxJava的用途與價值 用途: 非同步 (也就是開線程跳轉) 價值: 面對複雜的邏輯,它依然 簡潔 ,代碼 易讀 RxJava2 與 RxJava 最大的不一樣的地方,就是 Flowable ,這個 Flowable 取代了Rxjava 中的 簡單的使用: 下面展示一段代碼: Flowable .fromArray(weeks) .map(new Function<String, String>() {
Time of Update: 2018-07-27
要想做一個跟通訊錄類似的在右側實現滑動, 看看介面 下面看一下實現的代碼: friend.xml <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
Time of Update: 2018-07-27
SAX、DOM、PULL的比較 SAX、DOM、PULL各有自己的特點,具體操作XML的時候該如何選擇呢。 1.記憶體佔用 這是一個根本性問題。由於Android手機效能相對於現在的應用操作還是有限的,程式對記憶體的佔用直接影響到瞭解析XML的速度。在這點上,SAX、Pull以它們比DOM佔用更少的記憶體的解析方式,更適合於Android手機開發。 2.編程方式
Time of Update: 2018-07-27
Volley整體架構簡介 隊列分發器執行流程 CacheDispatcher流程 緩衝分發器,在RequestQueue.start()時,就會在App中啟動Thread專門用於處理緩衝讀取操作。讀取緩衝的關鍵操作流程虛擬碼如下: while(ture){ request = mCacheQueue.take(); //判斷請求是否已取消 //如果有緩衝 -->
Time of Update: 2018-07-27
不管學習啥東西,總有個記憶資料的過程.目的是把知識的結構搞懂,然後一點一點的去理解裡面更難的概念.我自學anroid大概有兩個月,還沒有怎麼去寫代碼,因為我不想通過死板的模仿別人寫代碼來學習.我要把android的主要的知識結構,使用特點和原理弄懂,然後自然就有寫代碼的思路. 通過兩個月的學習,我再去看別人寫的關於android的方面的blog的時候,發現閱讀和理解的速度有了很大提高.下面我將我最近學習理解的心得記錄一下.