我一直在与我的Android应用中的问题作斗争.我一直在阅读Android文档,我在Android上的书(Andriod Pro 2)并且几乎看了我可以得到的每一个例子但是无法弄清楚如何实现对文件存储文件(图像,二进制数据)在内容提供程序公开的Sqlite表中.
这是我做的(几乎类似于记事本示例应用程序):
ContentProvider在我的提供商中实施.这一切都适用于CRUD操作.在内部它使用实现SQLiteOpenHelper(非常标准的东西)_data列文本类型这完全符合Android Pro 2的书.这是代码部分的片段:
Uri uri = getContentResolver().insert(MyAuthority.CONTENT_URI, contentValues);
OutputStream s = getContentResolver().openOutputStream(uri);
Run Code Online (Sandbox Code Playgroud)
但我得到以下错误:
11-29 01:07:30.717:WARN/System.err(1490):java.io.FileNotFoundException:提供商在内容中不支持任何文件:// myproviderauthority/podcasts/1
我需要做什么?我阅读了Android 文档,但它们非常模糊:
向客户端公开数据的字段实际上应包含内容:URI字符串.
1)字段类型需要是TEXT还是有特殊的content: URI string数据类型?
2)在插入时我没有URI.我需要在插入后获取URI,然后更新记录中的该字段吗?
该记录还应该有另一个名为"_data"的字段,该字段列出设备上该文件的确切文件路径.此字段不是由客户端读取,而是由ContentResolver读取.
3)那么该领域的类型应该是什么?文字 - 我假设?
客户端将在面向用户的字段上调用ContentResolver.openInputStream(),该字段包含项目的URI.
4)这完全是垃圾!我ContentResolver.openInputStream()该如何打电话?你只能在记录上调用它并传递Uri.
谢谢你的时间,我希望你能帮助我.我也回顾了这些SO问题(这个和这个),但他们没有帮助.
顺便说一句,我正在构建API(版本1.6)的第4级.
我有这样一张桌子:
id | timestamp | type
-----------------------
1 2010-11-20 A
2 2010-11-20 A
3 2010-11-20 B
4 2010-11-21 A
5 2010-11-21 C
6 2010-11-27 B
Run Code Online (Sandbox Code Playgroud)
我需要计算每种类型的行数,按工作日分组; 像这样:
weekday | A | B | C
--------------------------
5 2 2 0 -- the B column equals 2 because nov 20 and nov 27 are saturday
6 1 0 1
Run Code Online (Sandbox Code Playgroud)
对此最简单的解决方案是什么?
我不介意使用视图,变量,子查询等.
我有以下代码,它执行一些迭代器算术:
template<class Iterator>
void Foo(Iterator first, Iterator last) {
typedef typename Iterator::value_type Value;
std::vector<Value> vec;
vec.resize(last - first);
// ...
}
Run Code Online (Sandbox Code Playgroud)
该(last - first)表达的作品(据我所知)仅适用于随机访问迭代器(像的那些vector和deque).如何检查传递的迭代器满足此要求的代码?
我正在尝试生成一个随机数字的arraylist并显示它.我不确定我哪里出错了.我认为我的showArray方法不能正常工作,因为它显示两个随机数,然后重复第二个n-2次.
private static ArrayList<Integer> RandomArray(int n)
{
ArrayList<Integer> arrayRandom = new ArrayList<Integer>(n);
for (int i=0; i<n; i++)
{
Random rand = new Random();
rand.setSeed(System.currentTimeMillis());
Integer r = rand.nextInt() % 256;
arrayRandom.add(r);
}
return arrayRandom;
}
private static void ShowArray(ArrayList<Integer> randomArray)
{
int n = randomArray.size();
ArrayList<Integer> showArray = new ArrayList<Integer>(n);
for (int i = 0; i<n; i++)
{
int r = randomArray.get(i);
showArray.add(r);
}
System.out.println(showArray);
}
public static void main(String args[])
{
ShowArray(RandomArray(5));
}
Run Code Online (Sandbox Code Playgroud)
因此,例如,这将产生一个输出
[132,152,152,152,152]
任何帮助深表感谢.提前致谢
我想计算访问者在某个页面上花费多少时间并将其存储在我的MySQL数据库中.
我想在window.onload上启动一个计时器就像这样:
window.onload= startCount;
window.onunload= sendCount;
var b=0;
var y;
function startCount() {
document.getElementById('livecount').innerHTML=b;
b=b+1;
y=setTimeout("startCount()",1000);
}
Run Code Online (Sandbox Code Playgroud)
在访问者离开页面(window.onunload)之后,我通过XMLHttpRequest将时间发送到PHP文件,该文件将它存储在我的数据库中:
function sendCount() {
clearTimeout(y);
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","count.php?q="+b,true);
xmlhttp.send();
}
Run Code Online (Sandbox Code Playgroud)
问题是它并不总是有效.我会说它的效果就像我尝试过的10次中的3次.是不是没有足够的时间让PHP和SQL完全执行?
我们通过WCF数据服务公开域模型.该模型源自EF4,需要一些额外的工作才能使其成为通过Web服务发布所需的形式.
我想在EF4之外处理这个问题,以使我们的EDMX专注于模型,而不是它的用法.我的想法是创建一个专门用于Web服务的自定义"ServiceModel",并包含特定于服务的问题.
我的问题是如何在WCF数据服务中间最好地连接自动播放器.我正在使用WCF数据服务与ServiceModel的自定义(基于反射)提供程序.我在哪里可以将OData查询(对于ServiceModels)转换为EF4查询(对于DomainModels),并将结果映射回ServiceModels?
我已经设置了mysql数据库在我的Mac上使用java和eclipse运行,它运行良好,但现在我将生成大约43亿行数据,这将占用大约64gbs的数据,我存储了大量的密钥和加密值,我有一个1TB外部我想用作存储位置,我首先想到我可以重新安装mysql到外部但它没有运气,因为它显然不运行mac osx,无论如何,我可以指向mysql存储关于外部的数据库,我做了一些搜索,但还没有找到答案.
我正在运行Java来构建和查询数据库和表,如果它发挥作用.
谢谢.
不确定这是app.config还是web.config.
我当时认为它会出现在管理中心网站所在的目录中,但它看起来并不像那样.我在哪里可以找到这个?
是否在asp.net TextBox上输入和离开事件?
我需要当我点击TextBox时,TextBox颜色将为黄色,当我离开时颜色将为白色.
我怎样才能做到这一点?
我怎么能有这个简单的路线:
http://domain.com/Calendar/Unsubscribe/my@email.com
Run Code Online (Sandbox Code Playgroud)
我的路线看起来像:
routes.MapRoute(
"Unsubscribe",
"Calendar/Unsubscribe/{subscriber}",
new {
controller = "Calendar",
action = "Unsubscribe",
subscriber = "" }
);
Run Code Online (Sandbox Code Playgroud)
我的行动是:
public ActionResult Unsubscribe(string subscriber)
{
...
}
Run Code Online (Sandbox Code Playgroud)
没有任何参数,像http://domain.com/Calendar/Unsubscribe/工作正常,但很快我添加电子邮件,我得到一个404页面:(
我有什么秘诀吗?
谢谢