gpt4 book ai didi

java - 创建嵌入 IF 逻辑的文件

转载 作者:行者123 更新时间:2023-12-01 14:37:39 24 4
gpt4 key购买 nike

实际上有两个问题:

主要问题:我希望你不能用简单的逻辑写出一个文件,这不是真的!我有一个光标可以在屏幕上加载动态列表,通常由 onCreate 调用。这样可行。现在,我需要写入“sdCard”作为备份。 (如果我的 watch 决定重置为第一天,我将重新加载 - 它还允许我从带有键盘的电脑添加条目。)

我决定最好的方法是调用现有的光标,但设置一个开关来指示将其写出。文件需要 try-catch,所以我把它放在打开、写入和关闭周围。 “作家”是没有定义的。因此,我将其全部放在一个“TRY”中,如果没有括号,则该“TRY”有效 - 没有“IF”。

但是添加“IF (--SWITCH SET)”{---writer.write(strBuRec); ..}"需要 {--} 现在作者又是未定义的。

我当然希望我做错了什么(可能是愚蠢的事情)!我可以将代码复制到第二个光标中,但我不想这样做。

第二个问题:请注意,关闭游标 (//cursor.close();) 已被注释掉。这是因为,如果我重新绘制屏幕,​​或者在这种情况下,重新调用光标来写出我的文件,我会关闭光标。如果关闭光标,我只能加载一次。

注意:这是一个适用于我的 WIMMOne 的简单应用程序,因此需要版本 7。此代码位于一个 fragment 中(这是一个错误的决定,但它就在那里)。

非常感谢,克拉克

@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor)
{
Log.d("EventLst","0 LoadFin");
int iRecNo = 0;
iBuCnt = 0;
mAdapter.swapCursor(cursor);

//----------------------------------------
// if exporting, open the file

try
{
if (strRunBu == "Y")
{
FileWriter writer;
String path = Environment.getExternalStorageDirectory().getAbsoluteFile() + "/Event";
File dir = new File(path);
Log.d("Eventfile","00 File:" + dir);
File flEvent = new File(dir, "EVENT.TXT");
boolean canIWrite = dir.canWrite();

Log.d("Eventfile","0 File:" + flEvent + "=" + canIWrite);
flEvent.createNewFile();
Log.d("Eventfile","1 File:" + flEvent);
writer = new FileWriter(flEvent);
}

// ------------------------------------------
// Insert dummy first record to serve as a label
//
String strBuRec = "";
strRecord.clear();
strRecord.add(0, "mm-dd-yy: Event name");
cursor.moveToFirst();

Log.d("EventLst","1 LoadFin DO");
// ----------------------------------------
// Read from cursor and add each record to list
while (cursor.isAfterLast() == false)
{
iRecNo = iRecNo + 1;
// - Table has 4 columns, read them into string array: strC
String strC[] = { (cursor.getString(0)), (cursor.getString(1)),
(cursor.getString(2)), (cursor.getString(3))
};
// - The fourth column is the date/time in milliseconds since
// January 1,1970
// convert to date in yyyy-mm-dd format
String strDateMil = (cursor.getString(3));
long lgDate = cursor.getLong(3);
Log.d("EventLst","4 LoadCSR:" + "I:" + iRecNo + "Ld:" + lgDate);
SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd-yy");
String strDate = dateFormat.format(new Date(lgDate));

// - Concatenate date and event into one string, add to table
strRecord.add(iRecNo, strDate + ": " + strC[2]);

// - save record number for each event in strRecId
// - Records are sorted by date, so we need to save RowId to pass
// - to edit screen
strRecId.add((cursor.getString(0)));

//---------------------------
// if-creating export file, write a record
if (strRunBu == "Y")
{
dateFormat = new SimpleDateFormat("HH:mm");
String strTime = dateFormat.format(new Date(lgDate));

strBuRec = ( (cursor.getString(1)) + "," + (cursor.getString(2))
+ "," + strDate + "," + strTime + "\r\n" );
Log.d("EventLst","4 LoadCSR:" + "BU:" + strBuRec);

// ERROR: writer cannot be resolved ??????????
writer.write(strBuRec);
Log.d("Eventfile","4 File:" + "wrote");
}

strEventRec.add(iBuCnt, strBuRec);
iBuCnt = iBuCnt + 1;

cursor.moveToNext();
} // ----end of while loop
//------------------------------------
// COULD NOT CLOSE THE CURSOR?????
//cursor.close();
//------------------------------------
if (strRunBu == "Y")
{
// ERROR: writer cannot be resolved ???????????
writer.flush();
// ERROR: writer cannot be resolved ???????????
writer.close();
};
} //---> BACKTO try
catch (IOException e)
{
Toast.makeText(getActivity(), "Close ER"+ e,
Toast.LENGTH_SHORT).show();
}
Log.d("Eventfile","4 File:" + "Closed");
strRunBu = "N";

lstAdapter = new ArrayAdapter<String>(getActivity(),
R.layout.event_row, R.id.text1, strRecord);

// * Call to SetListAdapter()informs ListFragment how to fill ListView
// * here use ArrayAdapter
setListAdapter(lstAdapter);
// Log.d("EventLst","8 LoadCSR:" + "ALLDONE");

}

最佳答案

{} 定义范围 - 您需要确保变量在正确的范围内定义。即不在 if 范围内,而是包含 if 的范围内。

在我看来,你的 try-catch block 中的内容太多了!

另外:这一行 if (strRunBu == "Y") 有一个典型的菜鸟错误,即将字符串与 == 进行比较 - 使用 if (strRunBu .equals("Y")) 相反。

关于java - 创建嵌入 IF 逻辑的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16329119/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com