我不确定我做错了什么,但onPostExecute永远不会被调用.
从我做的主要活动的UI线程调用它:
new PostToOpenFeint.execute();
Run Code Online (Sandbox Code Playgroud)onPreExecute(),doInBackground(..)被触发,但由于某种原因,onPostExecute永远不会被调用.
先感谢您!
戴夫
private class PostToOpenFeint extends AsyncTask<Void, Void, Void> {
/*
* (non-Javadoc)
*
* @see android.os.AsyncTask#doInBackground(Params[])
*/
@Override
protected Void doInBackground(Void... params) {
// does all the work here
return null;
}
/*
* (non-Javadoc)
*
* @see android.os.AsyncTask#onPostExecute(java.lang.Object)
*/
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
Toast.makeText(MainScreen.this, "Done syncing", Toast.LENGTH_LONG).show();
}
/*
* (non-Javadoc)
*
* @see android.os.AsyncTask#onPreExecute()
*/
@Override
protected void onPreExecute() {
// …Run Code Online (Sandbox Code Playgroud) 是否有可能检测到活动中的所有触摸事件并捕获它然后作为回传将该事件传递给另一个视图?
例如:
按钮1和按钮2.当按下按钮1时,我想捕获该触摸/点击事件并自动将该触摸事件传递给按钮2,基本上只需按一下/按下即可生成点击并将相同的点击传递给按钮2第二个按钮自动.
我一直坚持这个问题几个小时,现在试图让它工作.基本上我要做的是以下内容.Base64编码从Android设备上的SD卡中拾取的音频文件,Base64对其进行编码,将其转换为字符串,然后再次使用Base64解码字符串并将文件保存回sdcard.听起来相当简单,使用文本文件时效果很好.例如,如果我创建一个简单的文本文件,调用它dave.text并注入一些文本,说"Hello Dave"或类似的东西它工作得很好,但是当我尝试用二进制文件做同样的事情时失败,在这个例子中是音频.这是我正在使用的代码.
File file = new File(Environment.getExternalStorageDirectory() + "/hello-4.wav");
byte[] FileBytes = FileUtils.readFileToByteArray(file);
byte[] encodedBytes = Base64.encode(FileBytes, 0);
String encodedString = new String(encodedBytes);
Utilities.log("~~~~~~~~ Encoded: ", new String(encodedString));
byte[] decodedBytes = Base64.decode(encodedString, 0);
String decodedString = new String(decodedBytes);
Utilities.log("~~~~~~~~ Decoded: ", new String(decodedString));
try {
File file2 = new File(Environment.getExternalStorageDirectory() + "/hello-5.wav");
FileOutputStream os = new FileOutputStream(file2, true);
os.write(decodedString.getBytes());
os.flush();
os.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
此时如果我尝试保存文件,它就会被破坏.音频文件hello-5.wav的大小比原始大,并且不播放.
我在这里做错了什么想法?如果我尝试使用os.write(decodingBytes)保存decodeBytes,它可以工作但不能在转换为String时使用getBytes().
有任何想法吗?谢谢!
我们正在尝试构建一个PTT(按键通话)应用程序.我们的想法是通过无线方式将音频文件从一个设备发送到另一个设备.Jingle是唯一合乎逻辑的选择,如果有的话,是否有任何关于如何在Android环境中进行此设置的指针?+ XMPP还是有更好的解决方案吗?
更糟糕的情况我想到有一个C2DM推送通知从一个设备飞到另一个设备并且每个推送有效负载通知设备音频文件在服务器上的位置并且该单元流传输音频文件,但它似乎太脆弱了这样,因为推送通知可能并不总是得到保证,或者它可能需要一些时间才能到达设备等.这里的想法是尽可能快地获得真实的体验.
任何帮助都非常感谢.