小编ste*_*veh的帖子

Android首先检测双击而不单击

我想检测双击BUT而不先触发单击.我已经尝试过双击监听器,但是在检测到双倍之前你总是得到一个onSingleTapUp,这是合理的我猜.但在我的应用程序中,我真的不希望在途中双击时单击回调.

我意识到没有应用程序可以预测未来(或者我会非常富有),但我在想,只需在单击时启动一个计时器,如果在一段时间内没有双击,那么只需单击即可.但这似乎不起作用,因为一旦我启动计时器并且计时器正在运行,第二次点击永远不会生成事件.这是我使用异步任务的代码,我也用计时器尝试过.

mGD = new GestureDetector(getContext(), new SimpleOnGestureListener() {

            @Override
            public boolean onSingleTapUp(MotionEvent ev) {
                //Log.d("KitView", "onSingleTapUp "+ev.toString());

                class DblTapTask extends AsyncTask<Void, Void, Void> {

                    @Override
                    protected void onPreExecute() {
                        Log.d("KitView", "onPreExecute");
                    }

                    protected Void doInBackground(Void... args) {
                        Log.d("KitView", "doInBackground");
                        try {
                            Thread.sleep(1000);
                        } catch (InterruptedException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                        return null;
                    }

                    protected void onPostExecute(Void result) {
                        Log.d("KitView", "onPostExecute");
                                            doSigleTapAction();
                        mDblTapTask=null;
                    }
                };

                if(mDblTapTask==null) {
                    Log.d("KitView", "START TASK");
                    mDblTapTask = new DblTapTask();
                    mDblTapTask.execute();
                } …
Run Code Online (Sandbox Code Playgroud)

events android double-click android-asynctask

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

eclipse如何在调试透视图中显示包浏览器

eclipse中的包浏览器只显示在Java选项卡(透视图)上,但我也希望在调试模式下显示它.有没有办法做到这一点?我在Windows中找不到它 - >在调试模式下显示视图但是它在java模式下(实际上,那是项目浏览器,但它看起来是一样的)

eclipse

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

android将mp3解码为pcm数据的最快方法

在我的应用程序中,我需要将 mp3 文件解码为 pcm 缓冲区。这是很多数据,所以我在读取和解码它时将其下采样到单声道 22050Hz。

目前我正在使用 javazoom jlayer 解码器http://www.javazoom.net/javalayer/javalayer.html

它可以工作,但速度很慢,在运行模式下解码一首 3 分钟的歌曲需要 30 秒,在调试模式下会老化。在我使用 libmpg 的 Windows 机器上,我可以在大约 1 秒内完成。

有没有更快的方法,任何人都知道肯定更快?如果不是更快,我不想浪费时间实施另一种方法。谢谢。

顺便说一下,在我的应用程序中,我需要将整个内容下载到内存中的 pcm 缓冲区,因此我对简单播放 mp3 文件的内容不感兴趣。

java mp3 android decode

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

android CheckBox如何在用户点击和setChecked之间进行区分

我在我的应用程序中使用一个复选框作为按钮打开或关闭某些内容.但是操作(从网络加载文件)是在异步任务中完成的,所以我不希望检查在async任务成功完成之前发生,就像这样

protected void onPostExecute(String result) {

            if(result==null) {
                return;
            }
            // loaded ok, turn on check mark
            MainActivity.mMp3Cb.setChecked(true);
Run Code Online (Sandbox Code Playgroud)

问题是,再次setChecked(true)引发OnCheckedChangeListener就像是用户输入一样

有办法避免这种情况吗?或至少检测到它onCheckedChanged

谢谢

checkbox android

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

android“未安装应用”错误。如何调试?

我已经在eclipse中开发了一个应用程序,所以今天我做了一个apk(做了密钥库等)

我把它放在我的网站上,并下载到运行4.0.4的三星GT7300上,它可以正常安装和运行。

现在,我只是尝试在没有名称的中国平板电脑上安装运行4.2.2的平板电脑,每次都得到“未安装应用程序”。

我当然启用了未知来源,还有什么我想念的吗?

当我收到“未安装应用程序”消息时,没有任何解释。有安装程序日志或我可以找到问题的地方吗?

如果有人愿意尝试为我安装,请访问 http://www.2112design.com/fbmstools/,文件为fbms_lmfd.apk

也许我不应该发布它,不知道

感谢您的帮助,这让我发疯了!

顺便说一句,我在Android上阅读了此“未安装应用”错误,所有这些建议都没有帮助

我将调试电缆连接到设备,它通过adb安装并正常运行。

所以我创建了一个空白应用程序,并制作了一个apk,放在我的网站上,然后下载到平板电脑,它可以很好地安装。所以我想我的真实应用存在问题,但清单基本相同。

android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="15" />
Run Code Online (Sandbox Code Playgroud)

所以我在平板电脑上安装了logcat视图,当我尝试从apk安装时,出现了一些错误消息

包.....在条目AndroidManifest.xml中没有证书:忽略

然后

安装错误代码:-103

installer android

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

Android 如何使用 libjpeg-turbo 库

我终于成功构建了 libjpeg-turbo 静态库,感谢这个适用 于 Android 的 libjpeg-turbo 现在我有一个由 ndk-build 生成的 libjpeg.a 和 libsimd.a

但我无法找到有关下一步该做什么的任何信息?我使用 BitmapFactory 中的构建将 jpeg 从缓冲区(从套接字)解码为位图,效果很好

byte[] jpgBits = new byte[jpgBitsLen];
dis.readFully(jpgBits);
Bitmap bmp = BitmapFactory.decodeByteArray(jpgBits, 0, jpgBitsLen);
Run Code Online (Sandbox Code Playgroud)

如何用 libjpeg-turbo 替换 BitmapFactory.decodeByteArray?

我用这个在我的电脑上编码流

tjhandle rmfdJpegCompressor = tjInitCompress();
tjCompress2(rmfdJpegCompressor, (unsigned char *)s_rmfdPixels, MFD_WH, 0, MFD_WH, TJPF_BGRX,
            &rmfdBits, &rmfdBitsLen, TJSAMP_420, RMFD_JPEG_QUALITY,
            0);
tjDestroy(rmfdJpegCompressor);
Run Code Online (Sandbox Code Playgroud)

哪个工作得很好,所以我想一定有一个 Android 等效的?

我读了这个 https://wiki.linaro.org/BenjaminGaignard/libjpeg-turboAndSkia ,这是否意味着使用它的唯一方法是重建android源代码,以便它使用libjpeg-turbo?我在某处读到有一个兼容性 api 和 libjpeg-turbo 的本机 api,我很高兴使用任何最简单的 api,因为我不喜欢重建 android

我尝试了以下操作:在我的项目根目录下,我创建了文件夹 jni/include 并将turbojpeg.h 放入其中 在我的项目根目录下我创建了文件夹 jni/prebuilt 并将 libjpeg.a 放入其中

在我的java代码中,我把

private native int tjInitDecompress(); …
Run Code Online (Sandbox Code Playgroud)

android android-ndk

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

android无法连接到URL

我找到了以下代码,它应该让我从web主机(在这种情况下我的网站)中读取目录内容

String urlStr = "http://2112design.com/tabs/drum_tabs";
URL url;
try {
    url = new URL(urlStr);
    java.net.URLConnection con = url.openConnection();
    con.connect();
    java.io.BufferedReader in =
      new java.io.BufferedReader(new java.io.InputStreamReader(con.getInputStream()));
    String line;
    for (; (line = in.readLine()) != null; ) {
        Log.d("MainActivity", "read from web "+line);
    }
} catch (MalformedURLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,con.connect(); 失败,错误跟踪如下:

android.os.NetworkOnMainThreadException
android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1118)
java.net.InetAddress.lookupHostByName(InetAddress.java:385)
Run Code Online (Sandbox Code Playgroud)

看起来有某种权限问题StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1118)但是当我在同一设备上使用网络浏览器并转到该URL时,它打开正常.

我对网络的东西不是很好,有人可以帮忙,谢谢

url android

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

左移无符号字节,更好的方法?

我有一个字节数组(因为无符号字节不是一个选项),需要将其中的4个转换为32位int.我正在使用这个:

byte rdbuf[] = new byte[fileLen+1];
int i = (rdbuf[i++]) | ((rdbuf[i++]<<8)&0xff00) | ((rdbuf[i++]<<16)&0xff0000) | ((rdbuf[i++]<<24)&0xff000000);
Run Code Online (Sandbox Code Playgroud)

如果我不做所有的逻辑和,它标志扩展字节,这显然不是我想要的.

在c中,这将是一个没有脑子的人.Java中有更好的方法吗?

java bit-manipulation

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

如何在SimpleExpandableListAdapter中更改文本颜色

我正在使用ExpandableListFragment在TabHost片段内创建一个ExpandableList

我从这里获得了ExpandableListFragment的代码https://gist.github.com/1316903

它似乎工作正常,除了我无法弄清楚如何更改文本颜色.

我的实现看起来像这样

public class LocalListFragment extends ExpandableListFragment {

    private static final String NAME = "NAME";
    private static final String IS_EVEN = "IS_EVEN";

    private ArrayList<String> mGroups;
    private ArrayList<ArrayList<Song>> mChildren;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
        // Set up our adapter

        List<Map<String, String>> groupData = new ArrayList<Map<String, String>>();
        List<List<Map<String, String>>> childData = new ArrayList<List<Map<String, String>>>();
        for (int i = 0; i < 10; i++) {
            Map<String, String> curGroupMap = new HashMap<String, String>();
            groupData.add(curGroupMap);
            curGroupMap.put(NAME, "GROUP" + …
Run Code Online (Sandbox Code Playgroud)

android expandablelistadapter

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

windows mp3 解码库 c c++

我已经花了一整天的时间,这让我发疯

有人知道将 mp3 解码为简单的 16 位 pcm (wave) 文件的简单方法吗?我需要一些可以随商业程序一起提供的东西,所以我更喜欢 .lib

我找到了 libmpg123.dll,但我不知道如何让我的程序与 msvc 2010 中的 dll 链接。我知道我需要添加一个引用,但是当我单击“添加新引用”时,我得到的只是一个空对话框带有项目名称和项目目录标题,无需单击。我尝试使用 lib 工具将 .dll 转换为 .lib,但一直抱怨 .def 文件格式不好。

我试图构建 madplayer,但我无法确定 id3tag.h 并且没有关于使用 libmad 的文档或示例,我可以找到

跛脚看起来太大了

任何关于 .lib 快速解决方案的想法,我都可以链接并完成它

谢谢,史蒂夫

c++ windows mp3 decode

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