这可能不是很优雅,但我要做的是连接到Web服务,获取JSON,解析它,从中创建一个对象,将该对象添加到ArrayList,然后使用该ArrayList填充我的列表显示.
我正在尝试使用AsyncTask完成所有这些工作.
摘要:doInBackgroud获取URL的String,使用它连接到Web服务.我将JSON数据作为字符串获取,解析它,从数据中构造一个新对象,并将其添加到ArrayList.然后在onPostExecute我试图使用一个ArrayAdapter利用我的ArrayList 设置listadapter .
这就是我所拥有的:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.StringWriter;
import java.io.Writer;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import org.json.JSONArray;
import org.json.JSONObject;
import oauth.signpost.OAuthConsumer;
import oauth.signpost.basic.DefaultOAuthConsumer;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.ArrayAdapter;
public class AllOffersListActivity extends ListActivity {
private static final String CONSUMER_KEY = "bla";
private static final String CONSUMER_SECRET = "bla";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new CreateArrayListTask().execute("http://example.com/sample.json");
}
private …Run Code Online (Sandbox Code Playgroud) 使用dom和DocumentBuilder解析xml时遇到一些麻烦.我能够让它工作,但我想我对所有子节点等有点困惑.
这是我正在使用的XML:
<?xml version="1.0" encoding="utf-8"?>
<LabTests>
<LabTest type="specialty" name="Anti-FXa activity" id="antiFXa" order="16">
<values unit="U/mL" default="N/A">
<value type="increased" val="0">
<conditions>
<condition>Heparin effect</condition>
</conditions>
</value>
<value type="normal" val="">
<conditions></conditions>
</value>
<value type="decreased" val="">
<conditions></conditions>
</value>
</values>
</LabTest>
<LabTest type="general" name="aPTT" id="aPTT" order="">
<values unit="secs" default="N/A">
<value type="increased" val="">
<conditions>
<condition>Acquired hemophilia</condition>
<condition>Acquired vWD</condition>
<condition>DIC</condition>
<condition>Dysfibrinogenemia</condition>
<condition>FI deficiency</condition>
<condition>FII deficiency</condition>
<condition>FII/IIa inhibitors</condition>
<condition>FIX deficiency</condition>
<condition>FIX inhibitors</condition>
<condition>FV deficiency</condition>
<condition>FV inhibitors</condition>
<condition>FVIII deficiency</condition>
<condition>FX deficiency</condition>
<condition>FX inhibitors</condition>
<condition>FXI deficiency</condition>
<condition>FXI inhibitors</condition>
<condition>FXII deficiency</condition>
<condition>FXII …Run Code Online (Sandbox Code Playgroud) 我想以-5:00(例如我们在纽约)的形式结束一个字符串.使用Joda进行此操作的最佳方法是什么?
我创建了一个repo,并在本地将现有的项目目录拖放到repo中.然后我做了类似git add directory /的事情并提交并推送它.当我在github上查看我的repo时,我看到的是没有子文件夹,没有内容的目录.如何将该项目的所有文件和子文件夹推送到repo?
除了我的应用程序进程外,我想从日志中过滤掉所有内容.我知道我可以指定优先级,但我希望能够做到更多.我想摆脱正在记录的手机中正在发生的所有其他事情.我怎样才能做到这一点?
所以,我是在一个单独的线程中播放音乐.如果我离开应用程序(onPause(),onStop()被调用等),音乐将继续播放,但最终 - 打开其他应用程序并在它们之间切换并返回主屏幕 - 我的应用程序被杀死.没有崩溃,只是一个WIN DEATH和process com.myapp.android has died在logcat中.显然,系统为了回收资源而销毁应用程序是合法的.
我的问题是:在主(UI)线程的线程中运行东西是否意味着它现在具有较低的优先级,就系统而言?这意味着,它是否比我在运行媒体播放器Service甚至用于startForeground()使服务在前台运行更可能被杀死?
任何想法或澄清将不胜感激!
编辑
此外,部分服务文档让我感到困惑.在相关部分,它指出:
警告:服务在其托管进程的主线程中运行 - 该服务不会创建自己的线程,也不会在单独的进程中运行(除非您另行指定).这意味着,如果您的服务要进行任何CPU密集型工作或阻止操作(例如MP3播放或网络),您应该在服务中创建一个新线程来完成这项工作.
我总是在主线程的服务中运行MP3播放,并且UI保持响应.如果我应该把它放在上面引文中推荐的一个单独的线程中,那么我最终不会回到我开始的地方,即主要线程发生媒体播放,从而增加了回放的可能性打开其他应用程序等时被杀?
关于这个问题还有其他问题,但我正在试图如何处理这样的单元测试:
public class Semaphore extends Lock {
private AtomicInteger semaphore = new AtomicInteger(0);
public synchronized boolean available() {
return semaphore.intValue() == 0;
}
public synchronized void acquire() {
semaphore.incrementAndGet();
}
public synchronized void release() {
semaphore.decrementAndGet();
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的朴素锁定机制(仅用于学习目的).我该如何测试这个线程的安全性?我知道在单元测试并发代码方面没有任何保证,但是我怎样才能编写单元测试ATTEMPTS来测试这种锁定机制中固有的明显不变量?
有没有人知道任何工具(除了DroidDraw)可以帮助我更快地创建我的项目的基础知识?我正在寻找一些可以让我快速为我的布局生成XML的东西,这样我就不必坐在那里像机器人一样打字这么久了.
谢谢!
我正在使用Mac,我正在尝试在桌面上指定文件的路径.
我就是这样做的: File file = new File("/users/desktop/sample.json");
当我尝试运行它时,我得到了一个FileNotFoundException.
如何正确指定路径?
我不小心删除了我的gen文件夹,现在,可以预见,我的资源都搞砸了.我自己创建了一个gen文件夹,并尝试投影>清理 - 这不起作用.尝试右击项目并转到Android工具>修复项目属性 - 没有用.尝试自动取消检查构建...不起作用.清理,关闭项目,关闭日食,重新启动等等.什么都没有工作,我一直看到这个错误:gen already exists but is not a source folder. Convert to a source folder or rename it.
编辑 - 确定能够生成R.java,但现在我在控制台中变得疯狂:
[2011-06-14 17:06:11 - fastapp]转换为Dalvik格式失败,错误1 [2011-06-14 17:06:42 - fastapp] Dx故障处理"java/awt/font/NumericShaper.class" :
Run Code Online (Sandbox Code Playgroud)Ill-advised or mistaken usage of a core class (java.* or javax.*) when not building a core library. This is often due to inadvertently including a core library file in your application's project, when using an IDE (such as Eclipse). If you are sure you're not …