《Android 应用 之路》 天气预报(三)

昨天介绍了基本的载入界面,今天介绍下天气信息显示界面的代码

  1. 基本ListView显示
  2. 搜索框,查询城市 上一篇文章中,载入界面通过showWeatherInfo()方法跳转到天气信息显示界面

《Android 应用 之路》 天气预报(二)

界面组成

  1. 载入界面
  2. 显示界面 Activity两个,一个用来显示载入界面,一个用来显示天气信息

《Android Framework 之路》多线程

多线程编程

JAVA多线程方式

  1. 继承Thread线程,实现run方法
  2. 实现Runnable接口 JAVA单继承性,当我们想将一个已经继承了其他类的子类放到Thread中时,单继承的局限就体现出来了
    但是可以实现多个接口,所以第二种方法相对于第一种来说灵活许多
    其次,通过
    new Thread(Runnable runnable).start()
    启动线程的方式,若变量在runnable中定义,多个线程可以共用,因为来自同一个对象
    比较适合多个相同程序代码的线程去处理同一资源的情况

《Android 应用 之路》 天气预报(一)

Android天气预报客户端

设计思路

  1. 欢迎界面,版本号,应用名 + 数据后台加载(所有城市的信息获取)
  2. 数据加载完成后跳转到显示界面,显示所有查询到的城市的天气信息
  3. 欢迎界面和天气显示界面分别为单独的Activity
  4. Activity数据传递使用Bundle
  5. 网络请求采用Google原始的Volley包
  6. 后台数据请求采用异步AsyncTask的方式以及实时的进度条的更新
  7. 天气显示界面采用简单的ListView ####使用的Android内容####
  8. Activity的跳转以及数据的传递
  9. 网络数据请求以及Json数据的解析
  10. Volley的初级使用
  11. ListView的初级使用
  12. AsyncTask的初级使用
  13. ProgressBar的初级使用

《Android HAL 之路》 HAL 简介

HAL层概述

名称: HAL, Hardware Abstracting Layer,中文名字:硬件抽象层。
作用:对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。向上衔接Android Runtime和Framework,向下衔接驱动程序
产生原因:利益,竞争

Android代码结构中,HAL层的内容主要集中在Hardware目录中,结合之前讲解Camera模块的时候提到的
system/lib/hw/camera.$(TARGET_BOARD_PLATFORM).so

HAL层的内容集成在动态库中,然后CameraService通过这个So访问其中的内容。

《Android 应用 之路》简易贪吃蛇

最简单的贪吃蛇

最近想着忙里偷闲写点简单的Android应用,增加一些生活乐趣,由于平时工作主要精力并不是集中在书写apk上,更多的是解决代码问题和维护模块稳定,但是写代码本身是一件比较有趣的事情,因为这个过程是从无到有的。

《Android Framework 之路》Android5.1 MediaScanner

前言

MediaScanner是Android系统中针对媒体文件的扫描过程,将储存空间中的媒体文件通过扫描的方式遍历并存储在数据库中,然后通过MediaProvider提供接口使用,在Android多媒体中占有很重要的位置。

《Android Framework 之路》Android5.1 Camera Framework(四)——框架总结

前言

从之前的几篇文件,可以基本弄清楚 Camera从APK,经过framework的衔接,与HAL层进行交互,最终通过驱动完成Camera的一些动作。

《Android Framework 之路》Android5.1 Camera Framework(三)

上一次讲解了一下startPreview过程,主要是为了画出一条大致的从上到下的线条,今天我们看一下Camera在Framework的sendCommand和dataCallback,这部分属于衔接过程,可以看到上下是如何交流沟通的。

《Android Framework 之路》Android5.1 Camera Framework(二)

上一次讲解了一下CameraService的启动过程,今天梳理一下Camera预览的过程

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×