Time of Update: 2018-12-05
Android手機上擷取已經安裝的應用,可以使用以下一行代碼:List<PackageInfo> packageList = getPackageManager().getInstalledPackages(0);當在需要區分已經安裝的使用者應用程式和系統程式的時候,可以採用以下方法:方法一: 通過擷取的安裝包(包括安裝的與系統自身的應用程式),對其android.content.pm.PackageInfo的packageName
Time of Update: 2018-12-05
玩機機的人對APK並不陌生,那麼對於APK修改相關的知識,你是否清楚呢,比如:對英文版進行漢化、修改功能、修改文字描述、去掉廣告 等等。本文介紹APK的基本知識、結構、APK檔案的解包、打包及簽名,以及對APK檔案的常規修改。一、APK檔案簡介APK 是Android Package的縮寫,即即Android application package檔案或Android安裝包。每個要安裝到Android平台的應用都要被編譯打包為一個單獨的檔案,尾碼名為.apk。APK檔案是用專
Time of Update: 2018-12-05
剛學習android的朋友看到service的時候肯定會一夥java語言已經提供了幕後處理任務的機制,Thread,為什麼VM層面還要提供一種service這樣的概念呢,兩者的差異到底在哪裡,google的設計意圖何在?請看本文分解1). Thread:Thread 是程式執行的最小單元,它是分配CPU的基本單位。可以用 Thread 來執行一些非同步操作。2). Service:Service 是android的一種機制,當它啟動並執行時候如果是Local Service,那麼對應的
Time of Update: 2018-12-05
Android對國際化與多語言切換已經做得不錯了,一個應用只要命名相應語系的values-[language]檔案夾,通過“設定”→“語言&鍵盤”→“選擇語言”即可實現應用多種語言的切換。 但如何在應用裡自己實現?搜尋過發現網上有如下的做法:[java] view
Time of Update: 2018-12-05
ListView.getCount()(實際上是 AdapterView.getCount()) 返回的是其 Adapter.getCount() 返回的值。也就是“所包含的 Item 總個數”。 ListView.getChildCount()(ViewGroup.getChildCount) 返回的是顯示層面上的“所包含的子 View 個數”。 二者有什麼不同?當 ListView 中的 Item 比較少無需滾動即可全部顯示時,二者是等價的;當 Item
Time of Update: 2018-12-05
環境:當列表中的選項沒有沒選中時,標題列的按鈕字型 為灰色且不可點擊。 當列表中的選項有被選中時,標題列的按鈕字型 為正常色且可點擊實現:在listView的item點擊監聽中實現按鈕的監聽 button.setEnabled(!mSelectedList.isEmpty()); button.setTextColor(mSelectedList.isEmpty() ? R.color.zi : R.color.zir.WHITE);問題:mSelectedList.isEmpty()
Time of Update: 2018-12-05
在AndroidManifest.xml檔案中的android:windowSoftInputMode屬性使用TheAndroidManifest.xml File <activityandroid:windowSoftInputMode=["stateUnspecified", "stateUnchanged",
Time of Update: 2018-12-05
Activity的切換動畫指的是從一個activity跳轉到另外一個activity時的動畫。{它包括兩個部分:一部分是第一個activity退出時的動畫;另外一部分時第二個activity進入時的動畫;在Android的2.0版本之後,有了一個函數來幫我們實現這個動畫。這個函數就是YoverridePendingTransitionj這個函數有兩個參數,一個參數是第一個activity退出時的動畫,另外一個參數則是第二個activity進入時的動畫。這裡需要特別說明的是,關於overrideP
Time of Update: 2018-12-05
問題: 點擊新浪登陸的網頁中的輸入框無法彈軟鍵盤。解決:mWebView.setOnTouchListener(new View.OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {switch (event.getAction()) { case MotionEvent.ACTION_DOWN: case MotionEvent.ACTION_UP:
Time of Update: 2018-12-05
public void getInstalledApps() {try {/* 列出當前裝置的所有安裝程式 */List<ApplicationInfo> appInfos = getPackageManager().getInstalledApplications(0);for (ApplicationInfo appInfo : appInfos) {boolean flag = false;// 檢測是否為使用者安裝的應用程式if ((appInfo.flags &
Time of Update: 2018-12-05
網路傳輸協議或簡稱為傳送協議(Communications
Time of Update: 2018-12-05
ON CONFLICT子句conflict-clause ::=ON CONFLICT conflict-algorithmconflict-algorithm ::=ROLLBACK | ABORT | FAIL | IGNORE | REPLACEON CONFLICT子句不是獨立的SQL命令。這是一條可以出現在許多其他SQL命令中的非標準的子句。由於它並不是標準的SQL語言,這裡單獨介紹它。ON CONFLICT子句的文法在如上的CREATE
Time of Update: 2018-12-05
世界範圍內行動裝置的使用數量在與日俱增。面對在跨越多個不同裝置上建立良好web體驗的挑戰,現在已經存在多種解決方案。世界範圍內行動裝置的使用數量在與日俱增。面對在跨越多個不同裝置上建立良好web體驗的挑戰,現在已經存在多種解決方案。但是對於任何一個給定的項目,這些解決方案中哪個是最合適的?為了回答這個問題,《移動優先》作者Luke以Bagcheck應用作為案例(註:Bagcheck是一家從事搜尋與發現業務的創新型企業),解釋了選擇分別設計移動版和案頭版背後的原因,並通過對比提煉出四個最佳化移動W
Time of Update: 2018-12-05
View中的setTag(Onbect)表示給View添加一個格外的資料,以後可以用getTag()將這個資料取出來。 可以用在多個Button添加一個監聽器,每個Button都設定不同的setTag。這個監聽器就通過getTag來分辨是哪個Button 被按下。 import android.app.Activity; import android.os.Bundle; import android.view.View; import
Time of Update: 2018-12-05
相信很多人都注意到XCode中, 有個Target的概念. 這在很多地方都有所體現, 比如開啟一個工程後, 左側的列表中有Targets一項, 而在工程介面的頂部菜單中, project裡面也有多個涉及到Target的項目, 那麼這個Target到底是什麼呢? Apple的人是這樣說的:“ Targets that define the products to build. A target organizes the files and instructions needed to
Time of Update: 2018-12-05
用IHardwareService直接控制Android1.5以前是直接提供這個介面的,之後呢,需要我們自己來做一下。在你的項目中建立一個包Android.os,建立一個IHardwareService.aidl檔案,內容如下:package Android.os; /** {@hide} */ interface IHardwareService { // obsolete flashlight support boolean getFlashlightEnab
Time of Update: 2018-12-05
有些時候我們在電腦中隱藏檔案是必要的,macos的做法很簡單,字需要變更檔名,在檔案名稱前面加 “.” 檔案就可以隱藏。但是如果希望讓隱藏的檔案在finder中顯示,開啟shell,輸入一下命令OK當然我們還用更好的方法,安裝InvisibliX軟體,開關finder隱藏檔案顯示軟體官方:http://www.read-write.fr/invisiblix/ 大概的功能:檔案類型,檔案是否鎖定,檔案隱藏等
Time of Update: 2018-12-05
以下是開發初期收集整理的一點資料 多線程之NSInvocationOperation多線程編程是防止主線程堵塞,增加運行效率等等的最佳方法。而原始的多線程方法存在很多的毛病,包括線程鎖死等。在Cocoa中,Apple提供了NSOperation這個類,提供了一個優秀的多線程編程方法。本次介紹NSOperation的子集,簡易方法的NSInvocationOperation:@implementation MyCustomClass -
Time of Update: 2018-12-05
1)
Time of Update: 2018-12-05
開啟linux系統終端,在終端指定和修改使用者口令的Shell命令是passwd。命令的格式為:passwd 選項 使用者名稱可使用的選項: -l 鎖定口令,即禁用帳號。 超級使用者用-l(lock)選項鎖定某一使用者,使其不能登入,例如: # passwd -l sanpintian -d 使帳號無口令。將使用者sanpintian的口令刪除,這樣使用者下一次登入時,系統就不再詢問口令。 # passwd -d sanpintian下面的命令修改該使用者自己的口令:$