小编Gre*_*lli的帖子

Thread.setPriority()和android.os.Process.setThreadPriority()之间有什么区别

如果我有以下代码:

Runnable r = ...;

Thread  thread = new Thread(r);
thread.setPriority((Thread.MAX_PRIORITY + Thread.NORM_PRIORITY) / 2);
Run Code Online (Sandbox Code Playgroud)

要么 ...

    Runnable r = ...
    Thread thread = new Thread( new Runnable() {
       public void run() {
         android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_MORE_FAVORABLE);
         r.run();
       }
    });
Run Code Online (Sandbox Code Playgroud)

android.os.Process方式需要/首选吗?

为什么 android.os.Process方式首选/必需?

据我所知,目前尚未明确记录.

android

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

Smack 4.1重新连接问题

我正在开发一个聊天应用程序

  1. 我有一个持续运行的后台服务.
  2. 应用程序运行顺利,我能够毫无问题地接收和发送消息.
  3. 我正在使用默认的Smack 4.1重新连接管理器,它会在连接丢失后立即连接(几乎90%的时间).

但有时,当连接丢失时,Smack重新连接管理器停止工作.

我无法找出造成这个问题的原因.

当我检查我的手机后,经过12到14小时的延迟,我可以看到Android服务仍在运行,但XMPP重新连接已停止工作.然后我必须强制停止应用程序,然后重新启动服务并再次连接到XMPP服务器.

我的假设是当"电话网络从Wifi到数据或数据到Wifi"切换时.与此同时,Smack 4.1重新连接管理器停止工作.虽然,我不确定.

我有问题

  1. PingManager有什么用?PingManager在这种情况下可以提供帮助吗?
  2. 什么是StreamManagement?我该如何启用它?这种情况有用吗?

任何其他解决方案来解决这个问题?我在考虑以下解决方案:

  1. 要使用GCM以及XMPP,所以当XMPP无法重新连接时,我可以获得PUSH并在PUSH的基础上再次连接.
  2. 使用警报服务.(问题:由于连接丢失而在队列中的消息将取决于下一个警报计划)
  3. 每次用户返回应用程序时连接XMPP.(问题:因连接丢失而在队列中的消息将取决于用户返回应用程序)

java sockets android xmpp smack

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

HTC Desire HD的Sqlite问题

最近我收到很多关于HTC Desire系列的抱怨,并且在调用sql语句时失败了.我收到了来自用户的报告,其中包含以下内容的日志快照.

I/Database( 2348): sqlite returned: error code = 8, msg = statement aborts at 1: [pragma journal_mode = WAL;] 
E/Database( 2348): sqlite3_exec to set journal_mode of /data/data/my.app.package/files/localized_db_en_uk-1.sqlite to WAL failed
Run Code Online (Sandbox Code Playgroud)

然后我的应用程序基本上在火焰中燃烧,因为打开数据库的调用导致严重的运行时错误,当光标保持打开时,它会显示出来.此时不应该有光标,因为我们正试图打开它.

这只发生在HTC Desire HD和Z.我的代码基本上执行以下操作(稍微更改以隔离问题区域).

SQLiteDatabase db;
String dbName;

public SQLiteDatabase loadDb(Context context) throws IOException{
   //Close any old db handle
   if (db != null && db.isOpen()) {
      db.close();
   } 
  // The name of the database to use from the bundled assets.
  String dbAsset = "/asset_dir/"+dbName+".sqlite";
  InputStream myInput = context.getAssets().open(dbAsset, Context.MODE_PRIVATE); …
Run Code Online (Sandbox Code Playgroud)

sqlite android

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

是否可以使用Android build.xml简单地编译Emma检测APK并且不运行任何测试

我知道

ant coverage
Run Code Online (Sandbox Code Playgroud)

然而,做了几件事情,它与艾玛仪表编译,安装和运行测试APK.我不希望它通过蚂蚁与覆盖运行测试套件,因为我需要一些额外的钩子运行它,我不想跑两次大的测试套件.到目前为止,我已经尝试过了

Target_Project/build.properties

emma.enabled=true
Run Code Online (Sandbox Code Playgroud)

Test_Project/build.properties

emma.enabled=true
Run Code Online (Sandbox Code Playgroud)

然后在shell中执行此操作.

Target_Project$ ant debug
Target_Project$ adb install bin/Target_Project-debug.apk
Target_Project$ cd ../Test_Project/
Test_Project$ ant debug
Test_Project$ adb install bin/Test_Project-debug.apk
Test_Project$ adb shell am instrument -e coverage true -e coverageFile /sdcard/myFile.ec -w com.my_app.testproject/android.test.InstrumentationTestRunner
Run Code Online (Sandbox Code Playgroud)

回应是

Error: Failed to generate emma coverage. Is emma jar on classpath?
Run Code Online (Sandbox Code Playgroud)

那么,有没有什么窍门能让apk中建立一个能与艾玛库?我试图调用SDK中的XML模板创建的目标,但他们是"私人".有什么我想念的吗?

android

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

从java对象创建xml文件

  1. 我想从java 6创建一个XML文件(这是我第一次尝试这个),我想要一个如何用DOM做这个的例子.我需要一个展示如何构建树的示例?
  2. 我可以从java对象创建EDMX文件吗?

此致,鲍里斯

java xml

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

NullPtrException Java在Map中使用枚举

我正在尝试另一种方法来做一些我已经拥有的代码,我发现它不够优雅,我遇到了这个例外.我真的不明白发生了什么,我还是Java的新手.

如果有很多代码,我很抱歉,但我不认为我可以削减更多.例外是在第一行提出的Initialize().

这是确切的错误消息:

在simulationia.SimulationIA.main(SimulationIA.java:21)的simulationia.CritterInfo.Initialize(Critter.java:35)中的线程"main"java.lang.NullPointerException中的异常

第35行是第一行Initialize().SimulationIA的第21行是调用Initialize().

// Critter.java
class CritterInfo { 
    static private Map<Object, String> enum_desc;

    public enum CRITTER_TYPE { CT_HERBIVORE, CT_CARNIVORE }
    public enum CRITTER_STATE { CS_FULL, CS_HUNGRY, CS_STARVING, CS_DEAD }

    /* ... */

    static void Initialize() {
        enum_desc.put((Object)CRITTER_TYPE.CT_HERBIVORE,    "Herbivore");
        enum_desc.put((Object)CRITTER_TYPE.CT_CARNIVORE,    "Carnivore");
        enum_desc.put((Object)CRITTER_STATE.CS_FULL,        "Full");
        enum_desc.put((Object)CRITTER_STATE.CS_HUNGRY,      "Hungry");
        enum_desc.put((Object)CRITTER_STATE.CS_STARVING,    "Starving");
        enum_desc.put((Object)CRITTER_STATE.CS_DEAD,        "Dead");
    }

    /* ... */
}   
Run Code Online (Sandbox Code Playgroud)

另一个档案......

// SimulationIA.java
public class SimulationIA {
    public static void main(String[] args) {
        /* ... */

        CritterInfo.Initialize();

        /* ... …
Run Code Online (Sandbox Code Playgroud)

java

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

如何在我的html页面中使用javascript函数重定向到一个分区(<div>)

我的问题是我想在我的同一个html页面中重定向,其中包含一个名为div的div add-form.

当我点击button我的重定向应该在一个div包含一些代码.这是我的一些代码重定向到另一个页面,但我不知道如何用一个替换页面div.

 success: function(data){

          if(data['success']){
        alert("DOne");  

        window.location = document.getElementById('add-form');
         // $("#add-form").load(function(e) {

         // });


          }
          else{
              alert("Oops, There is a Network Error.....");
          }
      }
Run Code Online (Sandbox Code Playgroud)

在这段代码#add-formDIV id.

我不想重定向到另一个页面,而是在包含的页面中滑动div tag.

更新:

这是两张图片.

第一张图片

在第一张图片中点击右侧保持的+按钮.代码是:

<a href="#add-form" data-icon="plus" data-iconpos="notext">Add</a>
Run Code Online (Sandbox Code Playgroud)

结果是这个图像.

第二张图片

我想对按钮点击做同样的事情,但是在javascript中.

javascript ajax jquery cordova

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

标签 统计

android ×4

java ×3

ajax ×1

cordova ×1

javascript ×1

jquery ×1

smack ×1

sockets ×1

sqlite ×1

xml ×1

xmpp ×1