小编Bri*_*ker的帖子

Keys.Shift和Keys.ShiftKey之间的区别

在我的应用程序中,我检测到按下某个键的时间,看看修饰符是Shift键还是Keys枚举器有Shift和ShiftKey.

事件似乎总是发送Keys.Shift,但有没有使用Keys.ShiftKey的情况?

(同样的问题适用于Keys.Control和Keys.ControlKey)

感谢您的任何意见.

.net c# key modifiers

24
推荐指数
2
解决办法
6585
查看次数

NetworkStream.Write与Socket.Send

我有一个ac#应用程序,我使用自定义FTP库.现在我使用Socket.Send发送数据,但我想知道用套接字启动NetworkStream是否更好,而是使用NetworkStream.Write.

使用一个优于另一个是否有任何优势?

c# sockets networkstream

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

Android Studio pm安装已中止

我试图从Android工作室运行我的GS5上的应用程序,我得到这个:

Waiting for device.
Target device: samsung-sm_g900v-f3af9744
Uploading file
local path: D:\Android\Projects\TestProject\build\outputs\apk\TestProject-debug.apk
remote path: /data/local/tmp/com.brian.testproject
Installing com.datascan.mobilescripts
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.brian.testproject"
Aborted
Run Code Online (Sandbox Code Playgroud)

它似乎是将文件复制到设备,我可以在/ data/local/tmp目录中看到它.它只是在"pm安装"阶段失败了.

在手机上,我打开了USB Debugging并授权了电脑.这是我运行ADB设备时得到的结果:

D:\Android\sdk\platform-tools>adb devices
List of devices attached
f3af9744        device
Run Code Online (Sandbox Code Playgroud)

所以这似乎是正确的.我不确定问题是什么.谷歌搜索这个问题并没有给我任何相关的结果.

有谁知道如何获得"Aborted"之外的更多信息?任何帮助表示赞赏,谢谢!

编辑:

正如@AlexP所建议的那样.我运行了"adb logcat -d -s PackageManager:*",这是结果:

D:\Android\sdk\platform-tools>adb logcat -d -s PackageManager:*
--------- beginning of main
--------- beginning of system
Run Code Online (Sandbox Code Playgroud)

没什么帮助,但我确实决定在运行pm安装时观察logcat,我发现了这个错误条目:

Tag=appproc  |  Text= ERROR: Could not find class 'com.android.commands.pm.Pm'
Tag=art      |  Text= art.runtime/thread.cc:1105] No pending exeption expected: java.lang.ClassNotFoundException: Didn't find class …
Run Code Online (Sandbox Code Playgroud)

android adb android-studio

9
推荐指数
2
解决办法
6883
查看次数

以编程方式从PC访问Android设备上的文件

我有一个C#应用程序,需要访问我的Android平板电脑上的文件,显然我可以使用已安装的驱动器号存储,但我将在多个位置部署它,并需要一致的方式来访问文件.我能够以编程方式调用ADB,但同样,我在多个位置部署它,无法在每个系统上安装SDK.

所以我想我要么:1)programmaticaly使用C#(或java)访问设备或2)使用ADB而不必在每个位置安装SDK或3)以编程方式找出所连接设备的驱动器号

你可能已经猜到我正试图让它尽可能无缝

PS以这种方式工作的应用程序的一个例子是HTC Sync,如果有人知道该应用程序如何做到这将是完美的.

c# windows android

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

为表单创建多个接口

我有一个应用程序,我想有2个可选接口:触摸屏和非触摸屏.

我显然可以制作两个单独的表单,但是有很多底层代码,只要有更改就必须重复.所有控件都相同,只是有不同的大小和位置.我想要放入2个InitializeComponent方法,但后来我无法用visual studio设计这两个接口.

希望别人有任何想法.

c# forms interface winforms

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

Swift - 使用未解析的标识符(Objective-C类)

所以我开始将我的应用程序移动到swift(因为它似乎更容易使用),并且我想我能够一次做一点,因为你应该能够使用它现有的Objective-c代码.

我遇到的问题似乎是互操作性似乎没有因某种原因而起作用.

  • 我有一个MODULE_NAME-Bridging-Header.h文件和import语句: 桥接头文件

  • 我在Build Settings> Swift Compiler> Objective-C Bridging Header下指定了它 构建设置

这一切都需要做才能使它正常工作?多数民众赞成至少在网上找到了.

这是我得到的错误: 错误

任何帮助,将不胜感激.

xcode objective-c swift

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

InstantiationException:无法实例化片段确保类名存在,是公共的,并且具有公共的空构造函数

我有一个项目,我最初使用Android Studio开发.我决定将它转换为Xamarin(Visual Studio 2015).

在将所有代码移植几个小时之后,除了我的设置活动(PreferenceActivity)之外,一切都有效.我有一些构成设置的PreferenceFragments,但是所有这些都让我"无法实例化片段".以下是我得到的例外情况:

Java.Lang.RuntimeException:无法启动活动ComponentInfo {test.mypackagename/md50d00e677e41fc49f8b3c16e79df2b77f.SettingsActivity}:android.app.Fragment $ InstantiationException:无法实例化片段test.mypackagename.GeneralPreferenceFragment:确保类名存在,是公共的,并且具有一个公共的空构造函数

我一直在网上寻找解决方案,但我似乎无法找到一个.无论我到哪里,他们都会说确保有一个空的公共构造函数,如果它是一个内部类,它必须是静态的.但我有空的构造函数,而不是内部类,它在自己的文件中.

这是我的SettingsActivity.cs:

namespace test.mypackagename
{
    public class SettingsActivity : PreferenceActivity
    {
        protected override void OnPostCreate(Bundle savedInstanceState)
        {
            base.OnPostCreate(savedInstanceState);
        }

        public override void OnBuildHeaders(IList<Header> target)
        {
            LoadHeadersFromResource(Resource.Xml.pref_headers, target);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的GeneralPreferenceFragment.cs:

namespace test.mypackagename
{
    public class GeneralPreferenceFragment : PreferenceFragment
    {
        public GeneralPreferenceFragment() { }

        public override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            AddPreferencesFromResource(Resource.Xml.pref_general);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的pref_headers.xml:

<preference-headers xmlns:android="http://schemas.android.com/apk/res/android">

    <header android:fragment="test.mypackagename.GeneralPreferenceFragment"
        android:title="@string/pref_header_general" />

    <header android:fragment="test.mypackagename.OtherPreferenceFragment1"
        android:title="@string/pref_header_other1" />

    <header android:fragment="test.mypackagename.OtherPreferenceFragment2"
        android:title="@string/pref_header_other2" />

    <header …
Run Code Online (Sandbox Code Playgroud)

android instantiationexception xamarin preferencefragment

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

打开资源管理器窗口并等待它关闭

我有一个程序打开一个浏览器窗口到某个文件夹,但我想在浏览器窗口关闭后立即执行操作,但如果我使用以下代码:

Process proc = Process.Start("explorer.exe", "D:\\");
proc.WaitForExit();
Run Code Online (Sandbox Code Playgroud)

它根据需要打开资源管理器窗口,但WaitForExit命令没有任何效果,它只是直接通过它.

是否有一种不同的方式打开资源管理器窗口,当用户关闭时,它将能够让我知道?

c# windows explorer process

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

UIDatePicker每年添加一个

我有一个非常奇怪和令人困惑的问题.我找不到任何关于它的东西,这似乎是苹果的一个错误,但如果有人建议如何解决这个问题会有所帮助.有些日期在UIDatePicker中添加1年,似乎永远不会低于12月27日.我已经回去几年试图找到一种模式.这里有些例子:

Any date picked >= December 28th in 2014 changes to 2015
>= 29th in 2013 -> 2014
>= 30th in 2012 -> 2013
2011 (issue doesn't occur)
>= 26th in 2010 -> 2011
>= 27th in 2009 -> 2010
>= 28th in 2008 -> 2009
>= 30th in 2007 -> 2008
=  31st in 2006 -> 2007
2005  (issue doesn't occur)
>= 26th in 2004 -> 2005
>= 28th in 2003 -> 2004
>= 29th in 2002 -> 2003 …
Run Code Online (Sandbox Code Playgroud)

objective-c uidatepicker ios

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

轮数到下一个最高的地方

我试图创建一个函数,它将返回下一个最高(缺少一个更好的术语)"圆"数,基于最大位数(最左边的数字).

例如:

 17     >  20  
 328    >  400  
 18564  >  20000

 //Already round numbers will stay the same:  
 500     >  500
Run Code Online (Sandbox Code Playgroud)

我知道我可以这样做:

int customRound(int i)
{
    string s = i.ToString();
    if (int.Parse(s.Substring(1)) > 0)
    {
        string greatestDigit = s.Substring(0, 1);
        string digit = (int.Parse(greatestDigit) + 1).ToString();
        return int.Parse(digit + string.Empty.PadRight(s.Length - 1, '0'));
    }
    return i;
}
Run Code Online (Sandbox Code Playgroud)

但这只是感觉非常hacky,我确信这是一个更优雅和数学方式来做到这一点.

c# math rounding

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

Android FileOutputStream会创建损坏的文件

我有一个应用程序,使用从Socket InputStream获取的字节数组创建多个文件.当我只保存一个文件时,文件保存完美,但如果我保存一个文件然后重新实例化文件流并保存另一个文件,则第一个文件被破坏,第二个文件被完美保存.我在文本编辑器中打开了两个文件,似乎(约......)第一个文件的前1/5是空格但第二个文件已满,它们都具有相同的大小属性(9,128,731字节).以下示例是senario的重复,但具有相同的损坏结果:

FileOutputStream outStream;
outStream = new FileOutputStream("/mnt/sdcard/testmp3.mp3");
File file = new File("/mnt/sdcard/test.mp3");
FileInputStream inStream = new FileInputStream(file);
byte[] buffer = new byte[9128731];
inStream.read(buffer);
outStream.write(buffer, 0, buffer.length);
inStream.close();
outStream.flush();
outStream.close();
outStream = null;
outStream = new FileOutputStream("/mnt/sdcard/testmp32.mp3");
outStream.write(buffer, 0, buffer.length);
inStream.close();
outStream.flush();
outStream.close();
outStream = null;
Run Code Online (Sandbox Code Playgroud)

我在常规Java应用程序中尝试了这个EXACT代码,并且两个文件都保存没有问题.有谁知道为什么android会这样做?

任何帮助将不胜感激

java android fileoutputstream

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