小编Onu*_* A.的帖子

使用Hibernate/JPA可以"无需选择更新"吗?

因此,与JPA/Hibernate,您一定可以加载一个实体的"代理",而无需使用类似命中数据库session.load()entityManager.getReference().

但是,如果没有Hibernate从数据库初始化代理,似乎不可能在这些"代理"上设置属性.因此,如果没有选择,则无法仅保留更改的值(通过@DynamicUpdate实体).

我相信这就是它的方式,如果你想要update without select你必须自己滚动它.如果有人能证明我错了,我会很高兴的!我错过了什么吗?

java sql hibernate jpa

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

指针地图与结构/容器地图(C++)

我正在学习数据结构课,在教授的所有例子中,他总是使他的地图具有指向结构或容器的指针值,而不是保持结构或容器本身.

他只是把它作为一种习惯,还是有充分的理由来加速?

  • 我知道你可以使用数据指针来避免拥有冗余的数据副本,但仍然可以同时保存多个容器/结构中的数据.
  • 在这些例子中,情况并非如此.数据仅在该地图中.

c++ dictionary pointers

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

Android + PhoneGap:android:windowSoftInputMode似乎不起作用

我正在开发一个基于PhoneGap的应用程序,我搜索了很多关于如何在虚拟键盘出现时使我的webview调整其高度,或者至少获得虚拟键盘的高度.我发现了很多帖子(包括stackoverflow)

android:windowSoftInputMode="adjustResize"
Run Code Online (Sandbox Code Playgroud)

必须在清单中设置,我这样做了.我还发现,对于PhoneGap config.xml,有

<preference name="android-windowSoftInputMode" value="adjustResize"/>
Run Code Online (Sandbox Code Playgroud)

设置,我也粘贴了.我也尝试了两个参数的组合值'stateVisible | adjustResize'(不仅仅是'adjustResize'),但在我看来它们都没有效果.我不知道,也许我做错了,但你可以查看模拟器的截图(Android 4.0.3,但我也试过4.1.2和4.2.2):
http://screencast.com/ t/Mm0mw8c693 - 键盘可见
http://screencast.com/t/lZ2DomqeRR - 键盘隐藏
在屏幕截图中,我故意捕获了我的清单和config.xml设置,因此您可能会看到它们实际存在.
我甚至录制了短片 - http://screencast.com/t/xI9PMcMJxxx

正如您所看到的,当键盘显示/隐藏时,不会发生任何视口大小调整.我还使用console.log()检查了window.innerHeight,它对于可见和隐藏键盘都保持相同.

拜托,给我一些建议.

android android-virtual-keyboard cordova

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

验证Win32窗口句柄

给定类型的句柄HWND是否可以确认句柄代表一个真正的窗口?

c++ windows winapi

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

将 uri 保存到 sharedPreferences 并使用 mediaplayer 播放

这是我用来将 Uri 的字符串表示形式保存到 SharedPreferences 的代码:

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQ_CODE_PICK_SOUNDFILE && resultCode == Activity.RESULT_OK){
        if ((data != null) && (data.getData() != null)){
            SharedPreferences sharedPref = getSharedPreferences("customName", Context.MODE_PRIVATE);
            SharedPreferences.Editor editor = sharedPref.edit();
            editor.putString("uritostring", data.getData().toString());
            editor.apply();

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,当我在此处附加以下两个中的任何一个时,它都可以正常工作:

MediaPlayer mp=MediaPlayer.create(this,data.getData());

MediaPlayer mp=MediaPlayer.create(this,Uri.parse(data.getData().toString()));
Run Code Online (Sandbox Code Playgroud)

但是,当我稍后在这样的另一个活动中尝试创建 MediaPlayer 时,它不起作用:

SharedPreferences sharedPref = getSharedPreferences("customName", Context.MODE_PRIVATE);
Uri uri = Uri.parse(sharedPref.getString("uritostring","defaultUriString"));
mp.create(this,uri);
Run Code Online (Sandbox Code Playgroud)

我不知道保存和加载到 sharedPreferences 可以合理地产生什么区别。据我所知,从调试来看uri与上面的Uri.parse(data.getData().toString())的结果相同。

非常感谢任何帮助和指示。

此致

尤利乌斯

编辑:

我以为我通过MediaPlayer.create()使用 …

android uri sharedpreferences android-mediaplayer

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

Android Studio未处理的异常警告

当我输入某些行,如JSONObject解码或日期解析时,应用程序将无法编译,因为编译器发出UnhandledException警告,我必须try/catch block在应用程序编译之前将调用包装在一起.这可以被禁用,这样我就不需要写了try/catch block吗?

android android-studio

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

Windows C++:如何重定向stderr以调用fprintf?

我在我们自己的自定义包装器中包装来自BSD项目的现有C++代码,我希望尽可能少地将它集成到我们的代码中.此代码用于fprintf打印到stderr以记录/报告错误.

我想将其重定向到同一进程中的替代位置.在Unix上我用a socketpair和a 完成了thread:套接字的一端是我发送stderr(通过调用dup2)的地方,另一端是在一个线程中监视,然后我可以处理输出.

这在Windows上不起作用,因为套接字与文件句柄不同.

我在网上找到的所有文档都显示了如何重定向子进程的输出,这不是我想要的.如何在同一进程中重定向stderr,在写入输出时获得某种回调?(在你这么说之前,我已经尝试过SetStdHandle但找不到任何办法让这项工作)......

c++ windows redirect

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

navigationControl,mapTypeControl和scaleControl在地图后面

我打算创建一个应用程序,其中有一个部分可以在Google地图上显示标记的位置.一切运作良好,但谷歌地图工具喜欢navigationControl,mapTypeControlscaleControl隐藏在一些设备,如三星Galaxy Tab 10.1(他们似乎在地图后面).即使我已将其值更改为true,但它们仍隐藏在某些设备中.

这是我做的:

       <--! The HTML -->
       <article class="container">
       .
       .
       .
       ...( some tags go here )

            <section class="span12">
                <div id="mapDiv"> </div>
            </section>

       </article>  

/*The Javascript*/
<script src="http://maps.google.com/maps/api/js?sensor=false"></script>

<script type="text/javascript">

 function initialize() {
     var position = new google.maps.LatLng(38.89655520572012, -77.03372955322266); 
     var myOptions = {
     zoom: 15,
     center: position,
     mapTypeId: google.maps.MapTypeId.ROADMAP,
     };
     var map = new google.maps.Map(
     document.getElementById("mapDiv"), myOptions);

     var marker = new google.maps.Marker({
     position: position,
     map: map,
     title:"We are here.",
     }); 
     }
</script> …
Run Code Online (Sandbox Code Playgroud)

javascript html5 android google-maps

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

Android Espresso IdlingPolicies.setIdlingResourceTimeout无效

我有几个类来测试深层链接.每个班级测试1个深层链接.

当我单独运行时,很少有测试总是在10秒以上正确终止,但是当我一起运行它们时总是花费超过45秒完成.

在此输入图像描述
请注意,所有这些测试现在都应该失败(我还没有完成它们的实现)所以结果不应该变化.

我用IdlingPolicies.setIdlingResourceTimeout错了吗?

我的考试班:

@RunWith(AndroidJUnit4.class)
public class DeepLinkActivityBagTest extends MyActivityTest {

    @Rule
    public MyActivityTestRule<DeepLinkActivity> activityTestRule =
            new MyActivityTestRule<DeepLinkActivity>(DeepLinkActivity.class) {
                @Override
                protected Intent getActivityIntent() {
                    Intent intent = super.getActivityIntent();
                    intent.setAction(Intent.ACTION_VIEW);
                    intent.setData(Uri.parse("xxx://bag"));
                    return intent;
                }
            };

    @Test
    public void testCorrectScreenOpened() {
        setUpWait();

        String expectedToolbarTitle = "shopping bag" + mToolbarTitleSuffix;
        onView(withTextIgnoreCase(expectedToolbarTitle)).check(matches(isDisplayed()));
    }
}
Run Code Online (Sandbox Code Playgroud)

它的父类:

@RunWith(AndroidJUnit4.class)
public class MyActivityTest {
    @Rule
    public MyActivityTestRule<DeepLinkActivity> activityTestRule;
    protected String mToolbarTitleSuffix;

    @Before
    public void prepare() {
        if (!BuildConfig.FLAVOR.equals(ENV_PRODUCTION)) {
            mToolbarTitleSuffix = String.format(" (%s)", BuildConfig.FLAVOR);
        } …
Run Code Online (Sandbox Code Playgroud)

java android android-espresso

5
推荐指数
0
解决办法
388
查看次数

Apache Camel:asyncCallback回复线程在Camel 17和Camel 18/19中更改

对于高达17.x的Camel版本,Synchronization.onComplete()回调上的所有调用activemq:queue都是在不同的线程中完成的,因此即使onComplete中的响应处理非常慢,消息也没有被阻塞和排队.asyncConsumer=true&defaultTaskExecutorType=ThreadPool&concurrentConsumers=2&maxConcurrentConsumers=100根据我的理解,这应该是配置的结果.因此,此展示的示例输出是:

Received async reply: 2000 OK
Received async reply: 3000 OK
Received async reply: 5000 OK
Received async reply: 9000 OK
Received async reply: 10000 OK
Finished async reply: 2000 OK
Finished async reply: 3000 OK
Finished async reply: 5000 OK
Finished async reply: 9000 OK
Finished async reply: 10000 OK
Run Code Online (Sandbox Code Playgroud)

所以"完成"日志毕竟是"收到",因为每个日志都在另一个线程中调用.所有回复都是异步接收的,处理的时间长短不会影响其他回复的接收.

升级到Camel 18.x(或19.x)后,这已不再相同.现在收到回复和处理(漫长的过程)它阻止接收其他人.这是因为相同的线程用于调用Synchroniztion.onComplete(),因此回复排队直到完全处理.

Received async reply: 2000 OK
Received async reply: 10000 OK
Received async reply: 9000 OK
Finished …
Run Code Online (Sandbox Code Playgroud)

java concurrency apache-camel

5
推荐指数
0
解决办法
409
查看次数