任何人都有很好的建议如何实现一对多映射SQLite使用ContentProvider?如果你看,Uri ContentProvider#insert(Uri, ContentValues)你可以看到它有ContentValues包含要插入的数据的参数.问题是,它当前的实现ContentValues不支持put(String, Object)方法,类是最终的,所以我不能扩展它.为什么这是一个问题?我的设计来了:
我有两个一对多关系的表.为了在代码中表示这些,我有2个模型对象.1st表示主记录,并且具有一个第二个对象实例列表的字段.现在我在模型对象#1中有一个辅助方法,它返回ContentValues从当前对象生成的.用ContentValues#put重载方法填充原始字段是微不足道的,但我对这个列表运气不好.所以目前我的第二个表行只是一个字符串值,我生成一个逗号分隔的字符串,然后我重新分配到String []里面ContentProvider#insert.这感觉很难吃,所以也许有人可以暗示如何以更清洁的方式完成它.
这是一些代码.首先来自模型类:
public ContentValues toContentValues() {
ContentValues values = new ContentValues();
values.put(ITEM_ID, itemId);
values.put(NAME, name);
values.put(TYPES, concat(types));
return values;
}
private String concat(String[] values) { /* trivial */}
Run Code Online (Sandbox Code Playgroud)
这是ContentProvider#insert方法的精简版
public Uri insert(Uri uri, ContentValues values) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.beginTransaction();
try {
// populate types
String[] types = ((String)values.get(Offer.TYPES)).split("|");
// we no longer need …Run Code Online (Sandbox Code Playgroud) 这对我来说很困惑.我有一个功能,这样做:
void ListAllStoredLocations(NSString *SearchTerm){
NSMutableDictionary *item;
NSString* filePath = [[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingString:@"/Preferences/yourprogram.plist"];
item = [[[NSMutableDictionary alloc] initWithContentsOfFile:filePath] mutableCopy];
NSMutableArray *ReadStoredArray = [item objectForKey:SearchTerm];
NSMutableArray *SortedArray = [[NSMutableArray alloc] init];
NSString *CurrentResult=@"";
for (int i = 0; i< [ReadStoredArray count]; i++){
CurrentResult=(NSString *)[ReadStoredArray objectAtIndex:i];
[SortedArray addObject:CurrentResult];
}
[SortedArray sortUsingSelector:@selector(compare:)];
for (int i = 0; i< [SortedArray count]; i++){
NSLog(@"%@",[SortedArray objectAtIndex:i]);
}
[item release];
Run Code Online (Sandbox Code Playgroud)
}
哪个在第一个for循环中找到输出NSStrings,如下所示:
LOCATION1
LOCATION2
不是一个位置
LOCATION2
LOCATION3
LOCATION2
我希望输出是按字母顺序排列的:
LOCATION1
LOCATION2
LOCATION2
LOCATION2
LOCATION3
不是一个位置
但是,无论如何,"[SortedArray …
我明白这reinterpret_cast很危险,我只是这样做来测试它.我有以下代码:
int x = 0;
double y = reinterpret_cast<double>(x);
Run Code Online (Sandbox Code Playgroud)
当我尝试编译程序时,它给我一个错误说
从'float'类型转换为'double'类型无效
这是怎么回事?我认为reinterpret_cast是你可以用来将苹果转换为潜艇的流氓演员,为什么这个简单的演员不会编译?
在经典模式下在IIS 7.0上启用Web服务的配置文件设置是什么?该站点必须位于经典模式应用程序池中,因为报表查看器控制在集成模式下运行时崩溃.但是,在经典模式应用程序池中,webservices会生成以下错误消息:
请求的内容似乎是脚本,静态文件处理程序不会提供.
•如果要将此内容作为静态文件提供,请添加显式MIME映射
编辑 - 附加错误消息信息:
注意:此应用程序的特定实例将在共享主机环境中的客户帐户中运行,因此不会/无法访问IIS UI.专门寻求配置文件调整.
如何在Objective-C中的特定索引处打印数组元素?我的代码看起来像这样:
NSString *String=[NSString StringWithContentsOFFile:@"/User/Home/myFile.doc"];
NSString *separator = @"\n";
NSArray *array = [String componetntsSeparatedByString:separator];
NSLog(@"%@",array);
Run Code Online (Sandbox Code Playgroud)
我能够一次打印一个数组的全部内容,但我想将每个索引处的元素分配给一个字符串,比如......
str1=array[0];
str2=array[1];
str3=array[0];...this continues
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
我正在尝试从连接到我的机器的外部蓝牙加密狗读取数据,只要它从java中的任何其他蓝牙设备接收数据.我不知道如何实现这一点.如果有人知道如何做到这一点,请帮助我.
我有以下jqueryui对话框:
$("#dialog").dialog({
bgiframe: true,
autoOpen: false,
height: 420,
hide: 'slide',
modal: true,
buttons: {
'Annuler': function() {
$(this).dialog('close');
},
'Envoyer votre message': function() {}
}
Run Code Online (Sandbox Code Playgroud)
我用它显示时:
$('#question-annonceur').click(function() {
$('#dialog').dialog('open');
});
Run Code Online (Sandbox Code Playgroud)
它非常集中.但是当我垂直滚动时,它不再居中.实际上,对话框仍然居中(关于用户设置的滚动条位置),但是滚动条已经滚动到窗口的顶部,然后,对话框不再居中(因为它以新的滚动条位置为中心).
它有一个我可以设置的属性,以便滚动条不会像这样重置在顶部?
谢谢.
我在这里遇到一个棘手的情况......这就是问题......
我有一个flash对象,我想要显示一个图像
这些是我试过的技巧...
1.使用z-index进行处理(没有用)2.
将wmode参数设置为透明/不透明(再次没有用)
3.使用javascript并仅在页面加载后显示图像(仍然没有用)
我尝试使用谷歌搜索但没有找到解决方案.. :(
提前感谢
更新 -我正在使用的代码
<div style="position:absolute; top:0px; z-index:-2000;">
<object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" id="obj1" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" border="0" width="176" height="146">
<param name="movie" value="sample.swf" />
<param name="wmode" value="transparent" />
<param name="quality" value="High" />
<param name="menu" value="false" />
<embed src="sample.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" name="obj1" menu="false" width="176" height="146" />
</object>
</div>
<div style="position:absolute; top:0px; z-index:2000;">
<img src="Logo.gif" alt="" />
</div>
Run Code Online (Sandbox Code Playgroud)
也尝试过value ="opaque"
做了所有可能的建议......请帮忙..
在java中,有一个List接口和size()方法来计算List的大小.当我调用List.size()时,它是如何计算的?它是线性计算的吗?或者确定计数,只有当size()时返回值?