listview显示历史数据

listview联网之前就显示以前的数据
以前因为是把数据保存到数据库,但那样很麻烦,后来看了oschina客户端发现把数据序列换然后保存到文件就可以了
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
 
import android.content.Context;
 
/**
*
* @author zhulei
*
*/
public class FileObj {
    private Context context;
    public FileObj(Context context) {
        this.context = context;
    }
 
    /**
     * 保存对象
     * @param ser
     * @param file
     * @throws IOException
     */
    public boolean saveObject(Serializable ser, String file) {
        FileOutputStream fos = null;
        ObjectOutputStream oos = null;
        try{
            fos = context.openFileOutput(file, Context.MODE_PRIVATE);
            oos = new ObjectOutputStream(fos);
            oos.writeObject(ser);
            oos.flush();
            return true;
        }catch(Exception e){
            e.printStackTrace();
            return false;
        }finally{
            try {
                oos.close();
            } catch (Exception e) {}
            try {
                fos.close();
            } catch (Exception e) {}
        }
    }
 
    /**
     * 读取对象
     * @param file
     * @return
     * @throws IOException
     */
    public Serializable readObject(String file){
        FileInputStream fis = null;
        ObjectInputStream ois = null;
        try{
            fis = context.openFileInput(file);
            ois = new ObjectInputStream(fis);
            return (Serializable)ois.readObject();
        }catch(FileNotFoundException e){
        }catch(Exception e){
            e.printStackTrace();
 
        }finally{
            try {
                ois.close();
            } catch (Exception e) {}
            try {
                fis.close();
            } catch (Exception e) {}
        }
        return null;
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,在你的布局文件中添加 RatingBar 和一个 ListView: ``` <RatingBar android:id="@+id/ratingBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numStars="5" android:stepSize="0.5" android:rating="0" /> <ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="wrap_content" /> ``` 接下来,在你的 Activity 中,你需要定义一个 List 和一个 ArrayAdapter,用于存储和展示历史分数。同时,你需要在 RatingBar 上添加一个 OnRatingBarChangeListener,以便在用户改变评分时更新历史分数。 ``` public class MainActivity extends AppCompatActivity { private List<String> scoresList = new ArrayList<>(); private ArrayAdapter<String> adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); RatingBar ratingBar = findViewById(R.id.ratingBar); ListView listView = findViewById(R.id.listView); adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, scoresList); listView.setAdapter(adapter); ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() { @Override public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { String scoreText = "Score: " + rating; scoresList.add(scoreText); adapter.notifyDataSetChanged(); } }); } } ``` 在这个例子中,当用户改变评分时,我们将评分转换为字符串并添加到 scoresList 中,然后调用 adapter.notifyDataSetChanged() 方法以通知 ListView 更新数据。 现在你已经可以在 RatingBar 上评分并在 ListView显示历史分数了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值