編輯:關於Android編程
Android Studio可以幫你在App中添加對URLs,app索引,搜索功能的支持。這些功能可以幫你推動更多的流量到你的App、發現App中最被常用的內容,使用戶更容易發現已安裝App中內容,並以此來吸引新用戶。
用Android Studio添加對URL支持,App索引,搜索功能到你的App中:
添加Intent過濾器和處理傳入Intent的代碼 關聯網站和App 添加App Indexing API代碼Intent過濾器和App Indexing API是實現URL支持和索引的方式,但也有其他的可行方法。
Android Studio可以在清單中創建基本的Intent過濾器,你可以在其中定義URLs。在Activity中寫Java代碼來操作Intent。這個實現可以讓用戶通過點擊一個URL來直接打開指定的App。用戶可以在浏覽器的google.com、Google Search App、Google Now On Tap中看到這個URLs。
在為你的應用設置了URL支持後,你可以使用Google Search Console和Google Play Developer Console把你的網站和App關聯。在這之後,Google會通過你Intent過濾器中的URLs索引到你的App,並且開始將它們包含到搜索結果中。另外,你可以選擇性的將App的內容屏蔽在Google搜索之外。在你將網站和App關聯後,像Now On Tap的功能和提升搜索結果顯示(相包含你的App圖標)就會可用。
在Android 6.0(API 23)及更高版本中,你可以為URL添加默認的處理器和驗證,以替代把你的網站和App相關聯。
Chrome顯示的google.com服務的搜索結果的URL對所有登錄和未登錄的用戶都是可以訪問的。對於Google Search App,用戶必須登錄才能看到搜索結果的URL。
接下來,如果你想你的App支持搜索功能,比如自動填充,你需要添加App Indexing API代碼到你Activity中。Android Studio可以在Activity添加構架代碼,你可以優化它以支持App索引。App Indexing API可以能使你App索引,即使在GoogleBot無法得到你App內容的情況下。
Android Studio可以幫你測試以下功能:
URL支持測試幫你驗證指定的URL是否可以啟動一個App logcat顯示器幫你測試Activity中的App Indexing API調用情況 Android Lint工具可以對URL支持和App Indexing API的一些問題發出警告。這些警告和錯誤顯示在代碼編輯器和Lint inspection結果中 Google App Indexing測試來檢查Google能否通過爬蟲你的App頁面或App Indexing API索引到你的URL使用Android Studio添加一個定義URL的Intent過濾器。
在工程窗口的Android視圖中,雙擊打開AndroidManifest.xml文件按以下方式中的一種插入Intent過濾器:
點擊activity元素的左側,會出現燈泡,點擊燈泡選擇Create URL 右擊元素activity,選擇Generate>URL<喎?/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPiCw0cTjtcS54rHqt8XU2tK7uPZBY3Rpdml0edbQo6zRodTxPHN0cm9uZz5Db2RlICZndDsgR2VuZXJhdGUmZ3Q7VVJMPC9zdHJvbmc+DQo8cD60+sLrseC8rcb3yrnTwzxhIGhyZWY9"https://www.jetbrains.com/help/idea/2016.1/intention-actions.html">Intention Action和生成代碼機制來添加主要代碼。代碼編輯器會生成與以下代碼相似的Intent過濾器
修改
在添加了URL支持到你的App之後,你需要添加App Indexing API代碼到Activity中以支持附加的搜索功能
添加App Indexing API到Activity中:
在Project窗口的Android視圖中,雙擊Activity文件進入編輯界面通過以下方式之一插入框架代碼:
在Activity定義中,單擊Java代碼,出現燈泡圖標,點擊燈泡選擇Insert App Indexing API Code 在Activity編輯界面,右擊選擇Generate > App Indexing API Code 光標停留在Activity編輯界面,選擇Code > Generate > App Indexing API Code代碼編輯器使用Intention Action和生成代碼機制來添加架構代碼。
如果你看不到App Indexing API Code的菜單選項,確保你的光標在Activity內,且按App Indexing API的方法檢查你的代碼。代碼編輯器會依據以下情形之一來插入架構代碼到Activity中:
如果Activity中沒有onStart()方法,或者onStart()沒有包含AppIndexApi.start()或AppIndexApi.view()調用 如果Activity中沒有onStop()方法,或者onStop()沒有包含AppIndexApi.end()或AppIndexApi.end()調用代碼編輯器插入的Java代碼與以下代碼相似:
/**
* ATTENTION: This was auto-generated to implement the App Indexing API.
* See https://g.co/AppIndexing/AndroidStudio for more information.
*/
private GoogleApiClient client;
// ATTENTION: This was auto-generated to implement the App Indexing API.
// See https://g.co/AppIndexing/AndroidStudio for more information.
client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
@Override
public void onStart() {
super.onStart();
// ATTENTION: This was auto-generated to implement the App Indexing API.
// See https://g.co/AppIndexing/AndroidStudio for more information.
client.connect();
Action viewAction = Action.newAction(
Action.TYPE_VIEW, // TODO: choose an action type.
"Main Page", // TODO: Define a title for the content shown.
// TODO: If you have web page content that matches
// this app activity's content,
// make sure this auto-generated web page URL is correct.
// Otherwise, set the URL to null.
Uri.parse("http://www.example.com/gizmos"),
// TODO: Make sure this auto-generated app URL is correct.
Uri.parse("android-app://com.example/http/www.example.com/gizmos")
);
AppIndex.AppIndexApi.start(client, viewAction);
}
@Override
public void onStop() {
super.onStop();
// ATTENTION: This was auto-generated to implement the App Indexing API.
// See https://g.co/AppIndexing/AndroidStudio for more information.
Action viewAction = Action.newAction(
Action.TYPE_VIEW, // TODO: choose an action type.
"Main Page", // TODO: Define a title for the content shown.
// TODO: If you have web page content that matches
// this app activity's content,
// make sure this auto-generated web page URL is correct.
// Otherwise, set the URL to null.
Uri.parse("http://www.example.com/gizmos"),
// TODO: Make sure this auto-generated app URL is correct.
Uri.parse("android-app://com.example/http/www.example.com/gizmos")
);
AppIndex.AppIndexApi.end(client, viewAction);
client.disconnect();
}
}
關於App Indexing API方法的更多信息,請查看Android API for App Indexing,關於Action類型的更多信息,請查看Action類常量總結。
如果你的App沒有准備配置Google Play服務的App Indexing API,代碼編輯器也會修改並包含在build.gradle和AndroidManifest.xml文件。如果你的App依賴Google Play服務,且版本低於8.1,那你的應該升級到8.1版本。更多信息請查看Google Play服務和設置Google Play服務。
按需優化架構代碼
請仔細查看注釋會幫你找到需要修改的地方,例如設置標題和URL,更多信息請查看添加App Indexing API。
用logcat顯示器驗證你的App Indexing代碼是否運行。
為了運行和調試App Indexing API代碼,你可以使用Android Studio以下功能:
檢查logcat的監控信息。 啟用Android Lint以下功能:Missing support for Google App Indexing API 測試Google App Indexing另外,你可以在Google Search Console中預覽你的APK
當你用Android Studio運行App時,你可以指定一個URL來啟動且測試。
要啟動於Android Studio中的URL:
在Android Studio中打開Android視圖 選中一個工程,選run > Edit Configurations 在Run/Debug Configurations對話框中,在Android Application下面,選擇你要運行的應用 選擇General標簽 在Launch中,選擇URL 在URL中,點擊…從列表中選擇一個URL如果Select Deployment Target對話框出現,選擇一個連接設備或模擬設備
如果鏈接是成功的,App會在設備或模擬設備啟動,並且在指定的activity中顯示App,否則的話,錯誤信息會顯示在Run窗口
關於設置App的運行信息,請查看編譯運行App
當App運行時,你可以查看App Indexing API的日志
logcat Monitor可以顯示應用的索引的日志信息以確定你應用的App Indexing API代碼是否推送正確的數據到雲端。例如,你可以查驗App的標題和URL。logcat Monitor是Android Monitor的一部分。
在logcat Monitor中查看App Indexing API日志信息:
在Android Studio中運行你的App,它會啟動URL 顯示Android Monitor點擊logcat標簽 設置log的級別為Verbose 在過濾器菜單中,選擇No Filters用字符串“appindex”在log中搜索
App的索引日志信息就會顯現,如果沒有,請檢查以下項目:
設備或模擬器上是否安裝了 Google Play服務?可以通過檢查設備的設置得知 設備或模擬器上的Google Play服務的版本是否低於build.gradle指定的版本?如果是的話,那可能版本已經太,必須升級到更高的版本。更多信息請查看下載Google Play服務和設置Google Play服務。
訪問App界面啟動App Indexing API調用
你可以使用Android Studio內建的Lint工具來檢查定義在清單文件中的URLs和已在Activity中實現的App Indexing API代碼是否有效。
你可以通過兩種方式看到URL和App Indexing的警告和錯誤信息。
代碼編輯器中彈出的文本。當Lint發現問題時,他會用黃色高亮有問題代碼,或者在更嚴重代碼下標紅 選擇Analyze > Inspect Code ,彈出的Lint的Inspection Results窗口中用默認的Lint來檢查URLs和the App Indexing API:
在Android Studio中打開你的Android視圖 選擇File > Other Settings > Default Settings 在Default Preferences對話框中,選擇Editor > Inspections 在Profile中,選擇Default或Project Default來決定該設置的適用范圍是整個Android Studio或本工程展開Android Lint的目錄,並根據需要更改Lint的設置:
Missing support for Google App Indexing - 如果應用沒有執行被Google Search使用的URLs會報告警告,默認是選中的 Missing support for Google App Indexing API:當應用沒有實現App Indexing API時會報告。默認不選中 URL not supported by app for Google App Indexing:報告清單文件中的URL錯誤,默認選中例如,以下是第一種設置中的Lint警告:
點擊OK
執行Inspection Results窗口中一系列的Lint檢查:
在Android Studio中打開工程的Android視圖,選擇你要測試的工程的一部分 選擇Analyze > Inspect Code在Specify Inspection Scope對話框中,設置inspection scope和profile
inspection scope指定了你想分析的文件,profile指定你想執行的Lint檢查
如果你想改Lint的設置,點擊Inspections對話框中的…。在Inspections對話框中,選擇Manage定義一個新的配置文件,指定Lint設置,點擊 OK
在Inspections對話框中,你可以搜索“app indexing”來找到URL和App Indexing API的Lint檢查。注意在Inspections 對話框中改變配置的Lint設置不會改變默認設置,就像之前描述的那樣。但是,它會改變配置文件的設置。
點擊OK
結果顯示在Inspection Results窗口中
你可以用Google App Indexing Test來檢查Google能否通過爬蟲你的應用頁面或使用App Indexing API來索引到URL。Google可以索引到你的URL如果你的應用至少支持以下情形的一種:
URL指定的頁面可以由Googlebot打開或爬蟲 你的應用通過 App Indexing API發送了正確的數據指定Google App Indexing Test:
在應用中添加URL或App Indexing API 在Android Studio中打開你的應用,選擇 Tools > Android > Google App Indexing Test 在Google App Indexing Test 對話框中,設置Module, URL和Language 如果你看到需要登錄Google Cloud Platform帳號的信息的話,你需要登錄在Google App Indexing Test對話框中,點擊OK
Android Studio會編譯APK並且開始測試,需要幾分鐘才能完成,結果會顯示在代碼編輯器的新標簽頁中。
如果應用預覽在屏幕右邊,顯示的和你測試的URL相關的界面,那麼Googlebot就能找到該URL。
修改測試發現的問題,並且按需要重復測試
以下是一些常見的錯誤和警告提示:
警告或錯誤 描述 Error: Google cannot index this page. 你的應用不能被Googlebot爬蟲或無法使用App Indexing API,所以Google無法索引到的你的App Warning: The App URL you sent by using the App Indexing API doesn’t match the URL opened. 當調用App Indexing API時,在App中指定的URL必須和打開的URL相匹配 Warning: Google cannot index this page using the App Indexing API because the title is empty. 當調用 App Indexing API時,標題不能為空 Warning: Google can index this page using Googlebot crawling but identified blocked resources. App參考了其他資源,其中一些被阻塞或暫時不可用。如果不是關鍵資源,可能無關緊要。檢查右邊預覽到的內容是否正確顯示。要解決此問題,要確保資源不被 robots.txt 攔截 Warning: Google cannot index this page using the App Indexing API. 你的應用無法使用App Indexing API,推薦添加 App Indexing API到你的App中1.定位相關的一些API1)LocationManager官方API文檔:LocationManager這玩意是系統服務來的,不能直接new,需要
先上幾張自定義所實現的效果圖吧,有興趣的可以繼續往下看 實現思路,前四張圖呢在自定義progressbar時沒有加入text文本,文本是在xml布局時加
本文實例講述了android編程之ip2id程序。分享給大家供大家參考。具體分析如下:一、說明:公司一個項目中需要給一系列網絡設備分配id號,id是根據ip算出來的,算法
由於工作需要,今天簡單研究了一下ExpandableListView,做了一個類似QQ列表的Demo,和大家分享一下。效果圖如下:先來看看主布局文件: 這裡