小编tia*_*tia的帖子

android设计注意事项:AsyncTask vs Service(IntentService?)

我正在设计一个Android应用程序,需要执行以下步骤:

  1. 用户按下按钮或以其他方式指示"同步数据".
  2. 同步过程将使用REST Web服务将数据移入和移出服务器.
  3. 数据将本地存储在sqlite数据库中.
  4. 同步过程应该向UI提供状态更新/消息
  5. 不应允许用户漫游到应用程序的其他部分,并在同步过程中执行更多工作.

同步过程第一次运行时,可能需要10-20分钟.在初始同步之后,将传输和存储的数据更少,我希望该过程需要1-2分钟或更短时间.

我一直在阅读有关Android的AsyncTask各种内容以及使用服务的各种示例...但我并不完全理解选择一种设计而不是另一种设计的设计考虑和权衡.我目前使用AsyncTask将我的演示项目删除.观看(大部分)开发Android REST客户端应用程序之后:http: //code.google.com/events/io/2010/sessions/developing-RESTful-android-apps.html#我对此处描述的设计模式感到困惑感觉过于复杂,也许是因为我只是"不明白".

我来自java,spring,web和桌面应用程序背景.对手持设备进行思考和设计对我来说是一个新手.(当屏幕布局发生变化时会发生什么?当我正在运行同步时手机响铃会发生什么?)如果初始同步IS将是一个如此长时间运行的过程,请退回2步,是否有更好的方法我要考虑问题 - >解决方案,用户体验,用户对手机上运行的应用程序的期望?

很想听听那些已经与这些问题搏斗的更有经验的Android开发者.

android background-process android-asynctask android-intentservice

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

jquery ui accordion - 多种手风琴扩展/解决所有风格的问题

我正在尝试创建一个手风琴,只需单击一下即可展开/折叠所有部分.我还需要用户能够打开和关闭一次打开0-n部分的部分.使用stackoverflow和jquery论坛上的几个讨论,这里是我提出的解决方案:我已经实现了每个部分,因为它是自己的手风琴,其中每个都设置为collapsible = true.

<html>
    <head>
        <title>Accordion Test</title>

        <script type="text/javascript" src="../scripts/jquery-1.4.2.min.js"></script>
        <script type="text/javascript" src="../scripts/jquery-ui-1.8.4.custom.min.js"></script>

        <link rel="stylesheet" href="../_templates/css/jquery-ui-1.8.6.custom.css"  type="text/css" />
        <link rel="stylesheet" href="../_templates/css/jquery.ui.accordion.css" type="text/css" />
    </head>

<body>
        <a onClick="expandAll()">Expand All</a>
        <br>
        <a onClick="collapseAll()">Collapse All</a>
            <div id="accordion1" class="accord">
            <h5><a href="#">section 1</a></h5>
            <div>
                    section 1 text  
            </div>
            </div>

            <!-- orders section -->
            <div id="accordion2" class="accord">
            <h5><a href="#">section 2</a></h5>
            <div>
                    section 2 text  
            </div>
            </div>

            <!--  section 3 -->
            <div id="accordion3" class="accord">
            <h5><a href="#">section 3</a></h5>
            <div>
                    section 3 text  
            </div>
            </div>

            <!-- section 4 --> …
Run Code Online (Sandbox Code Playgroud)

jquery-ui jquery-ui-accordion

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

POJO到SpringV中的MultiValueMap映射/绑定/转换

我有一个POJO我需要格式化为MultiValueMap.此MultiValueMap将在POST方法中用作使用restTemplate类的请求,并将作为contentType application/x-www-form-urlencoded传递给我的Web服务.

是否有任何工具或实用程序可以为我执行POJO - > MultiValueMap转换?

样本pojo:

public class SampleDto implements Serializable, Idable, Comparable<SampleDto> {

    private static final long serialVersionUID = 1L;

    private Integer id;

    private Boolean active;

    private String lastName;

    private List<SurgeonClinicDto> surgeonClinics = new ArrayList<SurgeonClinicDto>();
    private List<PromptValueDto> promptValues = new ArrayList<PromptValueDto>();

    private Date lastUpdated = new Date();

    public SampleDto() {

    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Boolean getActive() {
        return active;
    }

    public void setActive(Boolean active) …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc

10
推荐指数
2
解决办法
4365
查看次数

junit 4 TransactionalTestExecutionListener 只为类中的所有测试插入一次测试数据?

我有一个测试 DAO 的 junit 4 测试类。

单元测试:

  @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations = {
      "classpath:/WEB-INF/applicationContext-db.xml",
      "classpath:/WEB-INF/applicationContext-hibernate.xml",
      "classpath:/WEB-INF/applicationContext.xml" })
    @TestExecutionListeners({DependencyInjectionTestExecutionListener.class, TransactionalTestExecutionListener.class})
    @DataSetLocation("test/java/com/yada/yada/dao/dbunit-general.xml")
    @TransactionConfiguration(transactionManager="transactionManager", defaultRollback = true)
    @Transactional
    public class RealmDAOJU4Test {

     @Autowired
     private DbUnitInitializer dbUnitInitializer;

     @Autowired
     private RealmDAO realmDAO;

     @BeforeTransaction
     public void setupDatabase() {
       // use dbUnitInitializer to insert test data
     }

     @Test
     public void testGetById() {
      Integer id = 2204;
      Realm realm = realmDAO.get(id);
      assertEquals(realm.getName().compareToIgnoreCase(
        "South Technical Realm"), 0);
      assertEquals(8, realm.getRealmRelationships().size());
     }

     // more test methods annotated here
}
Run Code Online (Sandbox Code Playgroud)

@BeforeTransacation 方法在每个测试方法之前运行。我想做的是:使用我的 DbUnitInitializer 将数据加载到我的数据库中 …

junit spring junit4

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