0

パスワードで保護された SQLite データベースがあります。私はパスワードを知っています123456qwAS

アプリがデータベースを自動的に開くことができるように、このパスワードをアプリに埋め込みたいと考えています。このデータベースがパスワードで保護される前は、次のコードを使用してデータベースを開いていました。

public void showWordlist()
{
    edWord.setEnabled(true);
    String word = edWord.getText().toString();
    Uri uri = Uri.parse("content://myapp_Provider/dict/" + mDBFile.fileName + "/list/" + word);
    edWord.requestFocus();      
    try
    {
        @SuppressWarnings("deprecation")
        Cursor result = managedQuery(uri,null,null,null,null);          
        if (result != null)
        {
            int countRow=result.getCount();
            Log.i(MAIN_TAG, "countRow = " + countRow);
            mLSTCurrentWord.clear();
            //mLSTCurrentContent.clear();
            mLSTCurrentWordId.clear();
            mAdapter.clear();
            if (countRow >= 1)
            {
                int indexWordColumn = result.getColumnIndex("word");
                int indexIdColumn = result.getColumnIndex("id");
                result.moveToFirst();
                String strWord;
                int intId;

                int i = 0;
                do
                {
                    strWord = Utility.decodeContent(result.getString(indexWordColumn));
                    intId = result.getInt(indexIdColumn);
                    mLSTCurrentWord.add(i,strWord);
                    mLSTCurrentWordId.add(i,intId);
                    mAdapter.add(strWord);
                    i++;
                } while (result.moveToNext()); 
            }       
            result.close();
        }
        lstWord.setAdapter(mAdapter);
    }
    catch (Exception ex)
    {
        Log.e(MAIN_TAG, "Error = " + ex.toString());  
    }
    edWord.setEnabled(true);        
}

そこで、私の質問になります:上記のパスワードをプログラムでこのコードに追加して、アプリがパスワードで保護されたデータベースを自動的に開く (および読み込む) ことができるようにするにはどうすればよいですか?

4

1 に答える 1

0

Android は、暗号化/パスワード保護された SQLite 操作をサポートしていません。別の方法として、ほぼ 1MB のオーバーヘッドでこのような保護を提供すると主張するH2 データベースを統合することもできます。

于 2013-06-24T07:22:56.070 に答える