當前位置:首頁 » 安卓系統 » android集合

android集合

發布時間: 2022-01-22 22:29:49

1. Android 中傳遞對象的集合

Intent intent = ....;//intent定義
ArrayList<User> list = .....;//list賦值
intent.putExtra("userList", list.toArray());
startActivity(intent);
前提是list中的User必須implements Serializable

接收時:
Intent intent = this.getIntent();
Object[] cobjs = (Object[]) intent.getSerializableExtra("userList");
for (int i = 0; i < cobjs.length; i++) {
User user = (User) cobjs[i];
userList.add(user);
}

2. android怎麼傳一個list集合

方法1: 直接讓User類繼承Serializable或者Parcelable介面即可,Intent只可以傳輸序列化的對象<pre t="code" l="java">//User類
public class User implements Serializable{
private String name;
.
}

//直接加入intent
List<User> list = new ArrayList<User>();
Intent intent = new Intent();
intent.putExtra("list",list);
方法2: 把list集合轉為字元串表示,可以使用json格式,直接用Gson框架轉換即可,再到另一個activity轉換回來<pre t="code" l="java">List<User> list = new ArrayList<User>();
Type type = new TypeToken<ArrayList<User>()>(){}.getType();
String json = new Gson().toJson(list,type);
intent.putExtra("list",json);

//轉換回List<User>
String json = getIntent.getStringExtra("list");
Type type = new TypeToken<ArrayList<User>()>(){}.getType();
List<User> list = new Gson().fromJson(json,type);

3. android 怎麼取list數據

按以下代碼可獲取到list數據:
package com.example.sdtg.sdsw;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.ksoap2.SoapEnvelope;
import org.ksoap2.SoapFault;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;

import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;

public class ListActivity extends Activity {

// 命名空間
// String nameSpace = "http://tempuri.org/";
// 調用的方法名稱
// String methodName = "GetSjSearch";
// EndPoint
// String endPoint = "http://192.168.0.145/webservice2/gswebservice.asmx";
// SOAP Action
// String soapAction = "http://tempuri.org/GetSjSearch";
// List<Map<String, Object>> mList;
ListView ListV;

HashMap<String, Object> map = new HashMap<String, Object>();
private List<Map<String,String>> listItems;
SimpleAdapter mListAdapter;
String name="";
String addr="";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);

listItems = new ArrayList<Map<String,String>>();
ListV=(ListView)findViewById(R.id.ListView01);
Handler indicate = new Handler();
//獲取主頁面傳的值
final Intent data = getIntent();
name=data.getStringExtra("Name");
addr=data.getStringExtra("Addr");
new NetAsyncTask().execute();

ListV.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
//獲得選中項的HashMap對象
TextView viewtmc = (TextView) arg1.findViewById(R.id.textListmc);
TextView viewdz = (TextView) arg1.findViewById(R.id.textlistdz);
TextView viewid = (TextView) arg1.findViewById(R.id.textlistid);
//String playerChanged = c.getText().toString();
Bundle bundle = new Bundle();
bundle.putString("Name", viewtmc.getText().toString());
bundle.putString("Addr", viewdz.getText().toString());
bundle.putString("ID", viewid.getText().toString());
final Intent data = getIntent();
data.putExtras(bundle);
//跳轉回MainActivity
//注意下面的RESULT_OK常量要與回傳接收的Activity中onActivityResult()方法一致
ListActivity.this.setResult(RESULT_OK, data);
//關閉當前activity
ListActivity.this.finish();
}

});

};

class NetAsyncTask extends AsyncTask<Object, Object, String> {

@Override
protected void onPostExecute(String result) {
if (result.equals("success")) {

mListAdapter = null;
mListAdapter = new SimpleAdapter(ListActivity.this, listItems, R.layout.item,new String[]{"title", "info", "img"}, new int[]{R.id.textListmc, R.id.textlistdz, R.id.textlistid});
ListV.setAdapter(mListAdapter);
}
super.onPostExecute(result);
}

@Override
protected String doInBackground(Object... params) {
// 命名空間
String nameSpace = "http://tempuri.org/";
// 調用的方法名稱
String methodName = "GetSjSearch";
// EndPoint
String endPoint = "http://192.168.0.145/webservice2/gswebservice.asmx";
// SOAP Action
String soapAction = "http://tempuri.org/GetSjSearch";

// 指定WebService的命名空間和調用的方法名
SoapObject rpc = new SoapObject(nameSpace, methodName);

// 設置需調用WebService介面需要傳入的兩個參數mobileCode、userId
rpc.addProperty("name", name);
rpc.addProperty("address", addr);

// 生成調用WebService方法的SOAP請求信息,並指定SOAP的版本
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
// SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);

envelope.bodyOut = rpc;
// 設置是否調用的是dotNet開發的WebService
envelope.dotNet = true;
// 等價於envelope.bodyOut = rpc;
envelope.setOutputSoapObject(rpc);

HttpTransportSE transport = new HttpTransportSE(endPoint);
try {
// 調用WebService
transport.call(soapAction, envelope);
} catch (Exception e) {
e.printStackTrace();
}

SoapObject object;
// 開始調用遠程方法
try {
object = (SoapObject) envelope.getResponse();
int count = object.getPropertyCount();
// 得到伺服器傳回的數據
int count1 = object.getPropertyCount();
if(count1>0)
{
for (int i = 0; i < count1; i++) {
Map<String,String> listItem = new HashMap<String, String>();
SoapObject soapProvince = (SoapObject)object.getProperty(i);
listItem.put("title", soapProvince.getProperty("DJXX_NSRMC").toString());
listItem.put("info", soapProvince.getProperty("DJXX_ZCDJ").toString());
//listItem.put("img", soapProvince.getProperty("DJXX_NSRSBH").toString());
listItems.add(listItem);
}}
} catch (IOException e) {
e.printStackTrace();
//return "IOException";
}
return "success";
}
}

}

4. 請問怎樣從一個android 對象集合中遍歷並獲取對象

請具體說,你說的是獲取一個activity裡面的所有的組件嗎?比如按鈕什麼的,那你可以
View r = v.getRootView();獲取一個組件的上層容器,比如v是一個button,那麼你獲得了它上層的容器,然後r裡面應該有方法顯示包含的組件數,和獲取組件的方法,你找下
etgotoX = (EditText) r.findViewById(R.id.gotoX);//這個是獲取裡面的一個的

5. Android中,我想遍歷一個集合,處理其中每個對象的數據

上傳平台是網路操作,所以要開子線程,然後用handler通知主線程處理下一條數據,直到集合里的所有數據處理完畢;

6. android開發,多個類都可以調用同一個類中的list<user>集合,怎麼做

用sharePreference 把信息保存到手機中的一個XML文件里 就好了。
這是一種常用的保存一些簡單信息的方法。比如一些軟體記住密碼就是這樣做。

7. android怎麼取出list裡面特定的數據

只需要循環一下,判斷即可。

示例代碼:
1.遍歷整個list集合
for(int i=0; i<list.size(); i++){
}
2.在for循環中增加判斷代碼
if(list.get(i).equals("指定")){}

3.得到每一個item進行判斷即可。

8. android中怎麼取l集合的下標

首先你要取得文件的路徑的字元串,然後定義一個集合l(list)將這些路徑都裝到集合中,讓後通過Intent將這個集合傳到下一個Activity(Intent inten=new Intent(),intent.putExtra("list",list);)就ok了。在下一個Activity中通過intent.getExtra("list");就能得到傳過來的集合了。我沒有詳細的代碼,過程說得還是比較清楚的,希望對你有幫助。

9. 在Android中 集合怎麼聲明

你寫的第一個是直接實例化,第二個是介面具體實例化。
List是一個介面,而ListArray是一個類。
ListArray繼承並實現了List。
所以List不能被構造,但可以向上面那樣為List創建一個引用,而ListArray就可以被構造。
List list; //正確 list=null;
List list=new List(); // 是錯誤的用法
List list = new ArrayList();這句創建了一個ArrayList的對象後把上溯到了List。此時它是一個List對象了,有些ArrayList有但是List沒有的屬性和方法,它就不能再用了。

10. 如何用android sharedpreferences鍸ist集合

需要加密的,sharedperfreference在Root的手機里可以直接adbpull下來看,里邊其實就是個xml,存儲的明文,存用戶名密碼自己加下密吧。用戶可以在設置--應用管理里清除數據來清除sharedpreferences.

熱點內容
php種子怎麼打開 發布:2024-11-15 06:07:01 瀏覽:345
密碼箱的密碼忘記了如何開鎖 發布:2024-11-15 06:04:41 瀏覽:955
安卓軟體和蘋果系統哪個好 發布:2024-11-15 05:48:32 瀏覽:283
pythonwhileelse 發布:2024-11-15 05:39:10 瀏覽:671
java文件流上傳文件 發布:2024-11-15 05:24:02 瀏覽:147
linux安裝so 發布:2024-11-15 05:22:29 瀏覽:581
九游版冒險王2適合安卓哪個版本 發布:2024-11-15 05:12:33 瀏覽:600
iphonexsmax怎麼連接伺服器 發布:2024-11-15 05:11:46 瀏覽:775
長江存儲校招 發布:2024-11-15 05:11:01 瀏覽:966
oraclesql函數大全 發布:2024-11-15 05:10:00 瀏覽:465