小编swi*_*ter的帖子

枚举/迭代活动中的所有视图?

有没有办法迭代您的Activity中的所有视图?就像是:

__CODE__或者其他的__CODE__扩展__CODE__,你可以使用的功能__CODE____CODE__和遍历所有的
包含意见.

希望这可以帮助.

android iterator

16
推荐指数
2
解决办法
1万
查看次数

从资源文件/内容获取流

这是从资源文件获取Stream的正确/唯一方法吗?

    Uri uri = new Uri(fullPath);

    StorageFile storageFile = 
      await Windows.Storage.StorageFile.
        GetFileFromApplicationUriAsync(uri);

    IRandomAccessStreamWithContentType randomAccessStream = 
      await storageFile.OpenReadAsync();

    IInputStream resourceStream = (IInputStream)
      randomAccessStream.GetInputStreamAt(0);
Run Code Online (Sandbox Code Playgroud)

我的所有其他源(http和本地存储)都返回一个Stream对象,并且使用if-else代码使用其中一个或其他代码是很痛苦的.

我也尝试过创建一个MemoryStream,但我甚至找不到一个方法来获取字节...请帮助.

    uint size = (uint)randomAccessStream.Size;
    IBuffer buffer = new Windows.Storage.Streams.Buffer(size);
    await randomAccessStream.ReadAsync(buffer, size, 
      InputStreamOptions.None);

    Stream stream = new MemoryStream(buffer); // error takes byte[] not IBuffer
Run Code Online (Sandbox Code Playgroud)

从资源读取时的IInputStream.ReadAsync():http: //msdn.microsoft.com/en-us/library/windows/apps/windows.storage.streams.iinputstream.readasync.aspx

而Stream.Read()和Stream.ReadAsync()看起来像这样:

http://msdn.microsoft.com/en-us/library/system.io.stream.read.aspx

http://msdn.microsoft.com/en-us/library/hh137813.aspx

谢谢

c# asynchronous microsoft-metro windows-runtime windows-store-apps

14
推荐指数
2
解决办法
1万
查看次数

异步编程和虚函数

如果我有一个界面,如:

using System.Threading.Tasks;

...

public interface IFoo
{
  Task doIt();

  Task<bool> doItAndReturnStuff();
}
Run Code Online (Sandbox Code Playgroud)

并且其中一个实现此接口的类恰好不需要异步方法,我如何才能正确覆盖这些函数?

换句话说,如何正确返回包装在Task对象中的"void"和"bool"?

例如:

public class FooHappensToNotNeedAsync : IFoo
{
  public override Task doIt()
  {
    // If I don't return anything here, I get
    // error that not all code paths return a value.
    // Can I just return null?
  }

  public override Task<bool> doItAndReturnStuff()
  {
    // If I want to return true, how to I do it?
    // This doesn't work:
    return true;
  }
}
Run Code Online (Sandbox Code Playgroud)

注-我不能完全剥离任务的东西,因为一些实现此接口的类的 …

c# asynchronous windows-runtime windows-store-apps

8
推荐指数
1
解决办法
2914
查看次数

C# - 常量值'4294901760'无法转换为'int'

问候,

我不敢相信我问这样一个基本问题,但它没有意义,所以这里是:).

在Windows Phone 7/.net上的C#中,我试图在类中定义一个常量,如下所示:

// error CS0266: Cannot implicitly convert type 'uint' to 'int'. 
// An explicit conversion exists (are you missing a cast?)
public const int RED = 0xffff0000;
Run Code Online (Sandbox Code Playgroud)

如果我像这样放一个(int)演员,我得到另一个错误:

// error CS0221: Constant value '4294901760' cannot be converted to a 'int' 
// (use 'unchecked' syntax to override)        
public const int RED = (int)0xffff0000;
Run Code Online (Sandbox Code Playgroud)

但我知道我的int是32位,因此范围为-2,147,483,648到2,147,483,647,请参阅http://msdn.microsoft.com/en-us/library/5kzh1b5w(v=vs.80).aspx

什么给出了什么?

提前致谢!

c# windows-phone-7

7
推荐指数
1
解决办法
7003
查看次数

Android翻译成阿拉伯语

我正在与一名阿拉伯语翻译工作,他正在将我的strings.xml从英语翻译成阿拉伯语.我意识到只有Honeycomb或Cyanogen roms才能支持阿拉伯语渲染,但这没关系.

我们的问题是文本不断被翻转.似乎一些文本编辑器(如Eclipse)公然不支持从右到左的文本.并且在某些情况下,文本不会逐个字符翻转,但是从Microsoft Word复制回UTF-8 xml文件时,逐字逐句或者句子的某些部分会被重新排列.

例如,翻译者提供的每一行都有空格,我自然想要清理它们.但这样做翻了一些文字!

例如:
إغلاقالتطبيق 只需删除边缘周围的空格即可
成为:
التطبيقإغلاق
.

问题:
1.我应该使用什么编辑器?
2.可以在同一行混合使用英语和阿拉伯语(例如应用程序名称或其他不应翻译的单词),或者这基本上是否禁止?

android localization arabic

7
推荐指数
1
解决办法
4055
查看次数

意思是什么?C#中的运算符用于属性

可能重复:
?C#中的(可空)运算符

在System.Windows.Media.Animation中,我看到代码如下:

    public double? By { get; set; }
Run Code Online (Sandbox Code Playgroud)

那是什么?运营商在这做?有人知道吗?

我试图谷歌这个,但如果你不知道它的名字是什么,很难搜索运算符.我检查了操作员页面(http://msdn.microsoft.com/en-us/library/6a71f45d(v=vs.80).aspx)但是?运营商没有列在那里.

谢谢!

c#

7
推荐指数
2
解决办法
644
查看次数

有没有办法在Windows Phone 8中等待IAsyncResult?

如何在Windows Phone 8中使用等待 HttpWebRequest?

有没有办法让IAsyncResult的东西与await一起工作?

private async Task<int> GetCurrentTemperature()
{
  GeoCoordinate location = GetLocation();

  string url = "http://free.worldweatheronline.com/feed/weather.ashx?q=";
  url += location.Latitude.ToString();
  url += ",";
  url += location.Longitude.ToString();
  url += "&format=json&num_of_days=1&key=MYKEY";

  HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
  webRequest.Method = "POST";
  webRequest.BeginGetResponse(new AsyncCallback(OnGotWebRequest), webRequest);
}

private void OnGotWebRequest(IAsyncResult asyncResult)
{
  HttpWebRequest webRequest = (HttpWebRequest)asyncResult.AsyncState;
  var httpResponse = (HttpWebResponse)webRequest.EndGetResponse(asyncResult);
  using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
  {
    string responseText = streamReader.ReadToEnd();
  }
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

c# asynchronous windows-phone windows-phone-8

7
推荐指数
1
解决办法
3543
查看次数

如何让HttpWebRequest尽可能同步?


摘要:这甚至可能吗?

unit test function on ui thread:
- creates a background thread
- starts the thread
- waits for it to complete (function does not exit until it completes!)

background thread:
- opens an http stream 
- reads a url from the web
- terminates
Run Code Online (Sandbox Code Playgroud)

我的怀疑:框架异步地将结果放到一些内部消息队列中,因此在ui线程的堆栈展开之前永远不会调用响应回调,并转到某个ui线程函数来抽取堆栈.


全文:

我正在移植一个应用程序,需要从各种来源创建一个流,其中一个来自一个简单的http网址.我在后台线程上这样做,理想情况下我希望它100%同步,只需要在需要时阻塞(这是好的,因为它在后台线程上).

但似乎框架有点米老鼠,因为它假定你将在ui线程上执行请求,因此它将保护编码器不必创建后台线程来执行异步操作.但我可能会遗漏一些东西.

我偶然发现了以下文章:http: //pieterderycke.wordpress.com/2011/05/23/adding-synchronous-methods-to-webrequest-on-windows-phone-7/,它提出了一个解决方案,使http web请求同步.但是当它实现时,我得到一个ProtocolViolationException.我已经对代码进行了修改以使用BeginGetResponse()而不是BeginGetRequestStream(),这似乎不再导致异常.

但似乎后台线程现在无限期地阻塞.在我的ui线程上,我循环,执行Thread.Sleep(10)因为我在单元测试函数中,等待我的回调被调用.是否有可能在单元测试函数返回并且ui线程有机会抽取消息之前不会调用回调?如果是这样,我可以用任何方式强制它进行泵送,以便我可以继续在单元测试程序中停止的地方?

在上面提到的文章的底部,发表评论"如果你测试你的代码,你会发现如果你在UI线程上执行它会死锁." 但是我在后台线程上执行它,所以应该没问题吧?

msdn文档只显示如何进行异步调用.他们还提到"BeginGetResponse方法需要一些同步设置任务才能完成"......"通常需要几秒钟"......但"可能需要60秒或更长时间".在ui线程上执行这听起来很糟糕. http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.begingetresponse.aspx

请帮忙!

这是我的代码:

using System.Net;
using System.Threading;
using System;
using System.IO;

namespace Blah
{
  // http://pieterderycke.wordpress.com/2011/05/23/adding-synchronous-methods-to-webrequest-on-windows-phone-7/
  // Creates synchronous web requests. …
Run Code Online (Sandbox Code Playgroud)

c# silverlight windows-phone-7

6
推荐指数
1
解决办法
9413
查看次数

SpeechToText并运行ACTION_CHECK_TTS_DATA意图

TextToSpeech完全按照这篇博文中提到的那样实现了集成.在我将它添加到我的程序后,它现在正在干扰我的其他程序intent.

例如:

  1. 项目清单
  2. 用户启动应用
  3. 用户调用加载活动
  4. 用户选择要加载的文件,活动返回fileanme以加载意图
  5. 主要活动开始,并意识到它需要加载一个文件名,所以它开始这样做
  6. 需要检查TTS,以便启动ACTION_CHECK_TTS_DATA意图
  7. 这会再次暂停主要活动,并且加载过程会中断
  8. 当TTS检查返回时,加载从未发生过.

我什么时候需要这个TTS检查?我可以在应用程序启动时执行一次吗?这导致我的应用程序加载缓慢.如果可能的话,我希望在单独的线程中执行此加载.

android text-to-speech

5
推荐指数
1
解决办法
1597
查看次数

将编号列表列添加到返回的MySQL查询中

我试图用我的SQL查询返回一个序列号列.我需要将它放在SELECT语句中,因为我想将此查询嵌套在另一个中,然后使用之前生成的列进行进一步的计算.

我到处寻找,我找不到任何这方面的例子.

以下内容的效果:

SELECT *, ROW_NUMBER() as row_number from my_awesome_table;
Run Code Online (Sandbox Code Playgroud)

这应该生成这样的东西:

row_number some_column some_other_column
---------- ----------- -----------------
    1        bla bla      bla bla bla 
    2        bla bla      bla bla bla 
    3        bla bla      bla bla bla 
    4        bla bla      bla bla bla 
Run Code Online (Sandbox Code Playgroud)

请注意,some_column和some_other_column是my_awesome_table中的实际现有列,而row_number仅在此查询中即时生成.

谢谢!猪

php mysql sql

5
推荐指数
1
解决办法
2170
查看次数

如何确定GridView中哪些项目在当前滚动窗口中可见?

我在主应用程序页面中有一个GridView,我想对当前为用户查看的项目(高优先级)进行一些后台处理,然后当然也执行其他项目(低优先级).

我可以访问ScrollBar和ScrollViewer,但它们都没有告诉我哪些项目在当前滚动窗口中.我可以尝试破解它,但它变得棘手,因为行/列的数量根据滚动区域的大小而变化.

http://msdn.microsoft.com/en-us/library/windows/apps/br209745.aspx http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls .scrollviewer.aspx

任何帮助非常感谢!

谢谢

windows-runtime windows-store-apps

3
推荐指数
1
解决办法
2840
查看次数

Windows Phone 7 - 设备无关像素?

Android有一种很好的方法可以使屏幕元素可扩展,因此它们在大多数设备上看起来都很好.其中之一是设备无关像素: 与设备无关的像素的基础

在Windows Phone 7上有什么类似的下降吗?

将控件自动调整为其内容怎么样?如width = wrap_content?

谢谢!

windows-phone-7

1
推荐指数
1
解决办法
1256
查看次数

如何将异步事件处理程序连接到WinRT中的非异步事件?

我有一个从Windows.UI.Xaml.Controls.Page派生的页面,我想做这样的事情:

Loaded += OnPageLoaded;
Run Code Online (Sandbox Code Playgroud)

哪里:

private async Task OnPageLoaded(object sender, RoutedEventArgs e)
{
   await SomeAsync();
}
Run Code Online (Sandbox Code Playgroud)

甚至可以把它连接起来吗?

我明白了:

error CS0407: 'System.Threading.Tasks.Task 
    MyApp.MyPage.OnPageLoaded(object, Windows.UI.Xaml.RoutedEventArgs)' 
    has the wrong return type
Run Code Online (Sandbox Code Playgroud)

Msdn在事件和路由事件概述中提到了类似的内容,但未能使其工作.

谢谢!

c# asynchronous windows-8 windows-runtime

1
推荐指数
1
解决办法
1545
查看次数