0
私はアドレス帳から連絡先情報を取得し、後でユーザーの旅に使用するためにチタンモデルに格納するアプリケーションを構築しています。アドレス帳連絡先をsqliteチタン
その他の情報はすべて正しく保存されていますが、何らかの理由で連絡先の画像が常に空白になります。
次のようにアドレス帳情報を格納するためのコードがある
if (Ti.Contacts.contactsAuthorization == Ti.Contacts.AUTHORIZATION_AUTHORIZED){
var people = Titanium.Contacts.getAllPeople();
var totalContacts = people.length;
var addressbook = [];
Alloy.Collections.contactsModel.numberOfContacts();
Ti.API.info(numberOfContacts);
if(totalContacts > 0){
var phoneContacts = [];
for (var index = 0; index < totalContacts; index++){
var person = people[index];
phoneContacts.push({
name:person.fullName,
phoneNumber:person.phone,
profileImage:person.image,
contactID:person.identifier
});
}
Alloy.Collections.contactsModel.reset(phoneContacts);
Alloy.Collections.contactsModel.each(function(_m) {
_m.save();
});
}
} else if (Ti.Contacts.contactsAuthorization == Ti.Contacts.AUTHORIZATION_UNKNOWN){
Ti.Contacts.requestAuthorization(function(e){
//Authorization is unknown so requesting for authorization
if (e.success) {
} else {
}
});
} else {
}
}
アドレス帳から、それを収集し、それを入れたときに画像が正常に動作して
exports.definition = {
config: {
columns: {
"friendID": "INTEGER PRIMARY KEY AUTOINCREMENT",
"contactID": "string",
"name": "string",
"phoneNumber": "string",
"emailAddress": "string",
"profileImage": "blob"
},
adapter: {
type: "sql",
collection_name: "contactsModel",
idAttribute:"friendID"
}
},
extendModel: function(Model) {
_.extend(Model.prototype, {
// extended functions and properties go here
});
return Model;
},
extendCollection: function(Collection) {
_.extend(Collection.prototype, {
collection.trigger('sync');
},
}
}
*/
});
return Collection;
}
};
次のようにモデル定義がありますリストビューにします。しかし、それが保存され、次に私はそれを取得し、問題が発生するリストビューに入れようとします。
ありがとうございます。
私は、画像をSQLite DBに保存することができないため、これを実行しています。それを底上げする方法は、base64文字列に変換するか、スペースに保存してイメージパスを取得して代わりに保存するかのいずれかです。いったんコードを作り終えたら誰もが自分のアプローチを見て、どのように解決したのかを誰にでも見せるようにします。 –