摘要:
做项目的时候,如果ListView或者gridView为空,进入界面一大片的空白,不是很好看,这个时候我们希望没有数据的时候给出提示,完全可以通过手动判断,当ListView中的size为0,显示或者隐藏某个TextView。但是略显麻烦。下面说两种显示的方法。第一种:分两种情况,如果继承的是ListActivity:<ListView android:id="@id/android:list".../> <TextView android:id="@id/android:empty.../> 当列表为空时就会自动显示TextView 。如 阅读全文
摘要:
从网络上加载XML资源,其中包括图片,我们要做的解析XML里面的数据,并且把图片缓存到本地一个cache目录里面,并且用一个自定义的Adapter去填充到LIstView:对象类public class Contact { int id; String image; String name; public Contact() { super(); } public Contact(int id, String image, String name) { ... 阅读全文
摘要:
在开发移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行,避免其占用主线程而给用户带来不好的用户体验。但是在子线程中无法去操作主线程(UI 线程),在子线程中操作UI线程会出现错误。因此android提供了一个类Handler来在子线程中来更新UI线程,用发消息的机制更新UI界面,呈现给用户。这样就解决了子线程更新UI的问题。但是费时的任务操作总会启动一些匿名的子线程,太多的子线程给系统带来巨大的负担,随之带来一些性能问题。因此android提供了一个工具类AsyncTask,顾名思义异步执行任务。这个AsyncTask生来就是处理一些后台的比较耗时的任务,给 阅读全文
摘要:
在Android开发中我们经常有这样的需求,从服务器上下载xml或者JSON类型的数据,其中包括一些图片资源,本demo模拟了这个需求,从网络上加载XML资源,其中包括图片,我们要做的解析XML里面的数据,并且把图片缓存到本地一个cache目录里面,并且用一个自定义的Adapter去填充到LIstView,demo运行效果见下图:通过这个demo,要学会有一下几点1.怎么解析一个XML2.demo中用到的缓存图片到本地一个临时目录的思想是怎样的?3.AsyncTask类的使用,因为要去异步的加载数据,就必须开启线程,但是在开启线程的时有时候不能很好的控制线程的数量,线程数量太大的时候手机会很快 阅读全文
摘要:
下载文件会阻塞UI主线程,所以需要new一个新线程来执行下载操作,通过handler执行更新UI进度条操作。代码如下:public class AndroidTest extends Activity { private static final String TAG = "AndroidTest"; private ProgressBar progressBar = null; private Button startButton = null; private EditText filenameText = null; private MyHandler ha... 阅读全文
摘要:
1.java代码,下载图片的主程序先实现显示图片,然后点击下载图片按钮,执行下载功能。从网络上取得的图片,生成Bitmap时有两种方法,一种是先转换为byte[],再生成bitmap;一种是直接用InputStream生成bitmap。(1)ICS4.0及更高版本中的实现4.0中不允许在主线程,即UI线程中操作网络,所以必须新开一个线程,在子线程中执行网络连接;然后在主线程中显示图片。public class IcsTestActivity extends Activity { private final static String TAG = "IcsTestActivity&qu 阅读全文