Time of Update: 2017-02-27
從這一篇開始我們將看看Java 5之後給我們添加的新的對線程操作的API,首先看看api文檔:java.util.concurrent包含許多安全執行緒、測試良好、高效能的並發構建塊,我們先看看atomic包下的AtomicInteger.import java.util.concurrent.atomic.AtomicInteger; public class AtomicIntegerTest { private static AtomicInteger data =
Time of Update: 2017-02-27
一、如果是每個線程都執行相同的代碼,則可以使用同一個Runnable來實現共用public class MultiThreadShareData { public static void main(String[] args) { new Thread(new ShareData()).start(); new Thread(new ShareData()).start(); } static class
Time of Update: 2017-02-27
為什麼會有線程同步的概念呢?為什麼要同步?什麼是線程同步?先看一段代碼:package com.maso.test; public class ThreadTest2 implements Runnable{ private TestObj testObj = new TestObj(); public static void main(String[] args) { ThreadTest2 tt = new
Time of Update: 2017-02-27
一 相關下載(1) java JDK下載:進入該網頁: http://java.sun.com/javase/downloads/index.jsp (或者直接點擊下載)如下圖:選擇 Download JDK 只下載JDK,無需下載jre.(2)eclipse下載進入該網頁: http://www.eclipse.org/downloads/ (或者直接點擊下載:BT下載 HTTP下載) 如下圖:我們選擇第一個(即eclipse IDE for java EE
Time of Update: 2017-02-27
在Android中讀取doc檔案需要用第三方jar包tm-extractors-0.4.jar,讀取的過程很簡單和普通的檔案流操作基本一樣,下面寫一個簡單的例子:package com.word.read; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import
Time of Update: 2017-02-27
因為需要一直在弄網路的問題,今天看了一下Wifi的操作,經過整理,做出來了一個類,可能不全,但是個人感覺已經完全能夠滿足需要了,當然,裡面的方法也有可能是錯誤的或者是不全的,這個類我沒有進行完整的測試,只測試了其中的一些方法。其實操作Wifi也是很簡單的,主要使用以下幾個對象或變數:private WifiManager wifiManager;// 聲明管理對象OpenWifiprivate WifiInfo wifiInfo;// Wifi資訊private
Time of Update: 2017-02-27
之前幫人家解決亂碼問題時回過一個文章 現在總結在部落格裡 留起來bool handleString(char* name) { jstring rtnname = 0; int slenname = strlen(name); unsigned short * namebuffer = 0; if( slenname == 0 )
Time of Update: 2017-02-27
今天心血來潮,又把ADT升級了一下,升級到了ADT 22,悲催的發現項目用不了了(能編譯通過,運行出錯)。錯誤一:(警告)Unable to resolve superclass of Landroid/support/v4/app/_ActionBarSherlockTrojanHorse;錯誤二: (錯誤)Activity也直接Caused by: java.lang.ClassNotFoundException錯誤原因:ADT 22中新增了Export,你會發現新增了Android
Time of Update: 2017-02-27
一、下載AndroidEmoji.ttf字型地址1:Github Android Platform地址2:AndroidEmoji.ttf.zip二、使用2.1將字型拷貝到assets/fonts目錄2.2代碼調用try { Typeface typeFace = Typeface.createFromAsset(getResources().getAssets(),"fonts/AndroidEmoji.ttf");
Time of Update: 2017-02-27
想讓手機走PC網路,然後抓包,於是搜尋一番後安裝了一個叫EasyTether的軟體。還沒來得及測試,就忙著寫代碼去了,重啟MAC以後就發現連不上手機了,一開始並沒有懷疑是EasyTether的問題,因為後來又更新了ADT和Android4.3,主要是懷疑這個,卸載重裝無數遍,辦法相近無用。最後總結出來的現象:1、MAC已經識別了手機,USB資訊上可以看到。2、adb可以串連模擬器3、換裝置、換資料線均無效;adb kill-server 和 adb start-server
Time of Update: 2017-02-27
前言如果只有一個或者少許的兩三個Android市場,本文也沒用存在的必要性,本文謹獻給同在Android奮戰的同仁。本文 一、應用市場1、Google
Time of Update: 2017-02-27
前言網上ListView上下拖動的例子有,效果也很好,但是項目要橫著拖的,只要硬著頭皮自己寫(主要是沒找到合適的),參考文章1修改而來,分享一下。截圖代碼javapublic class HoDragActivity extends Activity { private LinearLayout main; private GestureDetector mGestureDetector; @Override public void
Time of Update: 2017-02-27
前言AsyncTask是個好東西,能處理絕大多數應用線程和更新UI的任務,由於其內部使用了靜態線程池,如果你有一堆非同步任務(例如全域定時更新資料、同一個Activity中多個AsyncTask同時執行)其中有不能馬上執行完的情況(例如網路請求逾時),那就糟了,其他任務都還等著呢,就會出現任務卡住的情況。此時就需要直接上Thread了,這裡參考AsyncTask的API封裝了一個ThreadTask,便於必要時代碼替換,歡迎交流!農民伯伯:
Time of Update: 2017-02-27
1.背景android系統的系統截屏功能是google封裝起來的,也是大家都很想獲得的,經過一個多月的漫長研究,博主終於成功的在android新版本也就是4.3以上版本實現了系統截屏。如果大家想更好的瞭解這些知識,我建議您先把android截屏源碼捕獲以及android截屏嘗試方法總結看完再來接著看。下面這種方法是接著上面兩篇部落格的內容。首先先奉獻一張我的截圖。2.需要滿足的條件1.root的手機2.android4.1以上源碼3.基本的刷機知識,或是用刷機軟體查看本欄目更多精彩內容:http
Time of Update: 2017-02-27
1.背景android NDK可以用來編譯android的native方法,也可以將c和c++的代碼編譯成.so檔案,讓android程式運行。2.NDK安裝(linux環境)(1)下載對應的ndk版本,在shell裡輸入如下命令gedit ~/.bashrc(2)開啟bash檔案,添加下載的ndk路徑NDKROOT=/home/CORPUSERS/28852262/android-ndk-r9c export
Time of Update: 2017-02-27
1.介紹快過年了,博主的新應用-螢幕取詞之了老花鏡的編碼工作也在緊鑼密鼓的進行中。下面分享一下這個應用中的核心功能ocr,也就是圖片識詞功能。先來看下我的實現效果。上圖是在網上隨便截下來的一個帶有英文的頁面,下圖是我的應用程式的實現效果。2.實現(1)首先要下載我的源碼和語言套件,部落格下方會給出地址。(源碼設為10分,是想讓大家珍惜別人的勞動成果)(2)把代碼中的lib中的兩個檔案夾和jar檔案匯入。查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bi
Time of Update: 2017-02-27
1.介紹對於初學者android不同activity間的資料轉送一直是一個難題,主要的解決方案主要有兩種一種是用Bundle傳輸資料,一種是用SharedPreferences。兩者的區別,一般來講SharedPreferences用來儲存輕型資料,儲存在xml裡,可以持久儲存。反觀Bundle可以傳輸很多中資料,但是不持久。2.具體實現方法 Bundle在發送方class ABundle bundle = new Bundle(); //儲存輸入的資訊
Time of Update: 2017-02-27
1.介紹在製作android應用的時候,常常用到很多string,就是一些文字,這裡介紹一種方法,將所有string封裝在一個string.xml檔案中,通過styles.xml控制string的大小等屬性。在代碼中,只要調用string的id即可。這樣符合物件導向的編程思想,而且也能使android應用更好的適應各種解析度的手機!2.具體實現首先,我們在value檔案夾下建立string.xml用於存放string,建立styles.xml用於控制string的屬性。(無視其他xml)在str
Time of Update: 2017-02-27
自訂控制項分為兩種一種是自訂ViewGroup控制項,一種是自訂View控制項;跟蹤View的步伐其實能跟到Java實現的最下面我們能發現的也就只有Canvas了,再下去就是C++或C實現了;所以本文主要是站在設計的的角度講解一下Canvas跟View的關係,再簡單分析一下Canvas用法;View作為Android中一切顯示視圖的父類,我們可看到它的繪製方法draw(Canvas
Time of Update: 2017-02-27
package com.example.listfile; import java.io.File; import java.io.IOException; import android.app.Activity; import android.content.Context;import android.widget.TextView;import android.os.Bundle; import android.os.Process;