0

アセット フォルダーにデータベース (database.json) があります。コードでアクセスしようとすると、Eclipse は Web ブラウザで開こうとするため、nullが返されます。

これが私の問題のコードサンプルです。

 public class JsonDBparse extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_json_dbparse);
        JSONObject db   = parse("file:///android_asset/database.json");
        JSONObject shop = parse("file:///android_asset/shop.json");
        Toast.makeText(getApplicationContext(), (CharSequence) db, Toast.LENGTH_LONG).show();
    }

CTRL+クリックを使用するたびに

    "file:///android_asset/database.json" 

Eclipse は Web ブラウザを開き、ファイル パスが URI であると想定します。データベースにアクセスするにはどうすればよいですか?

4

1 に答える 1

1
URL url = getClass().getResource("database.json");
File file = new File(url.getPath());
JSONObject db   = parse(file.toString());

これは機能します。

于 2013-07-05T13:06:40.507 に答える