小编Cri*_*ian的帖子

Android上的Http连接超时无法正常工作

我正在写一个连接到Web服务应用程序,我不希望它等待太久,如果它不能得到一个连接.因此,我设置了httpparams的connectionTimeout.但它似乎没有任何影响.

测试我暂时关闭我的WLAN.该应用程序试图连接相当长的一段时间(超过秒3我想办法更多),然后抛出一个UnknownHostException.

这是我的代码:

try{
    HttpClient httpclient = new DefaultHttpClient();
    HttpParams params = httpclient.getParams();
    HttpConnectionParams.setConnectionTimeout(params, 3000);
    HttpConnectionParams.setSoTimeout(params, 3000);

    httppost = new HttpPost(URL);
    StringEntity se = new StringEntity(envelope,HTTP.UTF_8);
    httppost.setEntity(se);
    //Code stops here until UnknownHostException is thrown.
    BasicHttpResponse httpResponse = (BasicHttpResponse) httpclient.execute(httppost);

    HttpEntity entity = httpResponse.getEntity();
    return entity;

}catch (Exception e){
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

任何人都有我想念的想法吗?

post android timeout http

42
推荐指数
3
解决办法
5万
查看次数

如何在反序列化文档时忽略未使用的XML元素?

我正在使用SimpleXml来(de)序列化POJO.现在,我有一个大的XML,它有一些不需要的元素.例如,使用此XML:

<Root>
   <Element>Used</Element>
   <Another>Not used</Another>
<Root> 
Run Code Online (Sandbox Code Playgroud)

我想创建一个POJO,它看起来像:

@Root
class Root{
    @Element
    private String element;
}
Run Code Online (Sandbox Code Playgroud)

问题是我得到了这个例外:

simpleframework.xml.core.ElementException: Element 'Another' does not have a
match in class blah.blah.Blah at line 1
Run Code Online (Sandbox Code Playgroud)

那么......我应该如何配置POJO以便我能正确解析XML?

java xml-deserialization simple-framework

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

如何使用NDK?从'hello world'应用开始

我希望看到一个用C/C++编写的"Hello world"程序,但可以在Android上运行.

我知道这可以通过使用NDK和JNI调用来实现.但是无法使其发挥作用.没有在线指南是有帮助的.

需要知道才能开始.

我正在使用Windows 7计算机进行开发,并且还使用Eclipse轻松实现.

Android安装路径:C:\ Program Files\Android\android-sdk-windows和NDK我已经提取到:C:\ Program Files\Android\android-ndk-r5

  1. 如何将NDK导入eclipse?
  2. 如何在Android中使用C/C++?

如果我可以帮助运行一个简单的"hello world",我可以使用C++设计大部分敏感代码.

c++ java-native-interface android android-ndk

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

下载之前如何知道文件的大小?

我必须下载一个文件,我正在使用这个代码,这基本上是一个AsyncTask用于更新进度条的代码.但是,因为我不知道文件大小是多少,所以我一直不得不使用微调器进度条.那么,如何在开始下载之前获取文件大小以便我可以使用正常的进度条?

android download

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

主要无法解决或不是一个领域

此代码段中的setContentView行中发生此错误:

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
Run Code Online (Sandbox Code Playgroud)

我知道为了解析R.layout.main,必须存在名为res/layout/main.xml的文件.

它存在且有效(即Eclipse将其标记为完美且没有任何错误).那么,还有什么可能导致这个错误?

顺便说一下,我已经尝试过Project> Clean.错误仍然存​​在.

android android-manifest android-layout

32
推荐指数
2
解决办法
9万
查看次数

如何在服务中启动新线程?

我正在开发一个Android应用程序,我正在做一些繁重的工作(将来自在线网页的数据并将其解析为存储在数据库中)在服务中.目前,它需要大约20多个分钟,而这一次我的UI被卡住了.我正在考虑在服务中使用一个线程,所以我的UI不会卡住,但它会给出错误.我使用以下代码:

Thread thread = new Thread()
{
      @Override
      public void run() {
          try {
              while(true) {
                  sleep(1000);
                  Toast.makeText(getBaseContext(), "Running Thread...", Toast.LENGTH_LONG).show();
              }
          } catch (InterruptedException e) {
           Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG).show();
          }
      }
  };

thread.start();
Run Code Online (Sandbox Code Playgroud)

这个简单的代码给出了运行时错误.即使我取出while循环,它仍然无法正常工作.拜托,任何人都可以告诉我我在做什么错.显然,我直接从电子书中复制了这段代码.它可以起作用但不是.

android

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

在Android 1.6中启动没有过渡动画的新活动

我知道从API级别5可以在意图中指定一个标志,以防止在我开始新活动时应用正常动画:

myIntent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
Run Code Online (Sandbox Code Playgroud)

但是,我的问题是:有没有办法在支持Android 1.6的应用程序中实现相同的功能?

animation android android-intent android-activity

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

如何设置按钮灰色和不可点击?

我想设置按钮不可点击,看起来像一个按钮的深灰色图像?

这可能吗?

android

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

PHP,如何通过零捕获除法?

我有一个必须动态创建的大型数学表达式.例如,一旦我解析了"某事",结果将是一个字符串,如:"$foo+$bar/$baz";.

所以,为了计算该表达式的结果,我正在使用eval函数......这样的事情:

eval("\$result = $expresion;");
echo "The result is: $result";
Run Code Online (Sandbox Code Playgroud)

这里的问题是,有时我会得到错误,表示存在除零的错误,而且我不知道如何捕获该异常.我尝试过这样的事情:

eval("try{\$result = $expresion;}catch(Exception \$e){\$result = 0;}");
echo "The result is: $result";
Run Code Online (Sandbox Code Playgroud)

要么:

try{
    eval("\$result = $expresion;");
}
catch(Exception $e){
    $result = 0;
}
echo "The result is: $result";
Run Code Online (Sandbox Code Playgroud)

但它不起作用.那么,如果存在除零值,我怎么能避免我的应用程序崩溃?

编辑:

首先,我想澄清一下:表达式是动态构建的,所以如果分母为零,我不能只评估它.那么......关于Mark Ba​​ker的评论,让我举个例子.我的解析器可以构建这样的东西:

"$foo + $bar * ( $baz / ( $foz - $bak ) )"
Run Code Online (Sandbox Code Playgroud)

解析器逐步构建字符串而不用担心变量的值...所以在这种情况下如果$foz == $bak实际上除以零:$baz / ( 0 ).

另一方面,正如皮特建议的那样,我尝试过:

<?php
$a = 5;
$b = 0;

if(@eval(" …
Run Code Online (Sandbox Code Playgroud)

php exception divide-by-zero

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

如何从ListView获取所选项目?

在我的Android应用程序中,我创建了一个名为myList的ListView组件,并用我自己的自定义类型的对象填充它:

class MyClass{

    private String displayName;
    private String theValue;
... //here constructor, getters, setters and toString() are implemented

}
Run Code Online (Sandbox Code Playgroud)

我使用ArrayAdapter将ArrayList theObjects绑定到myList:

ArrayAdapter<MyClass> adapter= 
                new ArrayAdapter<MyClass>(this, R.layout.lay_item, theObjects);
myList.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)

这工作正常,列表填充等等,但当我尝试访问所选项目时,我收到一个Null对象.我已经完成了这个

myList.setOnItemClickListener(new OnItemClickListener() {

   public void onItemClick(AdapterView<?> adapter, View v, int position, long id) {

MyClass selItem = (MyClass) myList.getSelectedItem(); //
String value= selItem.getTheValue(); //getter method

}
Run Code Online (Sandbox Code Playgroud)

什么似乎是问题?谢谢

android listview

27
推荐指数
5
解决办法
15万
查看次数