編輯:關於Android編程
[java]
package com.umeng.example.analytics;
import java.util.HashMap;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;
import com.umeng.analytics.MobclickAgent;
import com.umeng.example.R;
import com.umeng.ui.BaseSinglePaneActivity;
public class AnalyticsHome extends BaseSinglePaneActivity {
private Context mContext;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
MobclickAgent.setDebugMode(true);
// MobclickAgent.setAutoLocation(false);
// MobclickAgent.setSessionContinueMillis(10000);
// MobclickAgent.setUpdateOnlyWifi(false);
MobclickAgent.onError(this);
MobclickAgent.updateOnlineConfig(this);
}
@Override
public void onResume() {
super.onResume();
MobclickAgent.onResume(mContext);
}
@Override
public void onPause() {
super.onPause();
MobclickAgent.onPause(mContext);
}
@Override
protected Fragment onCreatePane() {
return new AnalyticsHomeDashboardFragment();
}
public static class AnalyticsHomeDashboardFragment extends Fragment {
Context mContext;
private Button online_config;
private Button event;
private Button kv_event;
private Button event_begin;
private Button event_end;
private Button event_duration;
private View.OnClickListener listener = new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
int id = v.getId();
if (id == R.id.umeng_example_analytics_online_config) {
String onlineParams = MobclickAgent.getConfigParams(
mContext, "abc");// the demo param's key is 'abc'
if (onlineParams.equals("")) {
Toast.makeText(mContext, "Get No Online Params",
Toast.LENGTH_SHORT).show();
} else
Toast.makeText(mContext,
"Online Params:" + onlineParams,
Toast.LENGTH_SHORT).show();
} else if (id == R.id.umeng_example_analytics_event) {
MobclickAgent.onEvent(mContext, "click");
MobclickAgent.onEvent(mContext, "click", "button");
} else if (id == R.id.umeng_example_analytics_ekv) {
HashMap<String, String> map = new HashMap<String, String>();
map.put("type", "popular");
map.put("artist", "JJLin");
MobclickAgent.onEvent(mContext, "music", map);
} else if (id == R.id.umeng_example_analytics_duration) {
// We need manual to compute the Events duration
MobclickAgent.onEventDuration(mContext, "book", 12000);
MobclickAgent.onEventDuration(mContext, "book", "chapter1",
23000);
HashMap<String, String> map = new HashMap<String, String>();
map.put("type", "popular");
map.put("artist", "JJLin");
MobclickAgent.onEventDuration(mContext, "music", map,
2330000);
} else if (id == R.id.umeng_example_analytics_event_begin) {
// Log.i("duration", "start");
// when the events start
MobclickAgent.onEventBegin(mContext, "music");
MobclickAgent.onEventBegin(mContext, "music", "one");
HashMap<String, String> map = new HashMap<String, String>();
map.put("type", "popular");
map.put("artist", "JJLin");
MobclickAgent.onKVEventBegin(mContext, "music", map,
"flag0");
} else if (id == R.id.umeng_example_analytics_event_end) {
// Log.i("duration", "end");
// when the event end
MobclickAgent.onEventEnd(mContext, "music");
MobclickAgent.onEventEnd(mContext, "music", "one");
MobclickAgent.onKVEventEnd(mContext, "music", "flag0");
}
}
};
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
mContext = activity;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.umeng_example_analytics,
container, false);
findViews(root);
return root;
}
private void findViews(View root) {
online_config = (Button) root
.findViewById(R.id.umeng_example_analytics_online_config);
event = (Button) root
.findViewById(R.id.umeng_example_analytics_event);
kv_event = (Button) root
.findViewById(R.id.umeng_example_analytics_ekv);
event_begin = (Button) root
.findViewById(R.id.umeng_example_analytics_event_begin);
event_end = (Button) root
.findViewById(R.id.umeng_example_analytics_event_end);
event_duration = (Button) root www.2cto.com
.findViewById(R.id.umeng_example_analytics_duration);
online_config.setOnClickListener(listener);
event.setOnClickListener(listener);
kv_event.setOnClickListener(listener);
event_begin.setOnClickListener(listener);
event_end.setOnClickListener(listener);
event_duration.setOnClickListener(listener);
}
}
}
以在搜索框搜索時,自動補全為例:其中還涉及到一個詞,Tokenizer:分詞器,分解器。上效果圖:MainActivity.java:package com.joan.t
1.View基本知識(1)view的層次結構:ViewGroup也是View;(2)view的位置參數:top、left、right、bottom,分別對應View的左上
概念: java中單例模式是一種常見的設計模式,單例模式分三種:懶漢式單例、餓漢式單例、登記式單例三種。 單例模式有一下特點: 1、單例類只能有一個實例。
首先給大家看一下我們今天這個最終實現的效果圖:我這裡只是單純的實現了scrollview返回頂部的功能。具體效果大家可以適當地美化在實際項目中可以換圖標,去掉右側滾動條等