我创建了写入和读取文件的应用程序。当我单击按钮时,我的文件被写入,并且在同一按钮单击上也读取文件。我希望当我的文件被写入时,该文件将其保存到 SQLite 中。我正在网上冲浪,但找不到正确的来源或想法如何做到这一点。

该文件与输入字符串(例如“代码”)进行比较。如果此 input_String 与存储在 SQLite 数据库中的文件匹配,则如果匹配,用户将无法继续进行进一步的处理。我正在寻求这方面的建议。这是我的代码。

Activity 类:

public class Write extends Activity { 
    /** Called when the activity is first created. */ 
    EditText myText; 
 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.abc); 
        myText = (EditText) findViewById(R.id.myText); 
        Button createButton = (Button) findViewById(R.id.btnCreate); 
        Button readButton = (Button) findViewById(R.id.btnRead); 
        createButton.setOnClickListener(new View.OnClickListener() 
        { 
 
            @Override 
            public void onClick(View v) 
            { 
 
                createFile(myText.getText().toString()); 
                myText.setText(""); 
                readFile(); 
            } 
        }); 
 
         
    } 
 
    private void createFile(String Text) 
    { 
 
        FileOutputStream fos = null; 
        try 
        { 
            fos = openFileOutput("mynote.txt", MODE_PRIVATE); 
            fos.write(Text.getBytes()); 
            Toast.makeText(getApplicationContext(), "File created succesfully", 
                    Toast.LENGTH_SHORT).show(); 
        }  
        catch (FileNotFoundException e)  
        { 
            Log.e("CreateFile", e.getLocalizedMessage()); 
        }  
        catch (IOException e)  
        { 
            Log.e("CreateFile", e.getLocalizedMessage()); 
        } 
 
        finally 
        { 
            if (fos != null)  
            { 
                try  
                { 
                    // drain the stream 
                    fos.flush(); 
                    fos.close(); 
                } 
                catch (IOException e)  
                { 
                    // TODO Auto-generated catch block 
                    e.printStackTrace(); 
                } 
            } 
        } 
    } 

以及DataBase_Adapter代码:

//Table Name 
    public static final String TABLE_NAME_CODE="code_table"; 
     
  //Colum,n Names 
    public static final String KEY_CODE_ID="ID"; 
    public static final String KEY_CODE_NAME="USERNAME"; 
     
     
  //Table Create Statement  
    public static final String DATABASE_CREATE_CODE = "CREATE TABLE "+TABLE_NAME_CODE+" ("+KEY_CODE_ID+" INTEGER PRIMARY KEY AUTOINCREMENT, "+KEY_CODE_NAME+"TEXT)"; 
     
    //Insert Code in Database code_table 
    public void saveCode(String strKey_Code) 
    { 
       ContentValues newValues = new ContentValues(); 
        // Assign values for each row. 
        newValues.put(KEY_CODE_NAME , strKey_Code); 
       
 
        // Insert the row into your table 
        db.insert(TABLE_NAME_CODE, null, newValues); 
        
    } 
             

请您参考如下方法:

您所采取的方法可以改进一点,考虑在数据库中仅存储文件的名称,您已经保存了文件,对吧?为什么要再次将其内容存储在数据库中?


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!