相关疑难解决方法(0)

将ArrayList保存到SharedPreferences

我有一个ArrayList自定义对象.每个自定义对象都包含各种字符串和数字.即使用户离开活动然后想要稍后返回,我也需要数组停留,但是在应用程序完全关闭后我不需要数组可用.我通过这种方式保存了很多其他对象,SharedPreferences但我无法弄清楚如何以这种方式保存整个数组.这可能吗?也许SharedPreferences这不是解决这个问题的方法吗?有更简单的方法吗?

android arraylist sharedpreferences

297
推荐指数
15
解决办法
34万
查看次数

在Java中序列化和反序列化android.graphics.Bitmap

我已经开始研究我的第一个Android应用程序,并具有处理具有多个图层的图像的应用程序的基础.我能够将项目文件的平面版本导出为PNG,但我希望能够保存分层图像以供以后编辑(包括应用于某些图层的任何选项,例如基于文本的图层).

无论如何,我已经确保需要写入文件的类是'Serializable'但是由于android.graphics.Bitmap不可序列化而导致了一些路障.下面的代码实际上将Bitmap作为PNG输出到ByteArray中,并应作为'readObject'的一部分将其读回.但是,当代码运行时 - 我可以验证读入的'imageByteArrayLength'变量与输出的变量相同 - 但'Bitmap image'始终为null.

任何帮助将不胜感激.谢谢阅读.

private String title;
private int width;
private int height;
private Bitmap sourceImage;
private Canvas sourceCanvas;        
private Bitmap currentImage;
private Canvas currentCanvas;   
private Paint currentPaint; 

private void writeObject(ObjectOutputStream out) throws IOException{
    out.writeObject(title);
    out.writeInt(width);
    out.writeInt(height);

    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    currentImage.compress(Bitmap.CompressFormat.PNG, 100, stream);
    byte[] imageByteArray = stream.toByteArray();

    int length = imageByteArray.length;
    out.writeInt(length);
    out.write(imageByteArray);          
}

private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException{
    this.title = (String)in.readObject();
    this.width = in.readInt();
    this.height = in.readInt();

    int imageByteArrayLength = in.readInt(); …
Run Code Online (Sandbox Code Playgroud)

java serialization android

11
推荐指数
2
解决办法
2万
查看次数

将自定义对象数组保存到共享首选项

我可以将自己的对象数组保存到SharedPreferences中,如下面的帖子中所示吗?

自定义对象的Android ArrayList - 保存到SharedPreferences - 可序列化?

但是他没有保存数组,那么是否有可能将自定义对象数组保存到SharedPreferences中,就像在链接的帖子中一样?

arrays android object sharedpreferences

4
推荐指数
1
解决办法
1万
查看次数

如何将List <CustomClass>转换为ArrayList <CustomClass>,反之亦然?

我有一个CustomClass,Bean/Model/Pojo它用于从Json保存自定义Obejcts.我希望保存ArrayListCustomClass的内容SharedPreference并在特殊情况下将其恢复.我发现它存储在一个方式SharedPreference 在这里!正确的答案是SpyZip 我能够存储和检索一个,List但我想存储和检索一个ArrayList.

这是一个片段,显示我如何存储和检索值SharedPreference:

    // This method will save custom class ArrayList<Bean>
    public void saveUserFavouriteStations(
            ArrayList<RadioStationBean> radioStation) {
        FavouriteStationHolder = this.getSharedPreferences("stations", 0);
        Editor editor = FavouriteStationHolder.edit();
        Gson gson = new Gson();
        String jsonCars = gson.toJson(radioStation);
        editor.putString("stations", jsonCars);
        System.out.println("Custom ArrayList Saved in App Class");
        editor.commit();
    }

    public ArrayList<RadioStationBean> getUserFavouriteStations() {
        FavouriteStationHolder = this.getSharedPreferences("stations", 0);
        if (FavouriteStationHolder != null) {
            String jsonString = …
Run Code Online (Sandbox Code Playgroud)

java android list arraylist sharedpreferences

-2
推荐指数
1
解决办法
538
查看次数