怎样在activity之间传递poisearch数据 Android 中Activity之间怎么传递数据库中查询得...

\u5982\u4f55\u5728Android\u5f00\u53d1\u4e2dactivity\u4e4b\u95f4\u6570\u636e\u4f20\u9012

android\u5404\u7ec4\u4ef6\u4e4b\u95f4\u53ef\u4ee5\u4f7f\u7528Intent\u6765\u4f20\u9012\u6570\u636e\uff0c \u8fd9\u91cc\u4ee5ActivityA\u5411ActivityB\u4f20\u9012\u6570\u636e\u4e3a\u4f8b
Intent intent = new Intent(context, ActivityB.class);//\u5982\u679ccontext\u4e0a\u4e0b\u6587\u4e0d\u662fActivity\u7684\u8bdd\uff0c \u9700\u8981\u6dfb\u52a0\u4e0b\u9762\u8fd9\u4e2aflag\uff0cif (!(context instanceof Activity)) { intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);}//\u6dfb\u52a0\u8981\u4f20\u9012\u7684\u6570\u636e//\u8fd9\u91cc\u7684key\u5230\u65f6\u5019ActivityB\u4f1a\u7528\u6765\u5f97\u5230value//android\u8981\u6c42\u53ef\u4ee5\u4f20\u9012\u7684\u6570\u636e\u7c7b\u578b\u5305\u62ec\u57fa\u672c\u6570\u636e\u7c7b\u578b\uff0c//\u57fa\u672c\u6570\u636e\u7c7b\u578b\u7684\u6570\u7ec4\uff0cCharSequence,\u4ee5\u53ca\u5b9e\u73b0\u4e86Parcelable\u7684\u5bf9\u8c61//putExtra\u662f\u91cd\u8f7d\u65b9\u6cd5\uff0c \u6839\u636evalue\u7684\u7c7b\u578b\u4f1a\u9002\u5f53\u7684\u6253\u5305\u8fdbintent\u7684Bundle\u5bf9\u8c61\u91ccintent.putExtra(key, value);//\u6216\u5219\u5c06\u6570\u636e\u6253\u5305\u8fdbBundle data\u91cc\uff0c \u7136\u540eintent.putExtras(data);context.startActivity(intent);\u5728ActivityB\u4e2d
public void onCreate(Bundle savedInstanceState) { //\u5f97\u5230\u4f20\u9012\u8fc7\u6765\u7684\u6570\u636e Bundle bundle = getIntent().getExtras(); //\u901a\u8fc7getXXX\u65b9\u6cd5\u6765\u83b7\u53d6key\u5bf9\u5e94\u7684value bundle.getXXX(key);}

\u53ef\u4ee5\u7684\uff0cBundle\u5b83\u53ef\u4ee5\u7528key-value\u7684\u5f62\u5f0f\u5b58\u53d6\u6570\u636e\uff0c\u4f60\u53ef\u4ee5\u628acursor\u4e2d\u7684\u6570\u636e\u5b58\u5165bundle\u4e2d\uff0c\u901a\u8fc7intent\u4f20\u5230\u4e0b\u4e00\u4e2aactivity\u4e2d

先上代码:
(一)这是实现跳转的页面

package com.aa;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Activity2 extends Activity{
private Button ac02_button1=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity2);
ac02_button1 = (Button)findViewById(R.id.ac02_button1);
ac02_button1.setOnClickListener(new ac02_button1Listener());

}
class ac02_button1Listener implements OnClickListener{

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(Activity2.this,PoiSearchDemo.class);
Activity2.this.startActivity(intent);

}
}
}

(二)这是要跳转的baidu map activity页面

package com.aa;

import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.EditText;
import android.widget.Toast;

import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.search.MKAddrInfo;
import com.baidu.mapapi.search.MKBusLineResult;
import com.baidu.mapapi.search.MKDrivingRouteResult;
import com.baidu.mapapi.search.MKPoiInfo;
import com.baidu.mapapi.search.MKPoiResult;
import com.baidu.mapapi.search.MKSearch;
import com.baidu.mapapi.search.MKSearchListener;
import com.baidu.mapapi.search.MKSuggestionInfo;
import com.baidu.mapapi.search.MKSuggestionResult;
import com.baidu.mapapi.search.MKTransitRouteResult;
import com.baidu.mapapi.search.MKWalkingRouteResult;

/**
* 演示poi搜索功能
*/
public class PoiSearchDemo extends Activity {

private MapView mMapView = null;
private MKSearch mSearch = null; // 搜索模块,也可去掉地图模块独立使用
/**
*
*/
private AutoCompleteTextView keyWorldsView = null;
private ArrayAdapter<String> sugAdapter = null;
private int load_Index;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DemoApplication app = (DemoApplication)this.getApplication();
if (app.mBMapManager == null) {
app.mBMapManager = new BMapManager(this);
app.mBMapManager.init(DemoApplication.strKey,new DemoApplication.MyGeneralListener());
}
setContentView(R.layout.activity_poisearch);
mMapView = (MapView)findViewById(R.id.bmapView);
mMapView.getController().enableClick(true);
mMapView.getController().setZoom(12);

// 初始化搜索模块,注册搜索事件监听
mSearch = new MKSearch();
mSearch.init(app.mBMapManager, new MKSearchListener(){
//在此处理详情页结果
@Override
public void onGetPoiDetailSearchResult(int type, int error) {
if (error != 0) {
Toast.makeText(PoiSearchDemo.this, "抱歉,未找到结果", Toast.LENGTH_SHORT).show();
}
else {
Toast.makeText(PoiSearchDemo.this, "成功,查看详情页面", Toast.LENGTH_SHORT).show();
}
}
/**
* 在此处理poi搜索结果
*/
public void onGetPoiResult(MKPoiResult res, int type, int error) {
// 错误号可参考MKEvent中的定义
if (error != 0 || res == null) {
Toast.makeText(PoiSearchDemo.this, "抱歉,未找到结果", Toast.LENGTH_LONG).show();
return;
}
// 将地图移动到第一个POI中心点
if (res.getCurrentNumPois() > 0) {
// 将poi结果显示到地图上
MyPoiOverlay poiOverlay = new MyPoiOverlay(PoiSearchDemo.this, mMapView, mSearch);
poiOverlay.setData(res.getAllPoi());
mMapView.getOverlays().clear();
mMapView.getOverlays().add(poiOverlay);
mMapView.refresh();
//当ePoiType为2(公交线路)或4(地铁线路)时, poi坐标为空
for( MKPoiInfo info : res.getAllPoi() ){
if ( info.pt != null ){
mMapView.getController().animateTo(info.pt);
break;
}
}
} else if (res.getCityListNum() > 0) {
//当输入关键字在本市没有找到,但在其他城市找到时,返回包含该关键字信息的城市列表
String strInfo = "在";
for (int i = 0; i < res.getCityListNum(); i++) {
strInfo += res.getCityListInfo(i).city;
strInfo += ",";
}
strInfo += "找到结果";
Toast.makeText(PoiSearchDemo.this, strInfo, Toast.LENGTH_LONG).show();
}
}
public void onGetDrivingRouteResult(MKDrivingRouteResult res,
int error) {
}
public void onGetTransitRouteResult(MKTransitRouteResult res,
int error) {
}
public void onGetWalkingRouteResult(MKWalkingRouteResult res,
int error) {
}
public void onGetAddrResult(MKAddrInfo res, int error) {
}
public void onGetBusDetailResult(MKBusLineResult result, int iError) {
}
/**
* 更新建议列表
*/
@Override
public void onGetSuggestionResult(MKSuggestionResult res, int arg1) {
if ( res == null || res.getAllSuggestions() == null){
return ;
}
sugAdapter.clear();
for ( MKSuggestionInfo info : res.getAllSuggestions()){
if ( info.key != null)
sugAdapter.add(info.key);
}
sugAdapter.notifyDataSetChanged();

}
});

keyWorldsView = (AutoCompleteTextView) findViewById(R.id.searchkey);
sugAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line);
keyWorldsView.setAdapter(sugAdapter);

/**
* 当输入关键字变化时,动态更新建议列表
*/
keyWorldsView.addTextChangedListener(new TextWatcher(){

@Override
public void afterTextChanged(Editable arg0) {

}

@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {

}
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2,
int arg3) {
if ( cs.length() <=0 ){
return ;
}
String city = ((EditText)findViewById(R.id.city)).getText().toString();
/**
* 使用建议搜索服务获取建议列表,结果在onSuggestionResult()中更新
*/
mSearch.suggestionSearch(cs.toString(), city);
}
});

}

@Override
protected void onPause() {
mMapView.onPause();
super.onPause();
}

@Override
protected void onResume() {
mMapView.onResume();
super.onResume();
}

@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mMapView.onSaveInstanceState(outState);

}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
mMapView.onRestoreInstanceState(savedInstanceState);
}

private void initMapView() {
mMapView.setLongClickable(true);
mMapView.getController().setZoom(14);
mMapView.getController().enableClick(true);
mMapView.setBuiltInZoomControls(true);
}
/**
* 影响搜索按钮点击事件
* @param v
*/
public void searchButtonProcess(View v) {
EditText editCity = (EditText)findViewById(R.id.city);
EditText editSearchKey = (EditText)findViewById(R.id.searchkey);
mSearch.poiSearchInCity(editCity.getText().toString(),
editSearchKey.getText().toString());
}
public void goToNextPage(View v) {
//搜索下一组poi
int flag = mSearch.goToPoiPage(++load_Index);
if (flag != 0) {
Toast.makeText(PoiSearchDemo.this, "先搜索开始,然后再搜索下一组数据", Toast.LENGTH_SHORT).show();
}
}
}

  • 濡備綍鍦涓嶅悓鐨刟ndroid搴旂敤涔嬮棿浼犻鏁版嵁
    绛旓細1銆佸師濮嬫暟鎹被鍨: 鍦ˋctivity/Servier涔嬮棿浼犻掍复鏃舵х殑鍘熷鏁版嵁锛屽彲浠ヤ娇鐢↖ntent鐨刾utExtras鏂规硶鏉ヤ紶閫掓暟鎹銆傝嫢浼犻掔殑鏁版嵁闇瑕侀暱涔呬繚瀛橈紝鍒欎娇鐢⊿haredPreference绫绘潵瀹屾垚銆 2銆佷紶閫掑璞° 褰撳湪Activity/Servier涔嬮棿浼犻掍笉闇瑕侀暱涔呬繚瀛樼殑瀵硅薄鏃讹紝鍙互浣跨敤浠ヤ笅鍑犵閫斿緞: (1)閫氳繃Application绫伙紝姣忎釜Android搴旂敤绋嬪簭閮...
  • 濡備綍abactivity鍊浼犻鍒癮bactivity
    绛旓細锛堜竴锛ActivityA浼犻鍙傛暟缁 ActivityB ActivityA绫荤殑浠g爜:Java浠g爜 Bundle bundle = new Bundle();bundle.putInt("id", 120);//瑕佷紶閫掔殑鍙傛暟锛屾牴鎹疄闄呰姹傝缃 Intent intent = new Intent(this,ActivityB.class);intent.putExtras(bundle);//杩欓噷鐢╯tartActivityForResult锛岃〃鏄庤繕闇瑕佷粠ActivityB鎺ユ敹...
  • android涓や釜activity涔嬮棿鎬庝箞浼犻鏁版嵁
    绛旓細Activity涔嬮棿鏄病鏈夊姙娉曠洿鎺ヤ紶閫掓暟鎹殑銆侫ndroid鐨勮璁″師鍒欐槸锛岀敤Intent鍦ㄤ笉鍚岀殑Activity鍜岃繘绋嬩箣闂磋繘琛岄氫俊锛屼絾鏄氬父鏉ヨ锛孖ntent涓彧鑳藉瓨鍏ュ熀鏈暟鎹被鍨嬪拰绯荤粺榛樿鏀寔鐨勬瘮濡俇ri涔嬬被鐨勩傞偅涔堝浜庣敤鎴疯嚜宸卞畾涔夌殑鏁版嵁缁撴瀯鏄棤娉曠洿鎺ョ敤Intent鏉ヤ紶閫佺殑锛屽鏋滄兂瑕侀氳繃Intent鏉ヤ紶閫掕嚜瀹氫箟鏁版嵁锛屽彲浠ヨ鏁版嵁缁撴瀯瀹炵幇Parcelab...
  • Android Activity涔嬮棿浼犻瀵硅薄鍙婂璞℃暟缁
    绛旓細鏂规硶涓锛歋erializable 蹇呴』鏉′欢锛氱被瀹炵幇浜哠erializable鎺ュ彛 浼犻掑璞★細 浼犻掔锛 鎺ユ敹绔細 浼犻掑璞℃暟缁勶細 浼犻掔锛 鎺ユ敹绔細 鏂规硶浜岋細Parcelable 蹇呴』鏉′欢锛氱被瀹炵幇浜哖arcelable鎺ュ彛 浼犻掑璞★細 浼犻掔锛 鎺ユ敹绔細 浼犻掑璞℃暟...
  • Android鐨凙ctivity鍜Activity涔嬮棿鎬庝箞鍦鍚庡彴浼犻鏁版嵁鐨,涓嶆槸璺宠浆鏃剁敤i...
    绛旓細鍙互鑰冭檻鐢ㄥ箍鎾潵瀹炵幇锛屽湪绗竴涓狝ctivity璋冪敤sendBroadcast鏂规硶锛欼ntent intent = new Intent(INTENAL_ACTION_3);intent.putExtra("Name", "hellogv");intent.putExtra("Blog", "http://blog.csdn.net/hellogv");sendBroadcast(intent);//浼犻掕繃鍘荤浜屼釜Activity鐢╮egisterReceiver鐩戝惉骞挎挱锛欼ntentFilter ...
  • intent鍦╝ctivity涓兘浼犻浠涔堢被鍨嬬殑鍊
    绛旓細鍦ˋndroid搴旂敤鐨勫紑鍙戜腑锛屽鏋滄垜浠渶瑕佸湪涓嶅悓鐨勬ā鍧楋紙姣斿涓嶅悓鐨Activity涔嬮棿锛涔嬮棿浼犻鏁版嵁锛岄氬父鏈変互涓嬩袱绉嶆柟娉曪細1. 鍒╃敤Intent瀵硅薄鎼哄甫鏁版嵁 閫氳繃鏌ヨIntent/Bundle鐨凙PI鏂囨。锛屾垜浠彲浠ヨ幏鐭ワ紝Intent/Bundle鏀寔浼犻掑熀鏈被鍨嬬殑鏁版嵁鍜屽熀鏈被鍨嬬殑鏁扮粍鏁版嵁锛屼互鍙奡tring/CharSequence绫诲瀷鐨勬暟鎹拰String/CharSequence绫诲瀷...
  • 濡備綍鍦ˋctivity涔嬮棿浼犻Handler
    绛旓細鏂规硶涓锛氫娇鐢⊿ervice锛屾瘡涓狝ctivity鍜孲ervice涓兘鍒涘缓涓涓狧andler锛岃岃繖浜汬andler鍏辩敤涓涓狶ooper銆傛柟娉曚簩锛鍦ˋctivity鍜宻ervice涓浼犻handler鐨 鐢ㄦ潵鍦ㄧ晫闈㈡洿鏂板悗鍙板噯澶囧ソ鐨勬暟鎹紝鎴戝湪bindservice鍚庣殑杩炴帴鏂规硶涓皟鐢ㄤ簡service涓殑鏌愪簺鏂规硶锛屾妸handler浼犺繃鍘伙紝鍚庡彴鐨勬暟鎹噯澶囧ソ鐩存帴鐢╤andler閫氱煡鐣岄潰 鏂规硶涓夛細鍦ㄤ竴涓叕鍏...
  • 鐢ㄤ粈涔堟柟娉鍦ˋctivity涔嬮棿浼犻澶ф暟鎹弬
    绛旓細鏂规硶涓锛氬皢闇瑕浼犻鐨勬暟鎹啓鍦ㄤ复鏃舵枃浠舵垨鑰呮暟鎹簱涓紝鍐嶈烦杞埌鍙﹀涓涓粍浠剁殑鏃跺欏啀鍘昏鍙栬繖浜涙暟鎹俊鎭紝杩欑澶勭悊鏂瑰紡浼氱敱浜庤鍐欐枃浠惰緝涓鸿楁椂瀵艰嚧绋嬪簭杩愯鏁堢巼杈冧綆锛涙柟娉曚簩锛氬皢闇瑕佷紶閫掔殑鏁版嵁淇℃伅灏佽鍦ㄤ竴涓潤鎬佺殑绫讳腑锛堟敞鎰忓綋鍓嶇粍浠跺拰瑕佽烦杞埌鐨勭粍浠跺繀椤诲睘浜庡悓涓涓繘绋嬶紝鍥犱负杩涚▼涔嬮棿鎵嶈兘澶熷叡浜暟鎹級锛屽湪...
  • android activity 闂翠紶閫鑷畾涔夌被鍨嬫暟鎹鎬庝箞浼犺緭
    绛旓細1銆佽嚜瀹氫箟涓涓狝pplication鐨勬淳鐢熺被MyApplication锛岀劧鍚庡湪Manifest涓寚瀹歁yApplication涓轰綘鐨刟pplication name銆2銆佸湪MyApplication涓畾涔変綘瑕浼犻鏁版嵁绫诲瀷瀵瑰簲鐨勫彉閲忋傜劧鍚庡鍔犱竴涓垚鍛樺嚱鏁帮紝鐢ㄤ簬鑾峰緱璇ュ彉閲忕殑寮曠敤銆3銆佸綋鐒跺MyApplication涓搴斿彉閲忕殑璇诲啓瑕佸仛濂藉悓姝ャ--- 鏇村鐤戦棶瑙g瓟锛岃鍏虫敞@瀹夊崜浜掑姪骞冲彴 鏂...
  • 濡備綍android澶Activity闂鍏变韩鏁版嵁
    绛旓細鍦ˋndroid涓娇鐢↖ntent鍦ㄤ袱涓Activity闂翠紶閫鏁版嵁鏃讹紝鍙兘鏄熀鏈被鍨嬫暟鎹紝鎴栬呮槸搴忓垪鍖栧璞°侷ntent鏄竴绉嶅熀浜庢秷鎭殑杩涚▼鍐呭拰杩涚▼闂撮氫俊妯″瀷锛屽綋鎴戜滑闇瑕佸湪鎴戜滑搴旂敤绋嬪簭鍐呴儴锛屽涓狝ctivity闂磋繘琛屽鏉傛暟鎹璞″叡浜氦浜掓椂锛屼娇鐢↖ntent灏辨樉寰楀緢涓嶆柟渚裤傛鏃讹紝鎴戜滑灏遍渶瑕佷竴绉嶆暟鎹叡浜殑鏈哄埗鏉ュ疄鐜般傚綋鐒讹紝鐩存帴浣跨敤java...
  • 扩展阅读:activity入口 ... 手机里activity是什么 ... 当前activity安卓下载 ... 安卓启动activity的方法 ... 启动activity的两个方法 ... 如何设置启动activity ... 不是activity启动方法 ... activity中的七种状态 ... activity工作流的启动过程 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网