【问题标题】:LibGDX - Cannot find Preferences location in Android DeviceLibGDX - 在 Android 设备中找不到首选项位置
【发布时间】:2015-10-01 04:29:16
【问题描述】:

我正在使用 LibGDX 学习偏好。我可以在 Windows 和 Android 设备中成功运行以下代码。文件“MyDemo”存储在 我的 C: 驱动器用户目录。它是完美的。我也可以在 Android 设备上成功运行代码。但是,我找不到文件“MyDemo”。没有什么 在 Android/data/...

package com.hkprogram.mydemo;

import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Preferences;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;

public class MyDemo implements ApplicationListener {

    private SpriteBatch batch;
    private BitmapFont font1;
    int screenWidth, screenHeight;

    public Preferences prefs;
    String name;

    @Override
    public void create() {

        batch = new SpriteBatch();    
        font1 = new BitmapFont();
        font1.setColor(Color.BLACK);
        font1.setScale(5);
        screenWidth=Gdx.graphics.getWidth();
        screenHeight=Gdx.graphics.getHeight();

        Preferences prefs = Gdx.app.getPreferences("MyDemo");
        prefs.putString("Name", "Peter");
        prefs.flush();

        prefs = Gdx.app.getPreferences("MyDemo");
        name=prefs.getString("Name","no name stored");
        System.out.println("Name="+name);       
    }   

    @Override
    public void dispose() {
    }
    @Override
    public void pause() {       
    }
    @Override
    public void render() {
         Gdx.gl.glClearColor(159/255.0f,220/255.0f,235/255.0f,0xff/255.0f);
         Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);       
         batch.begin();
         font1.draw(batch, name, screenWidth/2, screenHeight/2);
         batch.end();
    }
    @Override
    public void resize(int arg0, int arg1) {        
    }
    @Override
    public void resume() {      
    }
}

【问题讨论】:

  • 对不起。我已阅读上述问题。我的问题是我在我的 Android 设备中找不到 data/... 目录。我认为这是因为我没有根我的设备,也没有简单的方法来查看“数据”目录。我说的对吗?
  • 答案 Skizo 凝视你是 IMO 一个很好的答案 - 但它几乎完全是给定的 stackoverflow.com/a/9108524/719662
  • 为什么我需要知道路径?因为我想在学习的时候有深刻的理解。感谢您的回复。
  • 只是 FIY - 了解实现细节或设备细节几乎不是“深入了解”,尤其是在使用可以具有数百个供应商特定设置的平台时 - 一个好的软件工程师应该花费大部分时间处理抽象而不是低级实现的时间和精力。

标签: android libgdx sharedpreferences preferences file-handling


【解决方案1】:

您可以获得MyDemo 执行此操作的路径:

File MyDemoFile = getDatabasePath("MyDemo.txt"); //choose your extension
if (MyDemoFile != null){
Log.d("Absolute path : ", MyDemoFile.getAbsolutePath());
}

【讨论】:

    猜你喜欢
    • 2015-02-16
    • 2014-10-10
    • 1970-01-01
    • 2013-05-19
    • 1970-01-01
    • 2011-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多