2012-10-31 141 views
1

我試圖將我的手機信息寫入我的應用程序屏幕。我在這裏下面做錯了什麼? 我有我的清單中設置適當的權限。我使用Phonegap開發應用程序。用Jquery。 該應用程序將它拉近不會顯示電話信息。Android將手機數據寫入屏幕

<p id="deviceProperties">Loading device properties...</p> 

整版代碼

<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<meta name="format-detection" content="telephone=no" /> 
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" /> 
<link rel="stylesheet" type="text/css" href="jquery.mobile-1.2.0.css" /> 
<script type="text/javascript" src="jquery-1.8.2.js"></script> 
<script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script> 
<script type="text/javascript" src="jquery.mobile-1.2.0.js"></script> 
<script type="text/javascript"> 

    $(document).on("pageinit", "#newpage", function() { 
     $('#saveButton').click(function() { 
      localStorage.setItem("name", $('#name').val()); 
     }); 

    }); 
    var wID = navigator.accelerometer.watchAcceleration(onSucess, onerror, { frequency: 1000 }); 
    function onSucess(a) { 
     $('#aX').html(a.x); 
     $('#aY').html(a.y); 
     $('#aZ').html(a.z); 
     $('#aTime').html(a.timestamp); 
    } 
    function onError() { 

    } 

    $(document).on('pageshow', '#newpage', function() { 
     var personName = localStorage.getItem("name"); 
     if (personName.length > 0) { 
      $('#name').val(personName); 
     } 
    }); 

</script> 
<script type="text/javascript" charset="utf-8"> 

// Wait for Cordova to load 
// 
document.addEventListener("deviceready", onDeviceReady, false); 

// Cordova is ready 
// 
function onDeviceReady() { 
    var element = document.getElementById('deviceProperties'); 

    element.innerHTML = 'Device Name: '  + device.name  + '<br />' + 
         'Device Cordova: ' + device.cordova + '<br />' + 
         'Device Platform: ' + device.platform + '<br />' + 
         'Device UUID: '  + device.uuid  + '<br />' + 
         'Device Version: ' + device.version + '<br />'; 
} 

</script> 

<title>Hello World 2</title> 
</head> 
<body> 

<div id="home" data-role="page"> 

    <div data-role="header"> 
     <h1>Home Page2</h1> 
    </div> 

    <div data-role="content"> 
     hello Phone Gap and JQuery Mobile! 
     <a href="#newpage" data-role="button">new page</a> 
     <br> 
    <p id="deviceProperties">Loading device properties...</p> 
     <p id="ax"> </p> 
     <p id="ay"> </p> 
     <p id="az"> </p> 
     <p id="aTime"> </p> 
    </div> 

    <div data-role="footer" data-position="fixed"> 
    <a href="#dialogpage" data-rel="dialog" data-icon="plus">Add Something</a> 

    </div> 
</div> 


<div id="newpage" data-role="page"> 

    <div data-role="header"> 
    <a href="#home" data-icon="delete">Cancel</a> 
     <h1>New Page</h1> 
     <a href=#home" data-icon="save">save</a> 
    </div> 

    <div data-role="content"> 
     <label for="name">what is your name?</label> 
     <input id="name" type="text" name="name" value="" /> 
     <a id="saveButton" href="" data-role="button">Save</a> 
    </div> 

    <div data-role="footer" data-position="fixed"> 
     <h4> 
      footer</h4> 
    </div> 

</div> 

<div id="dialogpage" data-role="page"> 
<div data-role="header"> 
     <h1>Dialog</h1> 
    </div> 
    <div data-role="content"> 
     this is a dialog 
    </div> 
</div> 

<script type="text/javascript" src="js/index.js"></script> 
<script type="text/javascript"> 
    app.initialize(); 
</script> 
</body> 
</html> 
+0

存儲代碼的位置?是在一個活動? –

+0

我很抱歉,我不明白你的要求。這完全是新的。我正在使用手機差距開發一個應用程序。 – CsharpBeginner

+0

Oups,對不起,我的錯誤,我以爲你正在使用Android本地開發語言。一個建議,比手機差距框架更好地使用Android設備特定語言,您將擁有更多的可能性。 –

回答

1

你需要等待,直到你得到的PhoneGap的deviceready事件,否則您請求之前的PhoneGap實際上是初始化並準備返回數據。請參閱文檔/示例:http://docs.phonegap.com/en/2.1.0/cordova_device_device.md.html#Device

+0

我添加了該設備的代碼示例。我所得到的是加載設備屬性...它從來沒有寫出數據。 – CsharpBeginner

+0

你可以把jQuery拿出來,只需到deviceready並在div中設置信息。一旦你確定工作正常,請重新加入jQuery。 –

+1

儘管已經添加了'deviceready',你已經在''部分找到'