2015-07-13 52 views
-1

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

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() {  
    } 
} 
+0

http://stackoverflow.com/questions/6146106/where -are-shared-preferences-stored – vaxquis

+0

对不起。我已阅读上述问题。我的问题是我无法在Android设备中找到data/...目录。我认为这是因为我没有root设备,也没有简单的方法来查看“data”目录。我对吗? – user1232250

+0

答案Skizo凝视你是一个很好的IMO - 但它几乎是一个给定http://stackoverflow.com/a/9108524/719662 < - 这里;另外,引用的问题的答案提到了找到这条路径的其他方法。使用设备的外壳也是开始找到它的好方法。作为一个侧面说明,为什么你甚至需要知道路径? – vaxquis

回答

0

你可以得到,你必须MyDemo这样的路径:

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