⑴ react native android 怎麼封裝工具類
一、生成簽名文件(類似於Android的簽名文件)
1、命令行到你的工程目錄下
2、在命令行中輸入如下代碼
[javascript] view plain
keytool -genkey -v -keystore SuperBigLw-key.keystore -alias SuperBigLw-key-alias -keyalg RSA -keysize 2048 -validity 10000
這里的第一個SuperBigLw就是文件的名字,第二個是別名。
10000是有效時間,2048是RSA加密的大小
⑵ android怎麼將封裝工具類
如果你是想打包成jar後引用,可以右鍵export-->java-->jar file選擇你要打包的工程完成即可,當然個人覺得這個比較復雜,有一個eclipse插件flatJar(具體怎麼操作自己網路一下)比較好用,其次,如果你想把工程作為library來依賴,那麼在工程上右鍵-->properties-->android-->勾選"Is Library"即可。
⑶ android 開發中什麼叫工具類
工具類:一般存放的是公共的靜態方法,可供所有需要的類直接調用。
如獲取SD卡路徑,通過文件路徑獲取文件之類的重復通用性較高的方法就可以放在工具類中。
由於是靜態方法,就不用實例化,也方便了調用的操作。
總結的Android開發中常用的工具類,大部分同樣適用於Java。
目前包括 HttpUtils、DownloadManagerPro、Safe.ijiami、ShellUtils、PackageUtils、PreferencesUtils、JSONUtils、FileUtils、ResourceUtils、StringUtils、ParcelUtils、RandomUtils、ArrayUtils、ImageUtils、ListUtils、MapUtils、ObjectUtils、SerializeUtils、SystemUtils、TimeUtils。
⑷ android app開發中工具類怎麼國際化
工具類國際化的話,就要將裡面的文字在values加上不同的國家代號.string.xml這樣的形式,當別的國家使用就會去載入對應的文字
⑸ android alertdialog 怎樣寫成工具類
在工具類的構造函數中添加一個Context的參數,並設置一個全局變數Context,這樣在某個Activity類中實例化這個工具類的時候就可以將Context對象傳過去了,希望對你有幫助!
⑹ android中怎麼創建工具類
這個就是平時創建utils包,再新建Class , 具體功能 自己具體代碼去寫
⑺ Android網路請求常用的工具類的源碼
root啊 你不知道自己的手機型號么 Android系統中的root 什麼是root root就是手機的神經中樞,它可以訪問和修改你手機幾乎所有的文件,這些東西可能是製作手機的公司不願意你修改和觸碰的東西,因為他們有可能影響到手機的穩定,還容易被一些黑客入侵(Root是Linux等類UNIX系統中的超級管理員用戶帳戶。更多介紹詳見第一段) 為什麼要獲取root 其實用root的許可權主要是因為我們很多東西是受限制的,我們只能利用這些許可權來做我們被限制的去做的事情,比如Google禁止我們看到市場里很多免費或付費軟體,我們可以用Market進去看;很多朋友只能看不能下,不能綁定gmail,我們可以修改host來搞定他們,但這些都需要root許可權(由於Root許可權對於系統具有最高的統治權,便可方便的對於系統的部件進行刪除或更改。對於玩家而言,只有獲得Root許可權,我們便可隨心所欲地對自己的愛機進行「重新包裝」,感受新版本軟體的優點) 例如:當HTC Hero手機通過USB線連上電腦時,sync工具就會自動啟動,總是在notification那裡看到。對於Windows用戶,還有工具可以同步,對於Mac/Linux用戶來說,沒用。有沒有辦法解決呢?當然有了! 這里的關鍵就是ad remount,這是一個重新mount你的分區的命令,讓你的system分區從只讀變成可讀可寫,只有獲得了root許可權才可能運行。 取得root的好處 1 可以備份系統 2 使用高級的程序 3 修改系統的程序 4 把程序安裝在SD卡上 其它好處 一 最重要的是 我們可以漢化 擁有ROOT許可權[1],我們可以載入漢化包,實現系統漢化!由於目前的系統固件版本firware都是1.0,所以都不支持簡體中文輸入,但是支持簡體中文顯示開發團隊對此了工作,現在的Zhao 1.5/1.6 都是以獲得ROOT許可權為基礎才可進行的漢化包。 二 我們可以通過ABUS查看已安裝的軟體 雖然沒有ROOT許可權,我們依然可以通過ABUS來安裝軟體和游戲,但是如果擁有ROOT許可權的G1,我們可以通過ABUS查看其安裝過的軟體列表 方便我們管理。 三 我們可以更改主題 目前階段,我們可以通過升級update.zip來實現更換主題的功能,當然update.zip包並不是一個單獨的主題文件,其實就是升級一下, 不過如果沒有ROOT許可權,我們就不能實現更換主題的功能,至少目前這樣 四 我們可以正常使用一些軟體 比如Screenshot 很多軟體是需要訪問並讀寫內部ROOT的,比如Screenshot,就必須有ROOT許可權才可正常使用,如果相應的,我們獲得了ROOT許可權,那麼有些軟體就可以正常使用,並能發揮其特性了。 編輯本段一鍵root的方法 root並沒有想像中的那麼難,目前有不少軟體可以做到。像Z4root、UniversalAndRoot、GingerBreak和等root 軟體都比較方便。 下面就簡單介紹其中的兩款。 ①superoneclick[2] 該軟體root成功率較高,並且支持當前所有安卓系統的版本(包括android 4.0),幾乎沒有機型限制!目前最新版本為v2.3.3.0。並且該軟體還能幫你卸載安卓市場,對於root過程有輔助作用(如果需要可到安卓軟體資源網站下載安裝);而且,該軟體支持反root,當你發現系統root後不穩定或不安全,可以解除root,從而保護手機
⑻ android裡面怎麼寫property
1.首先在源代碼根目錄(src下)下創建一個名為netconfig.properties的文件(也可以在其他目錄下)。
2.打開netconfig.properties文件,在該文件中添加下列代碼.
Java代碼:
#該處為注釋
IP=192.168.1.111
PORT=3535
MSG=這是一個很長的字元串,<br>我們可以使其換行 \
一行顯示不下時,<br>可以分行顯示。
#該處為注釋
IP=192.168.1.111
PORT=3535
MSG=這是一個很長的字元串,<br>我們可以使其換行 \
一行顯示不下時,<br>可以分行顯示。
說明:上面代碼中,#為配置文件中的注釋,而在配置文件中,可以使用<br>等進行格式處理,在配置文件中,如果某個屬性過長,一行不能輸入完全是,可以通過 \ 通知系統,下一行同樣為該屬性的值。
3.之後創建一個工具類Utils類,其代碼如下所列。
**
* @description: 工具類
* @version 1.0
* @created on 2010-12-3 下午02:39:52
*/
public class Utils {
/**
* 得到netconfig.properties配置文件中的所有配置屬性
*
* @return Properties對象
*/
public static Properties getNetConfigProperties() {
Properties props = new Properties();
InputStream in = Utils.class.getResourceAsStream("/netconfig.properties");
try {
props.load(in);
} catch (IOException e) {
e.printStackTrace();
}
return props;
}
}
4.在需要使用配置文件中配置的屬性值時,直接調用上述方法即可,如下所示。
String IP = Utils.getNetConfigProperties().getProperty("IP");
⑼ android創建子線程
創建後台線程的方法有多種,這里說三種,可以回去試試
1、使用Android系統工具類 AsyncTask(Params,Progress,Result)
AsyncTask是一個輕量級線程,三個泛型參數分別是 Params傳入參數,int型Progress為進度條進度,Result為返回值
要使用AsyncTask,必須繼承之並復寫其中的幾個重要的函數。
onPreExecute(), 該方法將在執行實際的後台操作前被UI thread調用。可以在該方法中做一些准備工作,如在界面上顯示一個進度條。
doInBackground(Params...), 將在onPreExecute 方法執行後馬上執行,該方法運行在後台線程中。這里將主要負責執行那些很耗時的後台計算工作。可以調用 publishProgress方法來更新實時的任務進度。該方法是抽象方法,子類必須實現。
onProgressUpdate(Progress...),在publishProgress方法被調用後,UI thread將調用這個方法從而在界面上展示任務的進展情況,例如通過一個進度條進行展示。
onPostExecute(Result), 在doInBackground 執行完成後,onPostExecute 方法將被UI thread調用,後台的計算結果將通過該方法傳遞到UI thread.
註:Task必須在UI線程中創建,並調用並且只能調用一次execute方法,該方法的參數為傳入的泛型Params。
其餘函數最好不要手動調用,容易造成線程崩潰。多次調用Task,容易造成線程池溢出。
2、使用Handler和HandlerThread
誤區: Handler handler = new Handler ();
handler.post(r);
這種做法看似創建了一個線程,但實際上handler只是直接調用Runnable中的run() 方法,而不執行線程的start()函數,所以這兩句代碼執行後,程序仍然在UI線程中執行。所以我們引入HandlerThread,因為HandlerThread中有一個Looper對象,用以循環消息隊列。
為了使用Looper,必須子類化Handler,並復寫它的構造函數。
class MyHandler extends Handler{
public MyHandler() {}
public MyHandler(Looper looper){
super (looper);
}
public void handleMessage(Message msg){
//....這里運行耗時的過程
}
}
}
handleMessage(Message msg)函數用以接收消息,msg則是從UI線程中發出的消息,可以傳遞各種對象,根據這些對象和數值進行操作。
有了Handler子類,則可以在UI線程中進行創建和初始化
HandlerThread handlerThread = new HandlerThread( "backgroundThread" );
handlerThread.start();
MyHandler myHandler = new MyHandler(handlerThread.getLooper());
Message msg = myHandler.obtainMessage();
//....此處對msg進行賦值,可以創建一個Bundle進行承載
msg.sendToTarget();
之後如果需要調用線程,只要對handler傳入msg,就可以執行相應的過程了
最後,很重要的一點,HandlerThread 不隨Activity的生命周期結束而消亡,所以必須復寫Ondestory(),調用HandlerThread .stop()
3、使用線程同步 synchronized、 wait()、 notify()
使用線程同步機制synchronized實現多線程操作,相對來說比較復雜,但也是靈活性最佳、效率最高的一種做法,在產品開發當中也使用得最廣。本人水平相當有限,也只學得一點皮毛。
synchronized相當於一把鎖,當線程運行的時候,會同時有幾個線程訪問一個對象,對其進行操作或者修改。這可能引起很不良的後果(例如改變判定條件,或者在別的線程還沒使用完的時候對象已經被析構等等),所以必須對一些對象進行加鎖,保證它在同一時間只允許被一個線程訪問。
synchronized使用方法有兩種:
<1> 同步方法在方法名前加入synchronized關鍵字,則該方法在同一時間內只允許一個線程訪問它,其代碼邏輯較為簡單,但使用起來不太靈活,並且大大降低效率,耗時太長的同步方法甚至會使得多線程失去原本的意義成為單線程
<2>同步參數 對某一個代碼塊加鎖,並且以synchronized(obj)的方式,表明該代碼塊內的obj對象是線程同步的。這個做法使得代碼靈活性大大加強,縮小同步代碼塊的范圍,並且可以在不同的函數體和類內進行同步,唯一遺憾的是實現起來比較復雜,容易產生一些問題
而wait()和notify(),必須在synchronized鎖的代碼塊內執行,否則系統將會報錯。
有了以上基礎,就可以很容易的創建後台線程了
Private Runnable backgroundRunnable = new Runnable () {
@Override
public void run() {
if(isFinish){
//.....
break;
}
for(;;){
synchronized(this){
//....寫耗時過程
wait();
}
}
}
}
UI線程中,就是一般的創建線程過程了
Thread backgroundThread = new Thread (backgroundRunnable);
backgroundThread.start();
這樣,在後台線程中會不斷的循環,當執行完一次過程以後就會wait()休眠。然後在OnTouchListener或者OnClickListener內相應的位置執行
synchronized(backgroundRunnable){
backgroundRunnable.notify();
}
當用戶觸摸屏幕產生一個event的時候,線程就會被喚醒,執行下一次循環。
最後,還是內存安全問題,必須復寫Activity中的OnDestory()方法,將標志量isFinish設為false,並且backgroundThread .stop()