小编Mas*_*mad的帖子

由UI启动的第1部分持久foreGround android服务,也在睡眠模式下工作,也在手机重启时启动

Status:---同样接受Karakuri的和沙拉德Mhaske的答案,但由于沙拉德Mhaske回答之后赏金的开始,赏金应该去他.

第2 部分:第2 部分持续foreGround android服务,由UI启动,也在睡眠模式下工作,也从手机重启开始

stack overflow,只有一个答案可以接受.我认为这两个答案都是可以接受的,但必须选择一个(我随机选择).

观众邀请上/下投票答案/问题,以欣赏努力!.我赞成Karakuri的答案来弥补声誉.

Scenario:---

  1. 我想让用户单击开始/停止按钮并从UI活动启动/停止服务.我已经制作了用户界面,所以不关心它.但只是按钮点击事件的逻辑.

  2. 难道希望该服务绑定到用户界面活动.如果活动关闭,服务应继续运行.

  3. 想要尽最大努力保持服务的持久性并且在任何情况下都不会停止.将它赋予最大的权重并运行它,ForGroundSerice因为它具有更高的重要性层次.(希望没问题?)

  4. 除非我的应用程序用户界面点击了停止按钮,否则不要让它停止(或者应该重新启动)即使android回收内存.我和手机用户都知道了.这项服务至关重要.即使在睡觉.

    details =我的应用程序执行一些操作,为用户提供的时间(通常为15分钟)休眠,唤醒并再次执行操作.这永远不会结束)

    如果我需要AlarmManager,如何实现?或任何其他方式?或者只是把操作放在while loop and sleep for 15 minuts最后?

  5. 启动服务时(通过单击"开始"按钮).它应该输入一个条目,以便在手机重启时自动启动.

QUESTION:---

Primary Question:

  1. 只是无法为场景获得最佳策略 …

android android-intent android-service android-alarms android-backup-service

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

Methods.class中的代码重用与策略模式和依赖注入

Status:Fendy和Glen Best的答案同样被我接受和尊重,但既然可以接受并给予赏金,我选择Fendy的答案.

Scenario:

如果我有一些代码被多次重复使用许多类(很少有轻微参数改变是显而易见的)和并发线程,哪种方法去?

必须重用的代码可以是任何理智的东西(适当考虑静态和非静态上下文和方法制作技术).它可以是一个算法,一个DB方法做连接,操作,关闭.任何东西.

  1. 创建一些类MyMethods.class,并将所有这些方法放入其中.

    表1.A 制作方法 static并直接调用(由所有类和并发线程)MyMethods.someMethod();

    1.B. 制作方法 non-static和当时打电话给他们,instantiate全班通过MyMethods mm = MyMethods(); mm.someMethod();

  2. 使用https://en.wikipedia.org/wiki/Strategy_pattern中声明的策略模式(此处附带的代码).

  3. 使用https://en.wikipedia.org/wiki/Dependency_injection#Java中所述的依赖注入

Problems:

  1. 有些人会说使用这种方法进行单元测试 http://en.wikipedia.org/wiki/Unit_testing 是不可能的,在换出后者时会遇到麻烦.如果你想测试你的类,并使用一个模拟版本中的依赖

    表1.A 并发调用或多个类会有任何问题吗?特别JDBC static methods是只是一个例子?

    1.B. 我认为它会产生太多的内存负载,因为整个类instanticated只需调用一两个方法可以多次

  2. 那是我的头脑,解释那个和/或任何优点/缺点 …

java unit-testing design-patterns dependency-injection class

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

JavaExe 和 Java 应用程序作为 Windows 系统服务与桌面交互

要求:

这是 Java 开发人员在我的语言环境中面临的一个非常普遍的问题。我真的被困在这个问题上很多天。搜索并尝试了很多,阅读文档。阅读与 JavaExe 相关的所有 stackoverflow 问题。如果您之前做过类似的事情并且有一个全面的答案,请只回复。我真的很感谢社区!

赛纳里奥:

我正在使用JavaExe在桌面交互功能中将应用程序作为系统服务运行。确切地说,我有一个可以捕获桌面屏幕截图的应用程序。我希望它在任何用户登录时运行(以管理员身份),所以没有人可以阻止它。

我有一个 myapp.jar、settings.txt 和一个 lib 目录。

我搜索了很多,发现 JavaExe 有效(通过观看它的例子)

如果有人有更好的方法。请说明。

问题:

根据我的研究,

  1. 您必须创建一个名为 .exe 的 .properties 文件,并写入"RunType = 1"该文件。

  2. 您在主类中定义了一个静态方法: serviceInit()

我需要放置任何类或引用/导入吗?如何?

编辑:

我的代码下面的作品作为独立的.jar和javaExe.exe了。

它现在确实创建了一个系统服务并以SYSTEM用户身份运行。但它不与桌面交互。即它没有显示任何图形用户界面。

package temp;

import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;


public class Temp {


    /**
     * @param args the command line arguments
     */
    public …
Run Code Online (Sandbox Code Playgroud)

java windows-services interactive windows-7 java-service-wrapper

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

具有给定char数组中所有可能组合/置换的暴力算法算法

需要帮助解决这个令我烦恼的简单事情.我已经看到了许多类似的算法,但我想以完全所述的方式来实现这一点,以在给定的字符集数组中达到所有可能的组合/置换.

让我们举个密码破解者暴力破坏者的例子

例如 char[] charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();

陈述方式:

就像这样.对于当前的例子.

a,b,c,d......z     then at last index "z".  

it goes like      

aa,ab,ac....az.        then      

ba,bb,bc,bd........bz          then

same for ca, cb, and so on.

aaaa,aaab,aaac......aaaz   then

baaa,baab,baac.......baaz   to      zzzzzzzzzzzzzzzzzzzzzzzzzz
Run Code Online (Sandbox Code Playgroud)

我到目前为止的代码:

(尽管不是解决方案)是拥有与charset数组长度一样多的for循环.那太疯狂了.这工作正常.但我需要聪明的一个.

public class Bruteforcer {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
          char[] charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();


         int currentIndex = 0;
         String currentString = "";

         for (int i = 0; i < charset.length; …
Run Code Online (Sandbox Code Playgroud)

java algorithm

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

如何将droppable仅丢弃在jquery ui中的draggable元素中

阅读一些类似的文章/问题,但如果droppables是具有相同命名类的许多元素,则无法使其正常工作.

如何使拖动的元素只被放入droppable元素中.如果将其拖到其他位置,它会返回原始父级.(不会被拖累).

JSFiddle示例

HTML

<div  class="box-body">
    <div class="task">task</div>
</div>
<div class="box-body"></div>
Run Code Online (Sandbox Code Playgroud)

JS

$('.task').draggable();
    $('.box-body').droppable({
        drop:function(e, ui) {
            $(e.target).append($(ui.draggable).detach().css({'top':'', 'left':''}));
    }
});
Run Code Online (Sandbox Code Playgroud)

CSS

.box-body {
    height:100px;
    width:100px;
    border:1px solid #333;
}
.task {
    width:100%;
    margin:5px;
    border:1px solid #333;
}
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-ui

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

java ee EJB中的服务层和dao层

问题:在Java EE和EJB的上下文中,任何人都可以显示具有两种不同方法的特定DAO类(或多个).和一个服务类在一个事务边界中调用这两个方法并回滚?

我有一个EJB,但我想将它用作服务层,就像在Spring @Transactional方法中一样.

1)这是个好主意吗?

2)如何在一个方法中的一个"事务"中进行多个dao方法调用?我想我必须在transaction.begin()和.上制定一些策略.COMIT()?任何人都可以展示代码示例吗?

一些主要优点是:

a-所有小的不可变DAO事务将在单个数据库连接中的"一次性"中提交(in single transactional boundries)

b-如果说我在服务器上有4个dao调用,而第三个调用失败,那么由于它的一个事务边界,我可以这样做roll backs.

c-我immutable DAO methodsre-usable在很多其他地方.

Java EE示例:

import com.....entities.Users;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

@Stateless
public class UsersBean {

    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")

    public Users sayHello() {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("CommunityPU");
        EntityManager em = emf.createEntityManager();
        Users user =  em.find(Users.class, 1);
        em.close();
        emf.close();
        return user;
    }

} …
Run Code Online (Sandbox Code Playgroud)

spring spring-mvc java-ee java-ee-6 java-ee-7

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

基本的hibernate和spring mvc集成了view,dao,service和controller

Status:感谢答案,但没有人回答我给出的简单代码的重要标签描述.(7月20日13日)

我已经阅读了很多教程,然而每件事情都只是混淆了或者仅仅是一个看似微小或抽象的具体例子.

在我的脑海里,我真的无法做出符合逻辑的事情.可能是我学习具体的实际代码.

问题:任何人都可以展示如何work completely使用spring 3.x和hibernate 4.x制作以下不完整的代码.


重要:

我想,即使是在这个简单的例子,让SessionFactory的和数据库quering由Hibernate 在服务类(使boundry有在大型应用服务类使用的DAO很多和提交交易一气呵成)

我忘记了我在哪里阅读它,也许是在春季文档中 - 但它清楚地说,不要将@Transactional放在您的DAO上:P通常,您的服务层是您定义事务边界的地方.服务方法通常是一大块事情,如果全部通过,则提交否则失败和回滚当然,这可能不是一个顽固的规则,而是我们如何构建我们的企业资源规划Web核心.我忘记了我在哪里阅读它,也许是在春季文档中 - 但它清楚地说,不要把@Transactional放在你的DAO上

例如 http://blog.patouchas.net/technology/hibernate-dao-java-tutorial/喜欢没有春天?


注释丢失或不正确.什么是正确的注释.

这些类是否会有特定的spring.xml(通常除外)?如果它有效,我想只注释注释.正确的注释,如@component,service,repository,resource,autowired

这就是我通常的交易方式

   Configuration configuration = new Configuration();
   configuration.configure();

   ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()
                                        .applySettings(configuration.getProperties())
                                        .buildServiceRegistry();

   SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
   Session session = sessionFactory.openSession();
   session.beginTransaction();
   session.getTransaction().commit();
   session.close();
Run Code Online (Sandbox Code Playgroud)

现在春天和冬眠

@Controller
public class UserController {
    private IUserService userService;

    @RequestMapping("/users")
    public String creatUser(){
        Users user = new Users();
        user.setEmail("myemail@mydomain.com");
        user.setName("myname");
        userService.creatUser(user); …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate spring-mvc java-ee

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