2016-02-23 74 views
0

当按下按钮时,我希望本地保存的按钮的名称和ID。Appcelerator商店本地搜索

我不太清楚解决这个问题的最好方法。我应该使用appcelerator属性(http://docs.appcelerator.com/titanium/3.0/#!/api/Titanium.App.Properties)还是将文件写入存储?此刻我正在使用Ti.App.Properties.setList。

示例代码:

searchStorageName = "searchHistory";  
searchResultsArray = []; 
var currentEntries = (Ti.App.Properties.getList(searchStorageName)); 

// Create search entry object. 
var localSearchObject = { 
    company_name: resultNodeCompany, 
    company_id: resultNodeCompanyID, 
    variation_id: resultNodeCompanyVariationID 
}; 
// Check if existing entries, if so push current search 
// and previous searches to array. 
if(currentEntries === null || currentEntries === undefined){ 
    searchResultsArray.push(localSearchObject); 
    Ti.App.Properties.setList(searchStorageName, searchResultsArray); 
    // searchResultsArray.push(localSearchObject, currentEntries); 
} 
else { 
    searchResultsArray.push(localSearchObject, currentEntries); 
    Ti.App.Properties.setList(searchStorageName, searchResultsArray); 
} 

我停留在此刻,因为它是插入重复搜索到数组。当我遍历这些值在UI中创建一个列表时,它会显示重复项。

var currentEntries = (Ti.App.Properties.getList(searchStorageName)); 
var currentEntriesLength = currentEntries.length; 
var getPreviousHistorySearchesArray = []; 
currentEntries.forEach(function(entry, index) { 
    var company_name = entry.company_name; 
    var company_id = entry.company_id; 
    var variation_id = entry.variation_id; 

    // Create View Entry. 
    createSearchHistoryViewEntry(index, company_name, company_id, variation_id); 
} 
+0

更好,为什么不使用'SQLite_Database' http://docs.appcelerator.com/titanium/3.0/#!/guide/Working_with_a_SQLite_Database –

+1

我刚才想使用SQLite,它工作得更好。谢谢你的提示。我对Android开发很陌生。 – Simon

+0

我会写一个答案,请确认它是否正确,谢谢 –

回答