編輯:關於Android編程
在這裡簡單的介紹下怎麼統計自己研發的APP 的用戶活躍度,和使用量,以此來展示自己APP的用戶使用量!
我們的APP都需要注入數據分析,以供我們實時的了解APP的下載和使用量提供了依據!
不過我還是更多的偏好使用Umeng 統計,但因為項目要求,需要集成百度統計,為此簡單的介紹下使用!
集成開發步驟:
在百度統計Web網站https://mtj.baidu.com/web/welcome/login申請百度統計的AppKey 點擊SDK下載 https://mtj.baidu.com/web/sdk/index 下載SDK 當中包括先關的jar 包 在自己的基類中添加統計的相關API
import com.baidu.mobstat.StatService;
import com.wly.frame.utils.AppManager;
import android.app.Activity;
public class BaseActivity extends Activity {
@Override
public void setContentView(int layoutResID) {
super.setContentView(layoutResID);
AppManager.getAppManager().addActivity(this);
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
StatService.onResume(this);
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
StatService.onPause(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
AppManager.getAppManager().finishActivity(this);
}
}
在AndroidManifest.xml 清單文件中聲明相關權限 渠道號,Appkey 等
在 meta-data 中聲明相關的AppKey
Application 的聲明設置
讓自己的Application extends FrontiaApplication
public class DemoApplication extends FrontiaApplication{
@Override
public void onCreate(){
super.onCreate();
}
}
在百度統計集成的SDK 文檔中並沒有闡述這點,本人是抱著試試的態度,然後就沒有 繼承 FrontiaApplication 這個東西!而是直接使用 DemoApplication extends Application 然後再清單文件中進行聲明
經過測試也是可以統計的!不知是否是因為 百度統計的更新!還是什麼,在此也沒有做更多的了解!如果讀者發現有什麼問題可以告知?
統計示例:
統計Activity 界面
public class BaseActivity extends Activity {
@Override
public void setContentView(int layoutResID) {
super.setContentView(layoutResID);
AppManager.getAppManager().addActivity(this);
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
StatService.onResume(this);
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
StatService.onPause(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
AppManager.getAppManager().finishActivity(this);
}
}
StatService.onResume(this); StatService.onPause(this); 統計的是具體的包名。在Web網站觀看的效果如下圖

StatService.onPageStart(Context context, Sring pageName); StatService.onPageEnd(Context context, Sring pageName);
public class FounActivity extends Activity implements OnClickListener{
private TextView tv_back;
private TextView tv_title;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fount);
initView();
}
private void initView() {
tv_back = (TextView) findViewById(R.id.tv_back);
tv_back.setOnClickListener(this);
tv_title = (TextView) findViewById(R.id.tv_title);
tv_title.setText("發現");
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.tv_back:
finish();
break;
default:
break;
}
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
StatService.onPageStart(this, "發現界面");
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
StatService.onPageEnd(this, "發現界面");
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
}
}
這樣的話就是統計的具體界面在Web網站看到的效果就是這樣!
vcq9o7q4+b7dsNm2yM2zvMa1xFNESyDOxLW1o6zKudPD19S2qNLlvefD5r340NDNs7zGo6y8tL/JveK+9rjDzsrM4qOsy/nS1NTZzbO8xkZyYWdtZW50tcTKsbryztLDx7u5ysfXosjr19S2qNLlzbO8xr3nw+a1xEFQSaGjDQo8cHJlIGNsYXNzPQ=="brush:java;">
public class SportFragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_contact_list, container, false);
}
@Override
public void onResume() {
// TODO Auto-generated method stub
super.onResume();
StatService.onPageStart(getActivity, "運動界面");
}
@Override
public void onPause() {
// TODO Auto-generated method stub
super.onPause();
StatService.onPageEnd(getActivity, "運動界面");
}
}
這樣就可以統計每個預覽的Fragment 界面了。

自定義事件
統計某個按鈕的熱度,我們可以使用自定義事件,首先我們需要在Web 網站中注冊並添加自定義事件,具體的操作就不在過多的贅述了,如果還有什麼不了解可以參考百度 統計的SDK文檔
API:
@params event_id 為在網站注冊的點擊事件id,二者必須對應 StatService.onEvent(Context context, String event_id, String label, int acc)
實例:
button.setOnClickListener(new View.onClickListener(){
@Override
public void onClick(View v) {
StatService.onEvent(MainActivity.this,"buildRequest","update",1)
}
});
截圖就不在上傳了!
其實吧,在統計數據方面我還是喜歡使用UMeng統計,不知你們覺得的呢?但是畢竟是由於項目的要求,為此在簡單的使用下!
Android實戰技巧之四十六:用patch更新Android Studio
公司機器上的Android Studio很時髦,每次都會准時接收到官方穩定版的推送。目前最新的穩定版本是1.4.1,增加了很多心動的功能。可是我的筆記本上的AS還在1.3
Android PickerView滾動選擇器的使用方法
手機裡設置鬧鐘需要選擇時間,那個選擇時間的控件就是滾動選擇器,前幾天用手機刷了MIUI,發現自帶的那個時間選擇器效果挺好看的,於是就自己仿寫了一個,權當練手。先來看效果:
Android數據庫高手秘籍(一)——SQLite命令
要想熟練地操作任何一個數據庫,最最基本的要求就是要懂SQL語言,這也是每個程序員都應該掌握的技能。雖說SQL博大精深,要想精通確實很難,但最基本的一些建表命
android適配器中的觀察者模式
1. 模式介紹模式的定義定義對象間一種一對多的依賴關系,使得每當一個對象改變狀態,則所有依賴於它的對象都會得到通知並被自動更新。模式的使用場景關聯行為場景。需要注意的是,