小编Kha*_*aza的帖子

Looper的目的是什么以及如何使用它?

我是Android新手.我想知道Looper课程的作用以及如何使用它.我已阅读Android Looper类文档,但我无法完全理解它.我在很多地方都看过它但却无法理解它的目的.任何人都可以通过定义目的来帮助我,Looper并且如果可能的话也给出一个简单的例子吗?

multithreading android android-looper

441
推荐指数
9
解决办法
16万
查看次数

推送通知技术如何在Android上运行?

Google如何实施推送通知功能?它是通过在后台运行的服务还是以不同的方式完成的轮询来工作的?

android polling push-notification

200
推荐指数
3
解决办法
7万
查看次数

如何同时为Button应用形状和选择器?

我已经为按钮应用了一个形状,如:

<?xml version="1.0" encoding="utf-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle" >
    <gradient android:startColor="#DD000000" android:endColor="#DD2d2d2d"  android:angle="90"></gradient>
    <corners android:radius="15dip"></corners>

</shape>
Run Code Online (Sandbox Code Playgroud)

现在我想使用一个选择器,如:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/active"
      android:state_pressed="true" />
<item android:drawable="@drawable/passive"/>
Run Code Online (Sandbox Code Playgroud)

对于这个按钮也是如此.可能吗 ...???

android button selector

74
推荐指数
4
解决办法
6万
查看次数

android:当按下完成键时,软键盘执行操作

我有一个EditText.我想在键入一些文本后,当用户按下softkeybard的Done键时,它应该执行一些搜索操作,我也在按钮点击事件中实现.怎么做...???

android key listener android-softkeyboard

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

android java.lang.IllegalStateException:无法从CursorWindow读取第0行,第0列

我正在开发一个应用程序,它下载一些文件并将它们的文本保存在file_content字段中.文件大小可能从几KB到10 MB不等.该应用程序适用于所有尺寸,同时保存.在long file_content记录上使用select语句时会发生此问题.它给

java.lang.IllegalStateException:无法从CursorWindow读取第0行col 0

何时获取此类行.字段内容大小有限制吗?如果是这样,那么为什么它让我们在检索时保存并给出错误?这是我的代码剪切,提取行:

public String getFileContent(MyFile gc) {
        if(!isDBOpen()) {
            open();
        }
        try {
            String mQuery = "SELECT * FROM " + DBOpenHelper.TABLE_SAVED_FILES + " WHERE " + DBOpenHelper.COLUMN_ID + " = " + gc.id;
            Cursor mCursor = database.rawQuery(mQuery, null);
            if(mCursor.getCount() <= 0) {
                return null;
            }
            if(mCursor.moveToFirst()) {
                return getCursorRowContent(mCursor);
            }
        } catch (Exception e) {
            e.getMessage();
        }
        return null;
    }

    private String getCursorRowContent(Cursor mCursor) throws Exception {
        return mCursor.getString(mCursor.getColumnIndex(DBOpenHelper.COLUMN_FILE_CONTENT));
    }
Run Code Online (Sandbox Code Playgroud)

知道发生了什么事吗?我已经在2到3台设备上进行了测试.

Logcat输出:

01-29 13:41:56.520: W/CursorWindow(4121): …
Run Code Online (Sandbox Code Playgroud)

sqlite android android-cursor

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

过时的proguard文件; 使用-keepclasseswithmembers而不是-keepclasseswithmembernames

我在android项目中的proguard.cfg文件中出现以下错误.我不知道这个错误说的是什么.任何的想法?

android proguard

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

Servlet:java.lang.ClassNotFoundException:org.json.simple.parser.ParseException

我正在为Android实施Google Cloud Messaging服务.我创建了一个测试服务器,它向应用程序用户发送推送通知.但我创建的服务器正在生成以下错误.我在服务器端使用Java Servlet,并在项目中包含了gcm-server.jar文件.

这是日志:

java.lang.ClassNotFoundException: org.json.simple.parser.ParseException
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    at com.mgcm.SendGCMMessage.processRequest(SendGCMMessage.java:48)
    at com.mgcm.SendGCMMessage.doPost(SendGCMMessage.java:40)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

知道这有什么问题吗?

java android push-notification

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

位置getAccuracy()这个函数做什么?

我知道这个函数返回一个浮点数,表示特定位置的准确性.我的问题是:这个函数返回的值越大意味着位置越准确,这是对的吗?或者它与我所说的相反?

android location

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

android如何在布局开始时添加视图?

我的问题很简单.我有一个线性布局.它有一些儿童视图.现在我想在孩子的开头添加一个视图.意味着在普通的addView(视图)中,在布局的末尾添加了视图.但我想在开始时,在第一个位置添加它.任何的想法...???

android view

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

Android FragmentTransaction.addToBackStack混淆

我正在研究碎片,并且在区分FragmentTransaction.replace(id, fragment, tag)FragmentTransaction.addToBackStack(tag)调用时很少感到困惑.让我们说我当前的片段是FragmentA,然后我加载了FragmentB.我希望将来,当我需要加载FragmentA时,我不必重新加载它.只需在旧状态下加载旧的.我使用了以下代码段:

public void loadFragment(Fragment fragmentB, String tag) {
    FragmentManager fm = getSupportFragmentManager();
    View fragmentContainer = findViewById(R.id.fragment_container);

    FragmentTransaction ft = fm.beginTransaction();
    ft.replace(fragmentContainer.getId(), fragmentB, tag);

    ft.addToBackStack(tag);

    ft.commit();
}
Run Code Online (Sandbox Code Playgroud)

现在我很困惑,我应该在哪里添加字符串标签?在replace()addToBackStack()或在两个电话?你能解释这两个标签位置之间的区别吗?

android android-fragments fragmenttransaction

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