Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中通过HasMap以csv格式文件写入数据?_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

如何在android中通过HasMap以csv格式文件写入数据?

如何在android中通过HasMap以csv格式文件写入数据?,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,下面是代码,如果我的类在HashMap中从firebase获取数据,那么我已经将该数据存储到arraylist中,并将数组列表的数据转换为逗号分隔的字符串,但它没有像我预期的那样工作,下面是我的firebase数据的屏幕截图。 .. SharedReferences SharedReferences; @凌驾 创建时受保护的void(@Nullable Bundle savedInstanceState){ super.onCreate(savedInstanceState); setCont

下面是代码,如果我的类在HashMap中从firebase获取数据,那么我已经将该数据存储到arraylist中,并将数组列表的数据转换为逗号分隔的字符串,但它没有像我预期的那样工作,下面是我的firebase数据的屏幕截图。 ..

SharedReferences SharedReferences;
@凌驾
创建时受保护的void(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_报告);
SharedReferences=GetSharedReferences(“Pref”,Context.MODE\u PRIVATE);
DatabaseReference DatabaseReference=FirebaseDatabase.getInstance().getReference().child(“用户”);
databaseReference.addValueEventListener(新的ValueEventListener(){
@凌驾
public void onDataChange(@NonNull DataSnapshot DataSnapshot){
ArrayList myArrList=新建ArrayList();
Map userData=(Map)dataSnapshot.getValue();
添加(用户数据);
Log.d(“data”,userData.toString());
csv(myArrList);
Log.d(“99”,SharedReferences.getString(“GeneralString”),和;
字符串路径=
Environment.getExternalStorageDirectory()+File.separator+“Mccia”;
//创建文件夹。
文件夹=新文件(路径);
folder.mkdirs();
//创建文件。
文件=新文件(文件夹“config.csv”);
试一试{
createNewFile();
FileOutputStream fOut=新的FileOutputStream(文件);
OutputStreamWriter myOutWriter=新的OutputStreamWriter(fOut);
追加(SharedReferences.getString(“GeneralString”,下称“));
myOutWriter.close();
fOut.flush();
fOut.close();
}捕获(IOE异常){
Log.e(“异常”,“文件写入失败:”+e.toString());
}
}
@凌驾
已取消的公共void(@NonNull DatabaseError DatabaseError){
}
});
}
下面是我将列表数据转换为字符串的方法

private ArrayList<Map<String, CompanyData>> csv(ArrayList<Map<String, CompanyData>> mapArrayList) {
        ArrayList<Map<String, CompanyData>> g = mapArrayList;
        SharedPreferences.Editor editor = sharedPreferences.edit();
        StringBuilder st = new StringBuilder();
        for (Map<String, CompanyData> item : g) {
            st.append(item);
        }
        if (!g.isEmpty()) {
            editor.putString("generalStrings", st.toString().substring(0, st.toString().length() - 1));
            editor.apply();
        } else {
            editor.putString("generalStrings", " ");
            editor.apply();
        }
        return g;
    }
私有ArrayList csv(ArrayList mapArrayList){
ArrayList g=mapArrayList;
SharedReferences.Editor=SharedReferences.edit();
StringBuilder st=新的StringBuilder();
用于(地图项目:g){
圣彼得堡(项目);
}
如果(!g.isEmpty()){
putString(“GeneralString”,st.toString().substring(0,st.toString().length()-1));
editor.apply();
}否则{
putString(“generalStrings”,”);
editor.apply();
}
返回g;
}
请帮帮我,或者告诉我怎么做。我有openCsv和superCSV库,但没有帮助

private ArrayList<Map<String, CompanyData>> csv(ArrayList<Map<String, CompanyData>> mapArrayList) {
        ArrayList<Map<String, CompanyData>> g = mapArrayList;
        SharedPreferences.Editor editor = sharedPreferences.edit();
        StringBuilder st = new StringBuilder();
        for (Map<String, CompanyData> item : g) {
            st.append(item);
        }
        if (!g.isEmpty()) {
            editor.putString("generalStrings", st.toString().substring(0, st.toString().length() - 1));
            editor.apply();
        } else {
            editor.putString("generalStrings", " ");
            editor.apply();
        }
        return g;
    }