请考虑以下代码:
HashSet hs = new HashSet();
hs.add("hi"); -- (1)
hs.add("hi"); -- (2)
Run Code Online (Sandbox Code Playgroud)
hs.size()将给出1,因为HashSet不允许重复,因此只存储一个元素.
我想知道我们是否添加了重复元素,然后它是否替换了前一个元素,或者它只是不添加它?
此外,HashMap在同一案件中使用会发生什么?
我有一个对象的ArrayList.该对象包含"Bitmap"和"String"类型,然后只包含两者的getter和setter.首先是Bitmap可序列化?
我如何将其序列化以将其存储在SharedPreferences中?我见过很多人问过类似的问题,但似乎没有人给出一个好的答案.如果可能的话,我更喜欢一些代码示例.
如果位图不可序列化,那么我该如何存储这个ArrayList?
非常感谢.
我有一个产品列表,我从webservice检索,当应用程序第一次打开时,应用程序从webservice获取产品列表.我想将此列表保存到共享首选项.
List<Product> medicineList = new ArrayList<Product>();
Run Code Online (Sandbox Code Playgroud)
产品类是:
public class Product {
public final String productName;
public final String price;
public final String content;
public final String imageUrl;
public Product(String productName, String price, String content, String imageUrl) {
this.productName = productName;
this.price = price;
this.content = content;
this.imageUrl = imageUrl;
}
}
Run Code Online (Sandbox Code Playgroud)
我如何保存此列表不是每次都从webservice请求?
谁能告诉我如何将自定义Serializable对象列表保存 到SharedPreference?我是Android新手,我希望将其保存ArrayList<Contact> list到共享首选项中.
public class MainActivity extends SherlockFragmentActivity {
PlaceSlidesFragmentAdapter mAdapter;
ViewPager mPager;
PageIndicator mIndicator;
public static final String TAG = "detailsFragment";
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.main,
container, false);
mAdapter = new PlaceSlidesFragmentAdapter(getActivity()
.getSupportFragmentManager());
mPager = (ViewPager) view.findViewById(R.id.pager);
mPager.setAdapter(mAdapter);
mIndicator = (CirclePageIndicator) view.findViewById(R.id.indicator);
mIndicator.setViewPager(mPager);
((CirclePageIndicator) mIndicator).setSnap(true);
mIndicator
.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
Toast.makeText(MainActivity.this.getActivity(),
"Changed to page " + position,
Toast.LENGTH_SHORT).show();
}
@Override …Run Code Online (Sandbox Code Playgroud) 我有一个基本的功能,需要在我的Android应用程序中序列化.用户将向ArrayList添加一些值,我想序列化它以避免为这个小选项使用数据库,当然要学习如何序列化(我是一个begginer),因为它似乎很有用.无论如何,用户在arraylist中保存了一些内容,程序关闭,程序再次启动,用户可以看到保存的数据.我该如何实现呢?你能提供一些代码片段或有用的链接吗?
非常感谢!!
我有一个ArrayList,其中包含用户填充的字符串,以便在ListView中的其他活动中使用,以查看他们保存的字符串.我想要保存他们填充的ArrayList,但我很失落如何让它工作.我尝试过FileOutputStream,SharedPreferences.我看了很多例子.
比如我有
ArrayList<String> give = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
并保存arraylist香港专业教育学院尝试过的东西
FileOutputStream fos = openFileOutput(MYFILENAME, Context.MODE_PRIVATE);
fos.write(give.getBytes());
fos.close();
Run Code Online (Sandbox Code Playgroud)
但这根本不起作用
我想知道是否可以在共享首选项中保存一个字符串数组,每次我们保存某个字符串时,我们将它存储在该数组中.
例如,我有一个具有特定ID的位置列表,我想将其标记为收藏夹.理想的情况是,有一个数组,数组中保存了一定的位置ID(我们称之为LOCATION1),所以下一次我要标记的新位置为最喜欢的(姑且称之为LOCATION2),我检索数组(到目前为止包含Location1)并添加我要添加的新位置的ID(Location2).
Android有存储基本对象的方法,但不存在数组.有什么想法,为了做到这一点,拜托?
我正在尝试使用TinyDB的putListObject功能将对象列表保存到共享首选项,但是我收到了一个Wrong 2nd argument type错误.我可以正常使用该putObject功能,只有在我使用该putListObject功能时才会出现错误.
玩家类:
public class Player {
private String name = "";
private int score = 0;
public Player(String name, int score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
}
Run Code Online (Sandbox Code Playgroud)
putListObject函数:
public void putListObject(String key, ArrayList<Object> objArray){ …Run Code Online (Sandbox Code Playgroud) 我正在寻找几个小时来找出为什么在共享首选项中保存布尔列表不起作用.
方法不保存或加载某些东西...... loadmethod总是返回替代值:所以list_size为0,布尔值为false.
首先,我在MainActivity中创建列表并调用save方法:
SaveLoadTraining sLoad = new SaveLoadTraining();
ArrayList<Boolean> listBoolTrain = new ArrayList<Boolean>();
listBoolTrain.add(true);
listBoolTrain.add(true);
sLoad.saveArray(listBoolTrain);
Run Code Online (Sandbox Code Playgroud)
子类SaveLoadTraining看起来像这样:
package de.sebspr.app08.halle;
import java.util.ArrayList;
import android.content.Context;
import android.content.SharedPreferences;
import de.sebspr.app08.MainActivity;
public class SaveLoadTraining {
private Context context;
public static final String PREFS_NAME = "ListFile";
private ArrayList<Boolean> list;
public SaveLoadTraining(){
this.context = MainActivity.getMContext();
}
public void saveArray(ArrayList<Boolean> list){
this.list = list;
SharedPreferences settings = context.getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
int size = list.size();
editor.putInt("list_size", size);
for (int i = 0; i < …Run Code Online (Sandbox Code Playgroud) 我正在保存ArrayList大小和数据SharedPreferences.当我ArrayList从中检索尺寸SharedPreference时给出确切尺寸,无论之前保存的尺寸如何.但在这里我没有保存ArrayList数据.当我检索ArrayList数据时,它总是给出最后一项ArrayList.
这是我保存ArrayList大小和数据的代码:
ArrayList<Items> mArrayList1 = new ArrayList<Items>();
if(mArrayList1 == 0){
mStoreItem.setItem(id);
mArrayList1.add(mStoreItem);
int size = mArrayList1.size();
System.out.println("array list size : " + size);
MyPreferences.savePreferences(getActivity(),
"arraylist_size", Integer.toString(size));
for (int i = 0; i < mArrayList1.size(); i++) {
String id = mArrayList1.get(i)
.getItem();
MyPreferences.savePreferences(getActivity(),
"id", id);
}
} else if(mArrayList1 > 0){
mStoreItem.setItem(id);
mArrayList1.add(mStoreItem);
int size = mArrayList1.size();
System.out.println("arrayList size : " + size);
MyPreferences.savePreferences(getActivity(),
"arraylist_size", …Run Code Online (Sandbox Code Playgroud) android ×9
arraylist ×3
java ×3
duplicates ×1
hashmap ×1
hashset ×1
save ×1
serializable ×1
storage ×1